pwn 0.4.406 → 0.4.410

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/Gemfile +5 -4
  4. data/README.md +5 -5
  5. data/Vagrantfile +3 -3
  6. data/bin/pwn_fuzz_net_app_proto +1 -1
  7. data/bin/pwn_sast +1 -1
  8. data/git_commit_test_reinit_gem.sh +1 -1
  9. data/lib/pwn/plugins/metasploit.rb +2 -2
  10. data/lib/pwn/sast/amqp_connect_as_guest.rb +1 -1
  11. data/lib/pwn/sast/apache_file_system_util_api.rb +1 -1
  12. data/lib/pwn/sast/aws.rb +1 -1
  13. data/lib/pwn/sast/banned_function_calls_c.rb +1 -1
  14. data/lib/pwn/sast/base64.rb +1 -1
  15. data/lib/pwn/sast/beef_hook.rb +1 -1
  16. data/lib/pwn/sast/cmd_execution_java.rb +1 -1
  17. data/lib/pwn/sast/cmd_execution_python.rb +1 -1
  18. data/lib/pwn/sast/cmd_execution_ruby.rb +1 -1
  19. data/lib/pwn/sast/cmd_execution_scala.rb +1 -1
  20. data/lib/pwn/sast/csrf.rb +1 -1
  21. data/lib/pwn/sast/deserial_java.rb +1 -1
  22. data/lib/pwn/sast/emoticon.rb +1 -1
  23. data/lib/pwn/sast/eval.rb +1 -1
  24. data/lib/pwn/sast/factory.rb +1 -1
  25. data/lib/pwn/sast/file_permission.rb +1 -1
  26. data/lib/pwn/sast/http_authorization_header.rb +1 -1
  27. data/lib/pwn/sast/inner_html.rb +1 -1
  28. data/lib/pwn/sast/keystore.rb +1 -1
  29. data/lib/pwn/sast/location_hash.rb +1 -1
  30. data/lib/pwn/sast/log4j.rb +1 -1
  31. data/lib/pwn/sast/logger.rb +1 -1
  32. data/lib/pwn/sast/outer_html.rb +1 -1
  33. data/lib/pwn/sast/password.rb +1 -1
  34. data/lib/pwn/sast/pom_version.rb +1 -1
  35. data/lib/pwn/sast/port.rb +1 -1
  36. data/lib/pwn/sast/private_key.rb +1 -1
  37. data/lib/pwn/sast/redirect.rb +1 -1
  38. data/lib/pwn/sast/redos.rb +1 -1
  39. data/lib/pwn/sast/shell.rb +1 -1
  40. data/lib/pwn/sast/sql.rb +1 -1
  41. data/lib/pwn/sast/ssl.rb +1 -1
  42. data/lib/pwn/sast/sudo.rb +1 -1
  43. data/lib/pwn/sast/task_tag.rb +1 -1
  44. data/lib/pwn/sast/throw_errors.rb +1 -1
  45. data/lib/pwn/sast/token.rb +1 -1
  46. data/lib/pwn/sast/version.rb +1 -1
  47. data/lib/pwn/sast/window_location_hash.rb +1 -1
  48. data/lib/pwn/version.rb +1 -1
  49. data/packer/daemons/msfrpcd.rb +3 -3
  50. data/packer/kali_rolling_aws_ami.json +9 -7
  51. data/packer/kali_rolling_qemu_kvm.json +7 -5
  52. data/packer/kali_rolling_virtualbox.json +11 -9
  53. data/packer/kali_rolling_vmware.json +9 -7
  54. data/packer/provisioners/metasploit.rb +3 -3
  55. data/packer/provisioners/upload_globals.sh +4 -1
  56. data/upgrade_ruby.sh +2 -1
  57. data/vagrant/provisioners/burpsuite_pro.rb +3 -3
  58. data/vagrant/provisioners/jenkins_ssh-keygen.rb +3 -3
  59. data/vagrant/provisioners/kali_customize.rb +2 -2
  60. data/vagrant/provisioners/letsencrypt.rb +3 -3
  61. data/vagrant/provisioners/update_jenkins_plugins.rb +3 -3
  62. data/vagrant/provisioners/upload_globals.sh +4 -1
  63. metadata +26 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ca787dc1efd010e00f6f164ee5bea7ab27729d7ca49cfffd25c8bf690a7926d
4
- data.tar.gz: a6c2b17c80db35664bb2b055bb9d04b27130ce7ed87969253aa4d43680eb33fc
3
+ metadata.gz: ac3b2c8c32ec0a1486e6844f0ff94c7c7d5bf17d26905d530c8a0582dac0599f
4
+ data.tar.gz: dd8bb1cb2bf951127544ca65a857adce7ce92e248f99d99041ac3ae05ca5318f
5
5
  SHA512:
6
- metadata.gz: 4c2bc1a1bbf290bc0b6b4dd057e1ea96b8a3fe8adf0f800719c97c376ae6c575713c130c23be20091c5bdd12c5bbe65dc23a205274c82da954287975b930856f
7
- data.tar.gz: 4952c0c735f69cb1c8625ed40c8ae85de363a89fad33ef619afb048942698f64aea0722e92ffa6451aa1aabcea9008b3d34d130bd1410bc7bd18eff857ef016a
6
+ metadata.gz: 9ff1dcbcb8f7b27f40bda87cf0777e3de6ba764678f8a1484569008310ab8b2fb11050286362e50cdfb72c3818481878dae07995afefb27f58899e23ac372094
7
+ data.tar.gz: 7d3d3e7024b3ec1d8f5cce15fc22b104be21bf8991569fc4c3387a9007425555f495c841cdb4ab7a46744df715212345980b3b4c9db42ff0192abfbdfdb08eb6
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.406]:001 >>> PWN.help
40
+ pwn[v0.4.410]: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.406]: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.406]:001 >>> PWN.help
55
+ pwn[v0.4.410]: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"
@@ -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
@@ -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
 
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'ACCOUNT MANAGEMENT',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=AC-2'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=AC-2'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -108,7 +108,7 @@ module PWN
108
108
  {
109
109
  sast_module: self,
110
110
  section: 'INFORMATION INPUT VALIDATION',
111
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
111
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
112
112
  }
113
113
  end
114
114
 
data/lib/pwn/sast/aws.rb CHANGED
@@ -111,7 +111,7 @@ module PWN
111
111
  {
112
112
  sast_module: self,
113
113
  section: 'TRANSMISSION CONFIDENTIALITY AND INTEGRITY',
114
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-8'
114
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-8'
115
115
  }
116
116
  rescue StandardError => e
117
117
  raise e
@@ -236,7 +236,7 @@ module PWN
236
236
  {
237
237
  sast_module: self,
238
238
  section: 'INFORMATION INPUT VALIDATION',
239
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
239
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
240
240
  }
241
241
  end
242
242
 
@@ -112,7 +112,7 @@ module PWN
112
112
  {
113
113
  sast_module: self,
114
114
  section: 'PROTECTION OF INFORMATION AT REST',
115
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-28'
115
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-28'
116
116
  }
117
117
  rescue StandardError => e
118
118
  raise e
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'MALICIOUS CODE PROTECTION',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
110
110
  }
111
111
  rescue StandardError => e
112
112
  raise e
@@ -111,7 +111,7 @@ module PWN
111
111
  {
112
112
  sast_module: self,
113
113
  section: 'INFORMATION INPUT VALIDATION',
114
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
114
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
115
115
  }
116
116
  rescue StandardError => e
117
117
  raise e
@@ -113,7 +113,7 @@ module PWN
113
113
  {
114
114
  sast_module: self,
115
115
  section: 'INFORMATION INPUT VALIDATION',
116
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
116
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
117
117
  }
118
118
  rescue StandardError => e
119
119
  raise e
@@ -121,7 +121,7 @@ module PWN
121
121
  {
122
122
  sast_module: self,
123
123
  section: 'INFORMATION INPUT VALIDATION',
124
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
124
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
125
125
  }
126
126
  rescue StandardError => e
127
127
  raise e
@@ -111,7 +111,7 @@ module PWN
111
111
  {
112
112
  sast_module: self,
113
113
  section: 'INFORMATION INPUT VALIDATION',
114
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
114
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
115
115
  }
116
116
  rescue StandardError => e
117
117
  raise e
data/lib/pwn/sast/csrf.rb CHANGED
@@ -107,7 +107,7 @@ module PWN
107
107
  {
108
108
  sast_module: self,
109
109
  section: 'MALICIOUS CODE PROTECTION',
110
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
110
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
111
111
  }
112
112
  end
113
113
 
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'INFORMATION INPUT VALIDATION',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
110
110
  }
111
111
  end
112
112
 
@@ -114,7 +114,7 @@ module PWN
114
114
  {
115
115
  sast_module: self,
116
116
  section: 'LEAST PRIVILEGE',
117
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=AC-6'
117
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=AC-6'
118
118
  }
119
119
  rescue StandardError => e
120
120
  raise e
data/lib/pwn/sast/eval.rb CHANGED
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'MALICIOUS CODE PROTECTION',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'DEVELOPER CONFIGURATION MANAGEMENT',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SA-10'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SA-10'
110
110
  }
111
111
  end
112
112
 
@@ -111,7 +111,7 @@ module PWN
111
111
  {
112
112
  sast_module: self,
113
113
  section: 'LEAST PRIVILEGE',
114
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=AC-6'
114
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=AC-6'
115
115
  }
116
116
  rescue StandardError => e
117
117
  raise e
@@ -116,7 +116,7 @@ module PWN
116
116
  {
117
117
  sast_module: self,
118
118
  section: 'PROTECTION OF INFORMATION AT REST',
119
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-28'
119
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-28'
120
120
  }
121
121
  end
122
122
 
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'MALICIOUS CODE PROTECTION',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'CRYPTOGRAPHIC KEY ESTABLISHMENT AND MANAGEMENT',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-12'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-12'
110
110
  }
111
111
  rescue StandardError => e
112
112
  raise e.mesasge
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'MALICIOUS CODE PROTECTION',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'DEVELOPER SECURITY AND PRIVACY ARCHITECTURE AND DESIGN',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SA-17'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SA-17'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -124,7 +124,7 @@ module PWN
124
124
  {
125
125
  sast_module: self,
126
126
  section: 'PROTECTION OF INFORMATION AT REST',
127
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-28'
127
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-28'
128
128
  }
129
129
  rescue StandardError => e
130
130
  raise e
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'MALICIOUS CODE PROTECTION',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -111,7 +111,7 @@ module PWN
111
111
  {
112
112
  sast_module: self,
113
113
  section: 'PROTECTION OF INFORMATION AT REST',
114
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-28'
114
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-28'
115
115
  }
116
116
  end
117
117
 
@@ -113,7 +113,7 @@ module PWN
113
113
  {
114
114
  sast_module: self,
115
115
  section: 'VULNERABILITY SCANNING',
116
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=RA-5'
116
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=RA-5'
117
117
  }
118
118
  rescue StandardError => e
119
119
  raise e
data/lib/pwn/sast/port.rb CHANGED
@@ -116,7 +116,7 @@ module PWN
116
116
  {
117
117
  sast_module: self,
118
118
  section: 'TRANSMISSION CONFIDENTIALITY AND INTEGRITY',
119
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-8'
119
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-8'
120
120
  }
121
121
  rescue StandardError => e
122
122
  raise e
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'CRYPTOGRAPHIC MODULE AUTHENTICATION',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=IA-7'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=IA-7'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -111,7 +111,7 @@ module PWN
111
111
  {
112
112
  sast_module: self,
113
113
  section: 'LEAST PRIVILEGE',
114
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=AC-6'
114
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=AC-6'
115
115
  }
116
116
  rescue StandardError => e
117
117
  raise e
@@ -116,7 +116,7 @@ module PWN
116
116
  {
117
117
  sast_module: self,
118
118
  section: 'PROTECTION OF INFORMATION AT REST',
119
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-28'
119
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-28'
120
120
  }
121
121
  rescue StandardError => e
122
122
  raise e
@@ -117,7 +117,7 @@ module PWN
117
117
  {
118
118
  sast_module: self,
119
119
  section: 'DEVELOPER SECURITY AND PRIVACY ARCHITECTURE AND DESIGN',
120
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SA-17'
120
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SA-17'
121
121
  }
122
122
  rescue StandardError => e
123
123
  raise e
data/lib/pwn/sast/sql.rb CHANGED
@@ -113,7 +113,7 @@ module PWN
113
113
  {
114
114
  sast_module: self,
115
115
  section: 'INFORMATION INPUT VALIDATION',
116
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-10'
116
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-10'
117
117
  }
118
118
  rescue StandardError => e
119
119
  raise e
data/lib/pwn/sast/ssl.rb CHANGED
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'PUBLIC KEY INFRASTRUCTURE CERTIFICATES',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-17'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-17'
110
110
  }
111
111
  rescue StandardError => e
112
112
  raise e
data/lib/pwn/sast/sudo.rb CHANGED
@@ -109,7 +109,7 @@ module PWN
109
109
  {
110
110
  sast_module: self,
111
111
  section: 'LEAST PRIVILEGE',
112
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=AC-6'
112
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=AC-6'
113
113
  }
114
114
  rescue StandardError => e
115
115
  raise e
@@ -123,7 +123,7 @@ module PWN
123
123
  {
124
124
  sast_module: self,
125
125
  section: 'LEAST PRIVILEGE',
126
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=AC-6'
126
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=AC-6'
127
127
  }
128
128
  rescue StandardError => e
129
129
  raise e
@@ -108,7 +108,7 @@ module PWN
108
108
  {
109
109
  sast_module: self,
110
110
  section: 'ERROR HANDLING',
111
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-11'
111
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-11'
112
112
  }
113
113
  rescue StandardError => e
114
114
  raise e
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'CRYPTOGRAPHIC MODULE AUTHENTICATION',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=IA-7'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=IA-7'
110
110
  }
111
111
  rescue StandardError => e
112
112
  raise e
@@ -106,7 +106,7 @@ module PWN
106
106
  {
107
107
  sast_module: self,
108
108
  section: 'VULNERABILITY SCANNING',
109
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=RA-5'
109
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=RA-5'
110
110
  }
111
111
  rescue StandardError => e
112
112
  raise e
@@ -108,7 +108,7 @@ module PWN
108
108
  {
109
109
  sast_module: self,
110
110
  section: 'MALICIOUS CODE PROTECTION',
111
- nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SI-3'
111
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SI-3'
112
112
  }
113
113
  rescue StandardError => e
114
114
  raise e
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.406'
4
+ VERSION = '0.4.410'
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,10 @@ 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
+ )
14
17
  export PWN_PROVIDER='${pwn_provider}'
15
18
  EOF
16
19
 
data/upgrade_ruby.sh CHANGED
@@ -43,4 +43,5 @@ cd $pwn_root && ./vagrant/provisioners/gem.sh
43
43
  rvmsudo rvm install ruby-$new_ruby_version
44
44
  echo $new_ruby_version > $pwn_root/.ruby-version
45
45
 
46
- cd $pwn_root && rvm use $new_ruby_version@$ruby_gemset && ./build_pwn_gem.sh
46
+ cd / && cd $pwn_root && rvm use $new_ruby_version@$ruby_gemset && ./build_pwn_gem.sh
47
+ 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,10 @@ 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
+ )
14
17
  export PWN_PROVIDER='${pwn_provider}'
15
18
  EOF
16
19
 
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.406
4
+ version: 0.4.410
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.7
1954
1968
  signing_key:
1955
1969
  specification_version: 4
1956
1970
  summary: Automated Security Testing for CI/CD Pipelines & Beyond