pwn 0.4.774 → 0.4.775

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b725c4387d53b0c8a3f64b083c9905cd37619574d80c6d9d92d9a3488baae81
4
- data.tar.gz: d9ea997a172da9f09c18fcb109f82e5d8840084b7b2e892e6951dbbd9250cf81
3
+ metadata.gz: c10eec4ac3e1712691c0031a5883fc2a2e11398748f1823a8d49b6b210e50aff
4
+ data.tar.gz: 289ca6ece7d3ae829aba16e87e8515e89a1e21e1bbdd2e9eef1aa3b631200f63
5
5
  SHA512:
6
- metadata.gz: 9702c4eadf3c6390624895830e630c8a74b3b9a2ff63989fe8d1ed3be1755a2b3540b8a322e5ae45bb13896ca544b384bb342df82ca483287faf7adbfd8a9d20
7
- data.tar.gz: 905e7d92d6feab9da7e6f49438fa0c4d0db26881e905c05c900d2b678c7337874288ebbf554a2734494afef3c2ffeb64049998622168c2f0cb07083075504846
6
+ metadata.gz: a0ac4410338cc0601beca35c142484a4bfadd7ea197b23e24338bd68e8f989c1e233a03d80a26e6dd35ac8169e7053fa039d259a7416bb2037280bff200d6908
7
+ data.tar.gz: a6289daeb468bf6255fb3594bf43c7fe61e7cb3c009d6b68ef19105675ed6f3e90466a3360b6632ee7709100ef8bd1dbd0c65fe8389c8e84baaf05cbfffb3f63
data/Gemfile CHANGED
@@ -11,14 +11,14 @@ gemspec
11
11
  # In some circumstances custom flags are passed to gems in order
12
12
  # to build appropriately. Defer to ./reinstall_pwn_gemset.sh
13
13
  # to review these custom flags (e.g. pg, serialport, etc).
14
- gem 'activesupport', '7.0.5.1'
14
+ gem 'activesupport', '7.0.6'
15
15
  gem 'anemone', '0.7.2'
16
16
  gem 'authy', '3.0.1'
17
17
  gem 'aws-sdk', '3.1.0'
18
18
  # gem 'bettercap', '1.6.2'
19
19
  gem 'brakeman', '6.0.0'
20
20
  gem 'bson', '4.15.0'
21
- gem 'bundler', '>=2.4.14'
21
+ gem 'bundler', '>=2.4.15'
22
22
  gem 'bundler-audit', '0.9.1'
23
23
  gem 'bunny', '2.22.0'
24
24
  gem 'colorize', '1.1.0'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.774]:001 >>> PWN.help
40
+ pwn[v0.4.775]: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)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.774]:001 >>> PWN.help
55
+ pwn[v0.4.775]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -10,7 +10,7 @@ OptionParser.new do |options|
10
10
  #{$PROGRAM_NAME} [opts]
11
11
  "
12
12
 
13
- options.on('-sIP', '--jenkins_ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:jenkins_ip] = s }
13
+ options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
14
14
 
15
15
  options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
16
16
  opts[:port] = port
@@ -38,7 +38,7 @@ if opts.empty?
38
38
  exit 1
39
39
  end
40
40
 
41
- jenkins_ip = opts[:jenkins_ip].to_s.scrub
41
+ ip = opts[:ip].to_s.scrub
42
42
  port = opts[:port].to_i
43
43
  username = opts[:username]
44
44
  password = opts[:password]
@@ -47,14 +47,14 @@ config_xml = File.read(opts[:config_xml]) if File.exist?(opts[:config_xml])
47
47
 
48
48
  if port.positive?
49
49
  jenkins_obj = PWN::Plugins::Jenkins.connect(
50
- jenkins_ip: jenkins_ip,
50
+ ip: ip,
51
51
  port: port,
52
52
  username: username,
53
53
  password: password
54
54
  )
55
55
  else
56
56
  jenkins_obj = PWN::Plugins::Jenkins.connect(
57
- jenkins_ip: jenkins_ip,
57
+ ip: ip,
58
58
  username: username,
59
59
  password: password
60
60
  )
@@ -10,7 +10,7 @@ OptionParser.new do |options|
10
10
  #{$PROGRAM_NAME} [opts]
11
11
  "
12
12
 
13
- options.on('-sIP', '--jenkins_ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:jenkins_ip] = s }
13
+ options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
14
14
 
15
15
  options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
16
16
  opts[:port] = port
@@ -38,7 +38,7 @@ if opts.empty?
38
38
  exit 1
39
39
  end
40
40
 
41
- jenkins_ip = opts[:jenkins_ip].to_s.scrub
41
+ ip = opts[:ip].to_s.scrub
42
42
  port = opts[:port].to_i
43
43
  username = opts[:username]
44
44
  password = opts[:password]
@@ -47,14 +47,14 @@ regex_filter = opts[:regex_filter].to_s.chomp.strip.scrub
47
47
 
48
48
  if port.positive?
49
49
  jenkins_obj = PWN::Plugins::Jenkins.connect(
50
- jenkins_ip: jenkins_ip,
50
+ ip: ip,
51
51
  port: port,
52
52
  username: username,
53
53
  password: password
54
54
  )
55
55
  else
56
56
  jenkins_obj = PWN::Plugins::Jenkins.connect(
57
- jenkins_ip: jenkins_ip,
57
+ ip: ip,
58
58
  username: username,
59
59
  password: password
60
60
  )
@@ -10,7 +10,7 @@ OptionParser.new do |options|
10
10
  #{$PROGRAM_NAME} [opts]
11
11
  "
12
12
 
13
- options.on('-sIP', '--jenkins_ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:jenkins_ip] = s }
13
+ options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
14
14
 
15
15
  options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
16
16
  opts[:port] = port
@@ -42,7 +42,7 @@ if opts.empty?
42
42
  exit 1
43
43
  end
44
44
 
45
- jenkins_ip = opts[:jenkins_ip].to_s.scrub
45
+ ip = opts[:ip].to_s.scrub
46
46
  port = opts[:port].to_i
47
47
  username = opts[:username]
48
48
  password = opts[:password]
@@ -57,14 +57,14 @@ restart_jenkins = opts[:restart_jenkins].nil?
57
57
 
58
58
  if port.positive?
59
59
  jenkins_obj = PWN::Plugins::Jenkins.connect(
60
- jenkins_ip: jenkins_ip,
60
+ ip: ip,
61
61
  port: port,
62
62
  username: username,
63
63
  password: password
64
64
  )
65
65
  else
66
66
  jenkins_obj = PWN::Plugins::Jenkins.connect(
67
- jenkins_ip: jenkins_ip,
67
+ ip: ip,
68
68
  username: username,
69
69
  password: password
70
70
  )
@@ -10,7 +10,7 @@ OptionParser.new do |options|
10
10
  #{$PROGRAM_NAME} [opts]
11
11
  "
12
12
 
13
- options.on('-sIP', '--jenkins_ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:jenkins_ip] = s }
13
+ options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
14
14
 
15
15
  options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
16
16
  opts[:port] = port
@@ -42,7 +42,7 @@ if opts.empty?
42
42
  exit 1
43
43
  end
44
44
 
45
- jenkins_ip = opts[:jenkins_ip].to_s.scrub
45
+ ip = opts[:ip].to_s.scrub
46
46
  port = opts[:port].to_i
47
47
  username = opts[:username]
48
48
  password = opts[:password]
@@ -57,14 +57,14 @@ restart_jenkins = opts[:restart_jenkins].nil?
57
57
 
58
58
  if port.positive?
59
59
  jenkins_obj = PWN::Plugins::Jenkins.connect(
60
- jenkins_ip: jenkins_ip,
60
+ ip: ip,
61
61
  port: port,
62
62
  username: username,
63
63
  password: password
64
64
  )
65
65
  else
66
66
  jenkins_obj = PWN::Plugins::Jenkins.connect(
67
- jenkins_ip: jenkins_ip,
67
+ ip: ip,
68
68
  username: username,
69
69
  password: password
70
70
  )
@@ -10,7 +10,7 @@ OptionParser.new do |options|
10
10
  #{$PROGRAM_NAME} [opts]
11
11
  "
12
12
 
13
- options.on('-sIP', '--jenkins_ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:jenkins_ip] = s }
13
+ options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
14
14
 
15
15
  options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
16
16
  opts[:port] = port
@@ -46,7 +46,7 @@ if opts.empty?
46
46
  exit 1
47
47
  end
48
48
 
49
- jenkins_ip = opts[:jenkins_ip].to_s.scrub
49
+ ip = opts[:ip].to_s.scrub
50
50
  port = opts[:port].to_i
51
51
 
52
52
  admin_username = opts[:admin_username]
@@ -59,14 +59,14 @@ new_email = opts[:new_email]
59
59
 
60
60
  if port.positive?
61
61
  jenkins_obj = PWN::Plugins::Jenkins.connect(
62
- jenkins_ip: jenkins_ip,
62
+ ip: ip,
63
63
  port: port,
64
64
  username: admin_username,
65
65
  password: admin_password
66
66
  )
67
67
  else
68
68
  jenkins_obj = PWN::Plugins::Jenkins.connect(
69
- jenkins_ip: jenkins_ip,
69
+ ip: ip,
70
70
  username: admin_username,
71
71
  password: admin_password
72
72
  )
@@ -12,7 +12,7 @@ module PWN
12
12
 
13
13
  # Supported Method Parameters::
14
14
  # PWN::Plugins::Jenkins.connect(
15
- # jenkins_ip: 'required host/ip of Jenkins Server',
15
+ # ip: 'required host/ip of Jenkins Server',
16
16
  # port: 'optional tcp port (defaults to 8080),
17
17
  # username: 'optional username (functionality will be limited if ommitted)',
18
18
  # password: 'optional password (functionality will be limited if ommitted)'
@@ -22,14 +22,14 @@ module PWN
22
22
  # )
23
23
 
24
24
  public_class_method def self.connect(opts = {})
25
- jenkins_ip = opts[:jenkins_ip]
25
+ ip = opts[:ip]
26
26
  port = if opts[:port]
27
27
  opts[:port].to_i
28
28
  else
29
29
  8080
30
30
  end
31
31
  username = opts[:username].to_s.scrub
32
- base_jenkins_api_uri = "https://#{jenkins_ip}/ase/services".to_s.scrub
32
+ base_jenkins_api_uri = "https://#{ip}/ase/services".to_s.scrub
33
33
  password = opts[:password].to_s.scrub
34
34
  identity_file = opts[:identity_file].to_s.scrub
35
35
  ssl_bool = if opts[:ssl] == true
@@ -45,11 +45,11 @@ module PWN
45
45
  proxy_port = proxy.port
46
46
  end
47
47
 
48
- @@logger.info("Logging into Jenkins Server: #{jenkins_ip}")
48
+ @@logger.info("Logging into Jenkins Server: #{ip}")
49
49
  if username == '' && password == ''
50
50
  if identity_file == ''
51
51
  jenkins_obj = JenkinsApi::Client.new(
52
- server_ip: jenkins_ip,
52
+ server_ip: ip,
53
53
  server_port: port,
54
54
  follow_redirects: true,
55
55
  ssl: ssl_bool,
@@ -59,7 +59,7 @@ module PWN
59
59
  )
60
60
  else
61
61
  jenkins_obj = JenkinsApi::Client.new(
62
- server_ip: jenkins_ip,
62
+ server_ip: ip,
63
63
  server_port: port,
64
64
  identity_file: identity_file,
65
65
  follow_redirects: true,
@@ -72,7 +72,7 @@ module PWN
72
72
  else
73
73
  password = PWN::Plugins::AuthenticationHelper.mask_password if password == ''
74
74
  jenkins_obj = JenkinsApi::Client.new(
75
- server_ip: jenkins_ip,
75
+ server_ip: ip,
76
76
  server_port: port,
77
77
  username: username,
78
78
  password: password,
@@ -452,7 +452,7 @@ module PWN
452
452
  public_class_method def self.help
453
453
  puts %{USAGE:
454
454
  jenkins_obj = #{self}.connect(
455
- jenkins_ip: 'required host/ip of Jenkins Server',
455
+ ip: 'required host/ip of Jenkins Server',
456
456
  port: 'optional tcp port (defaults to 8080),
457
457
  username: 'optional username (functionality will be limited if ommitted)',
458
458
  password: 'optional password (functionality will be limited if ommitted)',
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.774'
4
+ VERSION = '0.4.775'
5
5
  end
@@ -20,7 +20,12 @@ rvm use ruby-$ruby_version@pwn
20
20
 
21
21
  printf "Installing Jenkins ********************************************************************"
22
22
  domain_name=`hostname -d`
23
- wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
23
+ curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
24
+ /usr/share/keyrings/jenkins-keyring.asc > /dev/null
25
+
26
+ echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
27
+ https://pkg.jenkins.io/debian binary/ | sudo tee \
28
+ /etc/apt/sources.list.d/jenkins.list > /dev/null
24
29
 
25
30
  # Get back to a Java version Jenkins supports
26
31
  sudo ln -sf /usr/lib/jvm/java-11-openjdk-amd64/bin/java /etc/alternatives/java
@@ -51,12 +56,12 @@ echo "JENKINS Initial Admin: ${initial_admin_pwd}"
51
56
 
52
57
  # TODO: Get this working
53
58
  # printf "Updating Pre-Installed Jenkins Plugins ************************************************"
54
- # pwn_jenkins_update_plugins --jenkins_ip 127.0.0.1 -U admin -P $initial_admin_pwd --no-restart-jenkins
59
+ # pwn_jenkins_update_plugins --ip 127.0.0.1 -U admin --api-key $initial_admin_pwd --no-restart-jenkins
55
60
 
56
61
  printf "Installing Necessary Jenkins Plugins **************************************************"
57
- pwn_jenkins_install_plugin --jenkins_ip 127.0.0.1 \
62
+ pwn_jenkins_install_plugin --ip 127.0.0.1 \
58
63
  -d 8888 \
59
64
  -U admin \
60
- -P $initial_admin_pwd \
65
+ --api-key $initial_admin_pwd \
61
66
  --no-restart-jenkins \
62
67
  -p "ace-editor, analysis-core, ansicolor, ant, antisamy-markup-formatter, apache-httpcomponents-client-4-api, bouncycastle-api, build-pipeline-plugin, bulk-builder, command-launcher, conditional-buildstep, credentials, dashboard-view, dependency-check-jenkins-plugin, dependency-track, display-url-api, external-monitor-job, git, git-client, handlebars, htmlpublisher, jackson2-api, javadoc, jdk-tool, jquery, jquery-detached, jquery-ui, jsch, junit, ldap, log-parser, mailer, matrix-auth, matrix-project, maven-plugin, momentjs, nested-view, pam-auth, parameterized-trigger, pipeline-build-step, pipeline-graph-analysis, pipeline-input-step, pipeline-rest-api, pipeline-stage-step, pipeline-stage-view, plain-credentials, purge-build-queue-plugin, role-strategy, run-condition, scm-api, script-security, slack, ssh-agent, ssh-credentials, ssh-slaves, structs, token-macro, windows-slaves, workflow-api, workflow-cps, workflow-job, workflow-scm-step, workflow-step-api, workflow-support"
@@ -33,7 +33,7 @@ printf "Creating Self-Update and PWN-Template Jobs *****************************
33
33
  ls $jenkins_userland_root/jobs/*.xml | while read jenkins_xml_config; do
34
34
  file_name=`basename $jenkins_xml_config`
35
35
  job_name=${file_name%.*}
36
- pwn_jenkins_create_job --jenkins_ip 127.0.0.1 \
36
+ pwn_jenkins_create_job --ip 127.0.0.1 \
37
37
  -d 8888 \
38
38
  -U admin \
39
39
  -P $initial_admin_pwd \
@@ -48,7 +48,7 @@ if [[ $? == 0 ]]; then
48
48
  ls $jenkins_userland_root/jobs_userland/*.xml | while read jenkins_xml_config; do
49
49
  file_name=`basename $jenkins_xml_config`
50
50
  job_name=${file_name%.*}
51
- pwn_jenkins_create_job --jenkins_ip 127.0.0.1 \
51
+ pwn_jenkins_create_job --ip 127.0.0.1 \
52
52
  -d 8888 \
53
53
  -U admin \
54
54
  -P $initial_admin_pwd \
@@ -58,28 +58,28 @@ if [[ $? == 0 ]]; then
58
58
  fi
59
59
 
60
60
  printf "Creating Jenkins Views ****************************************************************"
61
- pwn_jenkins_create_view --jenkins_ip 127.0.0.1 \
61
+ pwn_jenkins_create_view --ip 127.0.0.1 \
62
62
  -d 8888 \
63
63
  -U admin \
64
64
  -P $initial_admin_pwd \
65
65
  -v 'PWN-Templates' \
66
66
  -r '^pwntemplate-.+$'
67
67
 
68
- pwn_jenkins_create_view --jenkins_ip 127.0.0.1 \
68
+ pwn_jenkins_create_view --ip 127.0.0.1 \
69
69
  -d 8888 \
70
70
  -U admin \
71
71
  -P $initial_admin_pwd \
72
72
  -v 'Self-Update' \
73
73
  -r '^selfupdate-.+$'
74
74
 
75
- pwn_jenkins_create_view --jenkins_ip 127.0.0.1 \
75
+ pwn_jenkins_create_view --ip 127.0.0.1 \
76
76
  -d 8888 \
77
77
  -U admin \
78
78
  -P $initial_admin_pwd \
79
79
  -v 'Pipeline' \
80
80
  -r '^pipeline-.+$'
81
81
 
82
- pwn_jenkins_create_view --jenkins_ip 127.0.0.1 \
82
+ pwn_jenkins_create_view --ip 127.0.0.1 \
83
83
  -d 8888 \
84
84
  -U admin \
85
85
  -P $initial_admin_pwd \
@@ -43,7 +43,7 @@ puts `
43
43
 
44
44
  # TODO: Create Jenkins SSH Credentials for all hosts referenced in vagrant.yaml (User-Land Config)
45
45
  jenkins_obj = PWN::Plugins::Jenkins.connect(
46
- jenkins_ip: '127.0.0.1',
46
+ ip: '127.0.0.1',
47
47
  port: 8888,
48
48
  username: userland_user,
49
49
  password: userland_pass
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.774
4
+ version: 0.4.775
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.0.5.1
19
+ version: 7.0.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 7.0.5.1
26
+ version: 7.0.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: anemone
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 2.4.14
103
+ version: 2.4.15
104
104
  type: :development
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: 2.4.14
110
+ version: 2.4.15
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bundler-audit
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -2155,7 +2155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2155
2155
  - !ruby/object:Gem::Version
2156
2156
  version: '0'
2157
2157
  requirements: []
2158
- rubygems_version: 3.4.14
2158
+ rubygems_version: 3.4.15
2159
2159
  signing_key:
2160
2160
  specification_version: 4
2161
2161
  summary: Automated Security Testing for CI/CD Pipelines & Beyond