pwn 0.4.424 → 0.4.427

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: fac5757a167e6313ef8eba620e32f4cf59e19e24b7588583d65a4e2570b40f96
4
- data.tar.gz: '083b60cc0345807d15006fd7c5751d3369b7594b5b264f9169d98fa8bd4c2896'
3
+ metadata.gz: c5f15a780e9624b97ab5c97f6893867c10e063404f58cb5ffbfd7b9a60a0a203
4
+ data.tar.gz: 1288494c82fd238638268e1449fa8871d95b3f110d2fd9c5b33c4383fcc7003b
5
5
  SHA512:
6
- metadata.gz: 0da827f39f7837dbd1fcc75399105db089ff76f113a9ee3e1e17d70554638267b79500972c6d5eec7a0875ab49b4ab9012a6d5a94172c0d41fcc62497e0a3f53
7
- data.tar.gz: ebe8ad516eb1ac0eff953e4ce8136016d4b377612fa6475e03105a31f8ead791605ca14f58ef160e633e4be26efd5eaff0ea1b9ad73b140b8468a7ba1e7efed9
6
+ metadata.gz: 05aacaf69830d42724ed1d48c510f5c5c4245a9ce8631f85c93597cf577e0be34cc8645462ab7bd36c81c7872633eca5b6c0ade1fa0d234e38fef29ddfa4bc9c
7
+ data.tar.gz: 44a6c433320b1e721408b711f09a6a39eb3eba26924547cd74ebaa2dcebfafd74d15fb18a41d557283fe9f45f19665264a10a9754565e8f4fe821b881dd9a7c5
data/Gemfile CHANGED
@@ -61,7 +61,7 @@ gem 'rspec', '3.11.0'
61
61
  gem 'rtesseract', '3.1.2'
62
62
  gem 'rubocop', '1.29.1'
63
63
  gem 'rubocop-rake', '0.6.0'
64
- gem 'rubocop-rspec', '2.10.0'
64
+ gem 'rubocop-rspec', '2.11.0'
65
65
  gem 'ruby-audio', '1.6.1'
66
66
  gem 'ruby-nmap', '0.10.0'
67
67
  gem 'ruby-saml', '1.14.0'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ 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.424]:001 >>> PWN.help
40
+ pwn[v0.4.427]: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.1.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.424]:001 >>> PWN.help
55
+ pwn[v0.4.427]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -15,8 +15,16 @@ OptionParser.new do |options|
15
15
  opts[:yaml_config] = c
16
16
  end
17
17
 
18
- options.on('-nVALUE', '--scan-template-name=VALUE', '<Optional - Name of Canned Scan Template to Use for Scan Creation (Defaults to "Basic Network Scan">') do |n|
19
- opts[:scan_template_name] = n
18
+ options.on('-nNAME', '--scan-name=NAME', '<Required - YAML Name of Scan to Create>') do |n|
19
+ opts[:scan_name] = n
20
+ end
21
+
22
+ options.on('-pPOLICY', '--policy-name=POLICY', '<Optional - Policy to Use to Create the Scan (Defaults to "")>') do |p|
23
+ opts[:policy_name] = p
24
+ end
25
+
26
+ options.on('-tVALUE', '--scan-template=VALUE', '<Optional - Canned Scan Template to Use for Scan Creation (Defaults to "Basic Network Scan">') do |t|
27
+ opts[:scan_template] = t
20
28
  end
21
29
  end.parse!
22
30
 
@@ -38,26 +46,35 @@ begin
38
46
  access_key = yaml[:access_key]
39
47
  secret_key = yaml[:secret_key]
40
48
 
41
- scan_template_name = opts[:scan_template_name]
42
- scan_template_name = 'Basic Network Scan' unless scan_template_name
49
+ scan_name = opts[:scan_name]
50
+
51
+ policy_name = opts[:policy_name]
52
+ policy_name ||= ''
53
+
54
+ scan_template = opts[:scan_template]
55
+ scan_template ||= 'Basic Network Scan'
43
56
 
44
57
  nessus_obj = PWN::Plugins::NessusCloud.login(
45
58
  access_key: access_key,
46
59
  secret_key: secret_key
47
60
  )
48
61
 
49
- canned_scan_template_list = PWN::Plugins::NessusCloud.get_canned_scan_templates(
62
+ policy_list = PWN::Plugins::NessusCloud.get_policies(
63
+ nessus_obj: nessus_obj
64
+ )
65
+ puts policy_list.inspect
66
+
67
+ scan_template_list = PWN::Plugins::NessusCloud.get_canned_scan_templates(
50
68
  nessus_obj: nessus_obj
51
69
  )
52
70
 
53
- puts scan_template_list.inspect
54
71
  selected_scan_template = scan_template_list[:templates].select do |scan_template|
55
- scan_template[:title] == scan_template_name
72
+ scan_template[:title] == scan_template
56
73
  end
57
- puts selected_scan_template.inspect
58
74
 
59
75
  scan_template_id = selected_scan_template.first[:uuid]
60
- puts scan_template_id
76
+
77
+
61
78
  rescue Interrupt
62
79
  puts 'CTRL+C detected...goodbye.'
63
80
  rescue StandardError => e
@@ -110,6 +110,42 @@ module PWN
110
110
  raise e
111
111
  end
112
112
 
113
+ # Supported Method Parameters::
114
+ # PWN::Plugins::NessusCloud.get_policies(
115
+ # nessus_obj: 'required - nessus_obj returned from #login method'
116
+ # )
117
+
118
+ public_class_method def self.get_policies(opts = {})
119
+ nessus_obj = opts[:nessus_obj]
120
+
121
+ scan_templates_resp = nessus_cloud_rest_call(
122
+ nessus_obj: nessus_obj,
123
+ rest_call: 'policies'
124
+ ).body
125
+
126
+ JSON.parse(scan_templates_resp, symbolize_names: true)
127
+ rescue StandardError, SystemExit, Interrupt => e
128
+ raise e
129
+ end
130
+
131
+ # Supported Method Parameters::
132
+ # PWN::Plugins::NessusCloud.get_policies(
133
+ # nessus_obj: 'required - nessus_obj returned from #login method'
134
+ # )
135
+
136
+ public_class_method def self.get_folders(opts = {})
137
+ nessus_obj = opts[:nessus_obj]
138
+
139
+ scan_templates_resp = nessus_cloud_rest_call(
140
+ nessus_obj: nessus_obj,
141
+ rest_call: 'policies'
142
+ ).body
143
+
144
+ JSON.parse(scan_templates_resp, symbolize_names: true)
145
+ rescue StandardError, SystemExit, Interrupt => e
146
+ raise e
147
+ end
148
+
113
149
  # Supported Method Parameters::
114
150
  # PWN::Plugins::NessusCloud.get_scans(
115
151
  # nessus_obj: 'required - nessus_obj returned from #login method'
@@ -301,7 +337,15 @@ module PWN
301
337
  secret_key: 'required - API secret key (will prompt if blank)'
302
338
  )
303
339
 
304
- #{self}.get_scan_templates(
340
+ #{self}.get_canned_scan_templates(
341
+ nessus_obj: 'required - nessus_obj returned from #login method'
342
+ )
343
+
344
+ #{self}.get_policies(
345
+ nessus_obj: 'required - nessus_obj returned from #login method'
346
+ )
347
+
348
+ #{self}.get_folders(
305
349
  nessus_obj: 'required - nessus_obj returned from #login method'
306
350
  )
307
351
 
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.424'
4
+ VERSION = '0.4.427'
5
5
  end
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.424
4
+ version: 0.4.427
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-05-17 00:00:00.000000000 Z
11
+ date: 2022-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -702,14 +702,14 @@ dependencies:
702
702
  requirements:
703
703
  - - '='
704
704
  - !ruby/object:Gem::Version
705
- version: 2.10.0
705
+ version: 2.11.0
706
706
  type: :runtime
707
707
  prerelease: false
708
708
  version_requirements: !ruby/object:Gem::Requirement
709
709
  requirements:
710
710
  - - '='
711
711
  - !ruby/object:Gem::Version
712
- version: 2.10.0
712
+ version: 2.11.0
713
713
  - !ruby/object:Gem::Dependency
714
714
  name: ruby-audio
715
715
  requirement: !ruby/object:Gem::Requirement