pwn 0.4.774 → 0.4.775

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: 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