pwn 0.4.407 → 0.4.411

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9042d04424833fdac16b887039d8f7810923d9917649f620209452b606a9131b
4
- data.tar.gz: 62d4e5929aaed74dcc5d6518d1d87cce93da269ab018e69bdf7f5d007e8dfec7
3
+ metadata.gz: e38a582864ee5d0b2b52f536e79a9d7267d84691eefeaeee91dd593d26a417b9
4
+ data.tar.gz: dc5b595018b4c7f1f7abb28c14aa752e7b522802d2c230d62cd359f7d3629c6f
5
5
  SHA512:
6
- metadata.gz: 26a0e9ce0985ecba133464d4c3b8e7bf144fd5c760714117defc77186569d84981af5158ded4e5ff21da4664635c90195d2b50c43c8d767728bcfabf72aa1527
7
- data.tar.gz: 2cc048cd0f862c0a01fdfbddda62421404e31dbb0c6f7591d682148648879a88c947797a31ea7fd83438bdd9f41828e8720d12d67339c1c9547496a5a35321ca
6
+ metadata.gz: f4efb201692bfb43f4d50030f29098210876f72697a4e93ecc818ce8c1d6ab7e8e0d96c2ce88c07764e50d8001e23c8275e5fc7fbca3a8571dcbcd650eb57c7c
7
+ data.tar.gz: 1979be2303e92c5a4d2d026b889c8cd91cdb62904c331df73be1a0be33a004fe93f1e7129750f86be29da123f1b45f9a233fe7082d06792ae50e409d7b9e5d76
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.1
1
+ 3.1.2
data/Gemfile CHANGED
@@ -17,12 +17,13 @@ gem 'authy', '3.0.0'
17
17
  gem 'aws-sdk', '3.1.0'
18
18
  gem 'bettercap', '1.6.2'
19
19
  gem 'brakeman', '5.2.2'
20
- gem 'bson', '4.14.1'
21
- gem 'bundler', '>=2.3.11'
20
+ gem 'bson', '4.15.0'
21
+ gem 'bundler', '>=2.3.12'
22
22
  gem 'bundler-audit', '0.9.0.1'
23
23
  gem 'bunny', '2.19.0'
24
24
  gem 'colorize', '0.8.1'
25
25
  gem 'credit_card_validations', '5.0.0'
26
+ gem 'eventmachine', '1.2.7'
26
27
  gem 'faye-websocket', '0.11.1'
27
28
  gem 'gdb', '1.0.0'
28
29
  gem 'gist', '6.0.0'
@@ -58,9 +59,9 @@ gem 'rex', '2.0.13'
58
59
  gem 'rmagick', '4.2.5'
59
60
  gem 'rspec', '3.11.0'
60
61
  gem 'rtesseract', '3.1.2'
61
- gem 'rubocop', '1.27.0'
62
+ gem 'rubocop', '1.28.1'
62
63
  gem 'rubocop-rake', '0.6.0'
63
- gem 'rubocop-rspec', '2.9.0'
64
+ gem 'rubocop-rspec', '2.10.0'
64
65
  gem 'ruby-audio', '1.6.1'
65
66
  gem 'ruby-nmap', '0.10.0'
66
67
  gem 'ruby-saml', '1.14.0'
data/README.md CHANGED
@@ -31,13 +31,13 @@ Leveraging various pre-built modules and the pwn prototyper, you can mix-and-mat
31
31
  Tested on Linux, & OSX leveraging Ruby via RVM.
32
32
 
33
33
  ```
34
- $ rvm use ruby-3.1.1@global
34
+ $ rvm use ruby-3.1.2@global
35
35
  $ rvm gemset create pwn
36
- $ rvm use ruby-3.1.1@pwn
36
+ $ rvm use ruby-3.1.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.407]:001 >>> PWN.help
40
+ pwn[v0.4.411]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -48,11 +48,11 @@ pwn[v0.4.407]:001 >>> PWN.help
48
48
  It's wise to update pwn often as numerous versions are released/week:
49
49
  ```
50
50
  $ rvm list gemsets
51
- $ rvm use ruby-3.1.1@pwn
51
+ $ rvm use ruby-3.1.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.407]:001 >>> PWN.help
55
+ pwn[v0.4.411]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/Vagrantfile CHANGED
@@ -7,13 +7,13 @@ require 'pathname'
7
7
 
8
8
  API_VERSION = '2'
9
9
  pwn_root = Pathname.new(__FILE__).realpath.expand_path.parent
10
- vagrant_gui = ENV['VAGRANT_GUI'] if ENV['VAGRANT_GUI']
11
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
10
+ vagrant_gui = ENV.fetch('VAGRANT_GUI') if ENV.fetch('VAGRANT_GUI')
11
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
12
12
  runtime_userland = 'vagrant_rsync_userland_configs.lst'
13
13
  template_userland = "#{pwn_root}/vagrant_rsync_userland_template.lst"
14
14
 
15
15
  if pwn_provider == 'docker'
16
- docker_container_target = ENV['DOCKER_CONTAINER_TARGET'] if ENV['DOCKER_CONTAINER_TARGET']
16
+ docker_container_target = ENV.fetch('DOCKER_CONTAINER_TARGET') if ENV.fetch('DOCKER_CONTAINER_TARGET')
17
17
  docker_create_args = [
18
18
  '--interactive',
19
19
  '--tty'
@@ -77,7 +77,7 @@ if opts.empty?
77
77
  exit 1
78
78
  end
79
79
 
80
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
80
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
81
81
 
82
82
  dir_path = opts[:dir_path].to_s.scrub
83
83
  target = opts[:target]
data/bin/pwn_sast CHANGED
@@ -44,7 +44,7 @@ if opts.empty?
44
44
  end
45
45
 
46
46
  begin
47
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
47
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
48
48
 
49
49
  green = "\e[32m"
50
50
  end_of_color = "\e[0m"
data/build_pwn_gem.sh CHANGED
@@ -1,10 +1,6 @@
1
1
  #!/bin/bash --login
2
- if [[ $PWN_ROOT == '' ]]; then
3
- if [[ ! -d '/pwn' ]]; then
4
- pwn_root=$(pwd)
5
- else
6
- pwn_root='/pwn'
7
- fi
2
+ if [[ -d '/opt/pwn' ]]; then
3
+ pwn_root='/opt/pwn'
8
4
  else
9
5
  pwn_root="${PWN_ROOT}"
10
6
  fi
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/bin/bash --login
2
2
  if [[ $1 != "" && $2 != "" && $3 != "" ]]; then
3
3
  # Default Strategy is to merge codebase
4
4
  git config pull.rebase false
data/install.sh CHANGED
@@ -1,10 +1,6 @@
1
1
  #!/bin/bash --login
2
- if [[ $PWN_ROOT == '' ]]; then
3
- if [[ ! -d '/pwn' ]]; then
4
- pwn_root=$(pwd)
5
- else
6
- pwn_root='/pwn'
7
- fi
2
+ if [[ -d '/opt/pwn' ]]; then
3
+ pwn_root='/opt/pwn'
8
4
  else
9
5
  pwn_root="${PWN_ROOT}"
10
6
  fi
@@ -17,8 +17,8 @@ module PWN
17
17
  if opts[:yaml_conf] && File.exist?(opts[:yaml_conf])
18
18
  yaml_conf = YAML.load_file(opts[:yaml_conf].to_s.strip.chomp.scrub)
19
19
  else
20
- pwn_root = ENV['PWN_ROOT'] if ENV['PWN_ROOT']
21
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
20
+ pwn_root = ENV.fetch('PWN_ROOT') if ENV.fetch('PWN_ROOT')
21
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
22
22
  yaml_conf = YAML.load_file("#{pwn_root}/etc/userland/#{pwn_provider}/metasploit/vagrant.yaml")
23
23
  end
24
24
 
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.407'
4
+ VERSION = '0.4.411'
5
5
  end
@@ -21,15 +21,15 @@ end
21
21
  action = opts[:action].to_s.scrub.to_sym
22
22
 
23
23
  def start
24
- if ENV['PWN_ROOT']
25
- pwn_root = ENV['PWN_ROOT']
24
+ if ENV.fetch('PWN_ROOT')
25
+ pwn_root = ENV.fetch('PWN_ROOT')
26
26
  elsif Dir.exist?('/pwn')
27
27
  pwn_root = '/pwn'
28
28
  else
29
29
  pwn_root = Dir.pwd
30
30
  end
31
31
 
32
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
32
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
33
33
  metasploit_root = '/opt/metasploit-framework-dev'
34
34
 
35
35
  msfrpcd_config = YAML.load_file("#{pwn_root}/etc/userland/#{pwn_provider}/metasploit/vagrant.yaml")
@@ -4,7 +4,9 @@
4
4
  "aws_secret_access_key": "{{ env `AWS_SECRET_ACCESS_KEY` }}",
5
5
  "aws_ssh_keypair_name": "{{ env `AWS_SSH_KEYPAIR_NAME` }}",
6
6
  "aws_ssh_private_key_file": "{{ env `AWS_SSH_PRIVATE_KEY_FILE` }}",
7
- "box_version": "{{ env `BOX_VERSION` }}"
7
+ "box_version": "{{ env `BOX_VERSION` }}",
8
+ "pwn_root": "{{ env 'PWN_ROOT' }}",
9
+ "pwn_provider": "{{ PWN_PROVIDER=aws }}"
8
10
  },
9
11
  "builders": [{
10
12
  "type": "amazon-ebs",
@@ -32,8 +34,8 @@
32
34
  {
33
35
  "type": "shell",
34
36
  "environment_vars": [
35
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
36
- "PWN_PROVIDER=aws"
37
+ "PWN_ROOT={{user `pwn_root` }}",
38
+ "PWN_PROVIDER={{user `pwn_provider` }}"
37
39
  ],
38
40
  "scripts": [
39
41
  "provisioners/upload_globals.sh",
@@ -52,8 +54,8 @@
52
54
  "pause_before": "180s",
53
55
  "type": "shell",
54
56
  "environment_vars": [
55
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
56
- "PWN_PROVIDER=aws"
57
+ "PWN_ROOT={{user `pwn_root` }}",
58
+ "PWN_PROVIDER={{user `pwn_provider` }}"
57
59
  ],
58
60
  "scripts": [
59
61
  "provisioners/update_os.sh"
@@ -71,8 +73,8 @@
71
73
  "pause_before": "180s",
72
74
  "type": "shell",
73
75
  "environment_vars": [
74
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
75
- "PWN_PROVIDER=aws"
76
+ "PWN_ROOT={{user `pwn_root` }}",
77
+ "PWN_PROVIDER={{user `pwn_provider` }}"
76
78
  ],
77
79
  "scripts": [
78
80
  "provisioners/coreutils.sh",
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "variables": {
3
3
  "vagrant_cloud_token": "{{ env `VAGRANT_CLOUD_TOKEN` }}",
4
- "box_version": "{{ env `BOX_VERSION` }}"
4
+ "box_version": "{{ env `BOX_VERSION` }}",
5
+ "pwn_root": "{{ env 'PWN_ROOT' }}",
6
+ "pwn_provider": "{{ PWN_PROVIDER=qemu }}"
5
7
  },
6
8
  "builders": [{
7
9
  "type": "qemu",
@@ -39,8 +41,8 @@
39
41
  {
40
42
  "type": "shell",
41
43
  "environment_vars": [
42
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
43
- "PWN_PROVIDER=qemu"
44
+ "PWN_ROOT={{user `pwn_root` }}",
45
+ "PWN_PROVIDER={{user `pwn_provider` }}"
44
46
  ],
45
47
  "scripts": [
46
48
  "provisioners/upload_globals.sh",
@@ -75,8 +77,8 @@
75
77
  "pause_before": "180s",
76
78
  "type": "shell",
77
79
  "environment_vars": [
78
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
79
- "PWN_PROVIDER=qemu"
80
+ "PWN_ROOT={{user `pwn_root` }}",
81
+ "PWN_PROVIDER={{user `pwn_provider` }}"
80
82
  ],
81
83
  "scripts": [
82
84
  "provisioners/coreutils.sh",
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "variables": {
3
3
  "vagrant_cloud_token": "{{env `VAGRANT_CLOUD_TOKEN`}}",
4
- "box_version": "{{env `BOX_VERSION`}}"
4
+ "box_version": "{{env `BOX_VERSION`}}",
5
+ "pwn_root": "{{ env 'PWN_ROOT' }}",
6
+ "pwn_provider": "{{ PWN_PROVIDER=virtualbox }}"
5
7
  },
6
8
  "builders": [{
7
9
  "type": "virtualbox-iso",
@@ -43,8 +45,8 @@
43
45
  {
44
46
  "type": "shell",
45
47
  "environment_vars": [
46
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
47
- "PWN_PROVIDER=virtualbox"
48
+ "PWN_ROOT={{user `pwn_root` }}",
49
+ "PWN_PROVIDER={{user `pwn_provider` }}"
48
50
  ],
49
51
  "scripts": [
50
52
  "provisioners/upload_globals.sh",
@@ -63,8 +65,8 @@
63
65
  "pause_before": "180s",
64
66
  "type": "shell",
65
67
  "environment_vars": [
66
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
67
- "PWN_PROVIDER=virtualbox"
68
+ "PWN_ROOT={{user `pwn_root` }}",
69
+ "PWN_PROVIDER={{user `pwn_provider` }}"
68
70
  ],
69
71
  "scripts": [
70
72
  "provisioners/install_vagrant_ssh_key.sh",
@@ -83,8 +85,8 @@
83
85
  "pause_before": "180s",
84
86
  "type": "shell",
85
87
  "environment_vars": [
86
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
87
- "PWN_PROVIDER=virtualbox"
88
+ "PWN_ROOT={{user `pwn_root` }}",
89
+ "PWN_PROVIDER={{user `pwn_provider` }}"
88
90
  ],
89
91
  "scripts": [
90
92
  "provisioners/virtualbox_guest_additions.sh"
@@ -102,8 +104,8 @@
102
104
  "pause_before": "180s",
103
105
  "type": "shell",
104
106
  "environment_vars": [
105
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
106
- "PWN_PROVIDER=virtualbox"
107
+ "PWN_ROOT={{user `pwn_root` }}",
108
+ "PWN_PROVIDER={{user `pwn_provider` }}"
107
109
  ],
108
110
  "scripts": [
109
111
  "provisioners/coreutils.sh",
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "variables": {
3
3
  "vagrant_cloud_token": "{{ env `VAGRANT_CLOUD_TOKEN` }}",
4
- "box_version": "{{ env `BOX_VERSION` }}"
4
+ "box_version": "{{ env `BOX_VERSION` }}",
5
+ "pwn_root": "{{ env 'PWN_ROOT' }}",
6
+ "pwn_provider": "{{ PWN_PROVIDER=vmware }}"
5
7
  },
6
8
  "builders": [{
7
9
  "type": "vmware-iso",
@@ -43,8 +45,8 @@
43
45
  {
44
46
  "type": "shell",
45
47
  "environment_vars": [
46
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
47
- "PWN_PROVIDER=vmware"
48
+ "PWN_ROOT={{user `pwn_root` }}",
49
+ "PWN_PROVIDER={{user `pwn_provider` }}"
48
50
  ],
49
51
  "scripts": [
50
52
  "provisioners/upload_globals.sh",
@@ -63,8 +65,8 @@
63
65
  "pause_before": "180s",
64
66
  "type": "shell",
65
67
  "environment_vars": [
66
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
67
- "PWN_PROVIDER=vmware"
68
+ "PWN_ROOT={{user `pwn_root` }}",
69
+ "PWN_PROVIDER={{user `pwn_provider` }}"
68
70
  ],
69
71
  "scripts": [
70
72
  "provisioners/install_vagrant_ssh_key.sh",
@@ -83,8 +85,8 @@
83
85
  "pause_before": "180s",
84
86
  "type": "shell",
85
87
  "environment_vars": [
86
- "PWN_ROOT=\$(ruby -r pwn -e 'puts \"#{Gem.path.first}/gems/pwn-#{PWN::VERSION}\"')",
87
- "PWN_PROVIDER=vmware"
88
+ "PWN_ROOT={{user `pwn_root` }}",
89
+ "PWN_PROVIDER={{user `pwn_provider` }}"
88
90
  ],
89
91
  "scripts": [
90
92
  "provisioners/coreutils.sh",
@@ -5,15 +5,15 @@ require 'yaml'
5
5
 
6
6
  # Install Metasploit from Source
7
7
  printf 'Installing Metasploit *****************************************************************'
8
- if ENV['PWN_ROOT']
9
- pwn_root = ENV['PWN_ROOT']
8
+ if ENV.fetch('PWN_ROOT')
9
+ pwn_root = ENV.fetch('PWN_ROOT')
10
10
  elsif Dir.exist?('/pwn')
11
11
  pwn_root = '/pwn'
12
12
  else
13
13
  pwn_root = Dir.pwd
14
14
  end
15
15
 
16
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
16
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
17
17
 
18
18
  metasploit_root = '/opt/metasploit-framework-dev'
19
19
  `sudo git clone https://github.com/rapid7/metasploit-framework.git #{metasploit_root}`
@@ -10,7 +10,11 @@ else
10
10
  fi
11
11
 
12
12
  sudo tee -a $pwn_env_file << EOF
13
- export PWN_ROOT=\$(ruby -r pwn -e 'puts "#{Gem.path.first}/gems/pwn-#{PWN::VERSION}"')
13
+ export PWN_ROOT=\$(
14
+ source /etc/profile.d/rvm.sh; \
15
+ ruby -r pwn -e 'puts "#{Gem.path.first}/gems/pwn-#{PWN::VERSION}"' \
16
+ 2> /dev/null
17
+ )
14
18
  export PWN_PROVIDER='${pwn_provider}'
15
19
  EOF
16
20
 
@@ -1,11 +1,7 @@
1
1
  #!/bin/bash --login
2
2
  # USE THIS SCRIPT WHEN UPGRADING VERSIONS IN Gemfile
3
- if [[ $PWN_ROOT == '' ]]; then
4
- if [[ ! -d '/pwn' ]]; then
5
- pwn_root=$(pwd)
6
- else
7
- pwn_root='/pwn'
8
- fi
3
+ if [[ -d '/opt/pwn' ]]; then
4
+ pwn_root='/opt/pwn'
9
5
  else
10
6
  pwn_root="${PWN_ROOT}"
11
7
  fi
data/update_pwn.sh CHANGED
@@ -1,10 +1,6 @@
1
1
  #!/bin/bash --login
2
- if [[ $PWN_ROOT == '' ]]; then
3
- if [[ ! -d '/pwn' ]]; then
4
- pwn_root=$(pwd)
5
- else
6
- pwn_root='/pwn'
7
- fi
2
+ if [[ -d '/opt/pwn' ]]; then
3
+ pwn_root='/opt/pwn'
8
4
  else
9
5
  pwn_root="${PWN_ROOT}"
10
6
  fi
data/upgrade_ruby.sh CHANGED
@@ -1,11 +1,7 @@
1
1
  #!/bin/bash --login
2
2
  # USE THIS SCRIPT WHEN UPGRADING RUBY
3
- if [[ $PWN_ROOT == '' ]]; then
4
- if [[ ! -d '/pwn' ]]; then
5
- pwn_root=$(pwd)
6
- else
7
- pwn_root='/pwn'
8
- fi
3
+ if [[ -d '/opt/pwn' ]]; then
4
+ pwn_root='/opt/pwn'
9
5
  else
10
6
  pwn_root="${PWN_ROOT}"
11
7
  fi
@@ -43,4 +39,5 @@ cd $pwn_root && ./vagrant/provisioners/gem.sh
43
39
  rvmsudo rvm install ruby-$new_ruby_version
44
40
  echo $new_ruby_version > $pwn_root/.ruby-version
45
41
 
46
- cd $pwn_root && rvm use $new_ruby_version@$ruby_gemset && ./build_pwn_gem.sh
42
+ cd / && cd $pwn_root && rvm use $new_ruby_version@$ruby_gemset && ./build_pwn_gem.sh
43
+ rvmsudo gem pristine --all
@@ -5,15 +5,15 @@ require 'yaml'
5
5
  require 'digest'
6
6
  require 'fileutils'
7
7
 
8
- if ENV['PWN_ROOT']
9
- pwn_root = ENV['PWN_ROOT']
8
+ if ENV.fetch('PWN_ROOT')
9
+ pwn_root = ENV.fetch('PWN_ROOT')
10
10
  elsif Dir.exist?('/pwn')
11
11
  pwn_root = '/pwn'
12
12
  else
13
13
  pwn_root = Dir.pwd
14
14
  end
15
15
 
16
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
16
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
17
17
  userland_config = "#{pwn_root}/etc/userland/#{pwn_provider}/burpsuite/vagrant.yaml"
18
18
  userland_burpsuite_pro_jar_path = "#{pwn_root}/third_party/burpsuite-pro.jar"
19
19
  burpsuite_pro_jar_dest_path = "/opt/burpsuite/#{File.basename(userland_burpsuite_pro_jar_path)}"
@@ -4,15 +4,15 @@
4
4
  require 'yaml'
5
5
  require 'pwn'
6
6
 
7
- if ENV['PWN_ROOT']
8
- pwn_root = ENV['PWN_ROOT']
7
+ if ENV.fetch('PWN_ROOT')
8
+ pwn_root = ENV.fetch('PWN_ROOT')
9
9
  elsif Dir.exist?('/pwn')
10
10
  pwn_root = '/pwn'
11
11
  else
12
12
  pwn_root = Dir.pwd
13
13
  end
14
14
 
15
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
15
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
16
16
  jenkins_userland_config = YAML.load_file("#{pwn_root}/etc/userland/#{pwn_provider}/jenkins/vagrant.yaml")
17
17
  private_key_path = '/var/lib/jenkins/.ssh/id_rsa-pwn_jenkins'
18
18
  userland_ssh_keygen_pass = jenkins_userland_config['ssh_keygen_pass']
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- if ENV['PWN_ROOT']
5
- pwn_root = ENV['PWN_ROOT']
4
+ if ENV.fetch('PWN_ROOT')
5
+ pwn_root = ENV.fetch('PWN_ROOT')
6
6
  elsif Dir.exist?('/pwn')
7
7
  pwn_root = '/pwn'
8
8
  else
@@ -4,15 +4,15 @@
4
4
  require 'yaml'
5
5
 
6
6
  print "Installing Let's Encrypt **************************************************************"
7
- if ENV['PWN_ROOT']
8
- pwn_root = ENV['PWN_ROOT']
7
+ if ENV.fetch('PWN_ROOT')
8
+ pwn_root = ENV.fetch('PWN_ROOT')
9
9
  elsif Dir.exist?('/pwn')
10
10
  pwn_root = '/pwn'
11
11
  else
12
12
  pwn_root = Dir.pwd
13
13
  end
14
14
 
15
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
15
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
16
16
  letsencrypt_git = 'https://github.com/letsencrypt/letsencrypt'
17
17
  letsencrypt_root = '/opt/letsencrypt-git'
18
18
  letsencrypt_yaml = YAML.load_file("#{pwn_root}/etc/userland/#{pwn_provider}/letsencrypt/vagrant.yaml")
@@ -3,15 +3,15 @@
3
3
 
4
4
  require 'yaml'
5
5
 
6
- if ENV['PWN_ROOT']
7
- pwn_root = ENV['PWN_ROOT']
6
+ if ENVfetch('PWN_ROOT')
7
+ pwn_root = ENV.fetch('PWN_ROOT')
8
8
  elsif Dir.exist?('/pwn')
9
9
  pwn_root = '/pwn'
10
10
  else
11
11
  pwn_root = Dir.pwd
12
12
  end
13
13
 
14
- pwn_provider = ENV['PWN_PROVIDER'] if ENV['PWN_PROVIDER']
14
+ pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')
15
15
  jenkins_userland_config = YAML.load_file("#{pwn_root}/etc/userland/#{pwn_provider}/jenkins/vagrant.yaml")
16
16
  userland_user = jenkins_userland_config['user']
17
17
  userland_pass = jenkins_userland_config['pass']
@@ -10,7 +10,11 @@ else
10
10
  fi
11
11
 
12
12
  sudo tee -a $pwn_env_file << EOF
13
- export PWN_ROOT=\$(ruby -r pwn -e 'puts "#{Gem.path.first}/gems/pwn-#{PWN::VERSION}"')
13
+ export PWN_ROOT=\$(
14
+ source /etc/profile.d/rvm.sh; \
15
+ ruby -r pwn -e 'puts "#{Gem.path.first}/gems/pwn-#{PWN::VERSION}"' \
16
+ 2> /dev/null
17
+ )
14
18
  export PWN_PROVIDER='${pwn_provider}'
15
19
  EOF
16
20
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.407
4
+ version: 0.4.411
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-12 00:00:00.000000000 Z
11
+ date: 2022-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 4.14.1
103
+ version: 4.15.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 4.14.1
110
+ version: 4.15.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bundler
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.3.11
117
+ version: 2.3.12
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 2.3.11
124
+ version: 2.3.12
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler-audit
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +178,20 @@ dependencies:
178
178
  - - '='
179
179
  - !ruby/object:Gem::Version
180
180
  version: 5.0.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: eventmachine
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '='
186
+ - !ruby/object:Gem::Version
187
+ version: 1.2.7
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '='
193
+ - !ruby/object:Gem::Version
194
+ version: 1.2.7
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: faye-websocket
183
197
  requirement: !ruby/object:Gem::Requirement
@@ -660,14 +674,14 @@ dependencies:
660
674
  requirements:
661
675
  - - '='
662
676
  - !ruby/object:Gem::Version
663
- version: 1.27.0
677
+ version: 1.28.1
664
678
  type: :runtime
665
679
  prerelease: false
666
680
  version_requirements: !ruby/object:Gem::Requirement
667
681
  requirements:
668
682
  - - '='
669
683
  - !ruby/object:Gem::Version
670
- version: 1.27.0
684
+ version: 1.28.1
671
685
  - !ruby/object:Gem::Dependency
672
686
  name: rubocop-rake
673
687
  requirement: !ruby/object:Gem::Requirement
@@ -688,14 +702,14 @@ dependencies:
688
702
  requirements:
689
703
  - - '='
690
704
  - !ruby/object:Gem::Version
691
- version: 2.9.0
705
+ version: 2.10.0
692
706
  type: :runtime
693
707
  prerelease: false
694
708
  version_requirements: !ruby/object:Gem::Requirement
695
709
  requirements:
696
710
  - - '='
697
711
  - !ruby/object:Gem::Version
698
- version: 2.9.0
712
+ version: 2.10.0
699
713
  - !ruby/object:Gem::Dependency
700
714
  name: ruby-audio
701
715
  requirement: !ruby/object:Gem::Requirement
@@ -1943,14 +1957,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1943
1957
  requirements:
1944
1958
  - - ">="
1945
1959
  - !ruby/object:Gem::Version
1946
- version: 3.1.1
1960
+ version: 3.1.2
1947
1961
  required_rubygems_version: !ruby/object:Gem::Requirement
1948
1962
  requirements:
1949
1963
  - - ">="
1950
1964
  - !ruby/object:Gem::Version
1951
1965
  version: '0'
1952
1966
  requirements: []
1953
- rubygems_version: 3.3.11
1967
+ rubygems_version: 3.3.12
1954
1968
  signing_key:
1955
1969
  specification_version: 4
1956
1970
  summary: Automated Security Testing for CI/CD Pipelines & Beyond