pwn 0.4.426 → 0.4.427

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: c040740347b6c2375346fb115355031199992c5f02263428cd756440fd7dbc12
4
- data.tar.gz: 3f8ca5c17fdaec78f73a144de847b5d57b69577b2b706068a48bd27479aaa60a
3
+ metadata.gz: c5f15a780e9624b97ab5c97f6893867c10e063404f58cb5ffbfd7b9a60a0a203
4
+ data.tar.gz: 1288494c82fd238638268e1449fa8871d95b3f110d2fd9c5b33c4383fcc7003b
5
5
  SHA512:
6
- metadata.gz: 27f3bdb7886d993e395827ce5ccc36d8caad53fbf369b0f62f35b50d95a5cb85af7e7c6d12f0424ab8e33d92db3a2382268269016ac928e4081239c319f7f323
7
- data.tar.gz: 1fbb164ede263fea348c824c522ae22ced698afca0ccbead95bf2a77d38e38f73b033e637ff191b56d991d4498feadd5f558584fd9b278fc3e43071c31f1a68c
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.426]: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.426]: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'
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
 
62
+ policy_list = PWN::Plugins::NessusCloud.get_policies(
63
+ nessus_obj: nessus_obj
64
+ )
65
+ puts policy_list.inspect
66
+
49
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'
@@ -305,6 +341,14 @@ module PWN
305
341
  nessus_obj: 'required - nessus_obj returned from #login method'
306
342
  )
307
343
 
344
+ #{self}.get_policies(
345
+ nessus_obj: 'required - nessus_obj returned from #login method'
346
+ )
347
+
348
+ #{self}.get_folders(
349
+ nessus_obj: 'required - nessus_obj returned from #login method'
350
+ )
351
+
308
352
  #{self}.get_scans(
309
353
  nessus_obj: 'required - nessus_obj returned from #login method'
310
354
  )
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.426'
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.426
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