pwn 0.4.434 → 0.4.437
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 +4 -4
- data/README.md +2 -2
- data/bin/pwn_nessus_cloud_create_scan +24 -15
- data/lib/pwn/plugins/nessus_cloud.rb +10 -5
- data/lib/pwn/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f220a459e04c5fcc8ac36203f16e53b09ee7d1449e26fa7875b9f7556b1a7ced
|
4
|
+
data.tar.gz: 1f1cc564d106d5938daaa78e3bd24b539a1d1d72c2cb7b34a285876db1239ccd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44fe1d205b902cda0678807efaf7af11bf79aef43a2c464fdcd2779ae091a2304aa4f77f32cf351f274fffce1243156e31539fea268903c97ca2c02774703f5a
|
7
|
+
data.tar.gz: 97889b333295b20f3d5210c81c624197567422ad787ba35a6536d2ca5136f564ba30516c28ed77d3e5caac33a22d5c596abdcc6670e2f8216347c8069f03f7b0
|
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.
|
40
|
+
pwn[v0.4.437]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](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.
|
55
|
+
pwn[v0.4.437]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
@@ -70,6 +70,10 @@ OptionParser.new do |options|
|
|
70
70
|
options.on('-zTIMEZONE', '--timezone=TIMEZONE', '<Optional - Timezone of the scheduled start time for the scan - (Defaults to "UTC")>') do |t|
|
71
71
|
opts[:timezone] = t
|
72
72
|
end
|
73
|
+
|
74
|
+
options.on('-gGROUPS', '--target-groups=GROUPS', '<Optional - Comma-delimited list of target group IDs to scan>') do |t|
|
75
|
+
opts[:timezone] = t
|
76
|
+
end
|
73
77
|
end.parse!
|
74
78
|
|
75
79
|
if opts.empty?
|
@@ -79,6 +83,7 @@ end
|
|
79
83
|
|
80
84
|
begin
|
81
85
|
# Get Options Passed to pwn_nessus_cloud_create_scan
|
86
|
+
# Required Arguments
|
82
87
|
yaml_config = opts[:yaml_config]
|
83
88
|
|
84
89
|
raise "YAML Config Not Found: #{yaml_config}" unless File.exist?(yaml_config)
|
@@ -92,6 +97,11 @@ begin
|
|
92
97
|
secret_key = yaml[:secret_key]
|
93
98
|
|
94
99
|
scan_name = opts[:scan_name]
|
100
|
+
|
101
|
+
text_targets = opts[:text_targets]
|
102
|
+
raise 'ERROR: --text-targets (i.e. List of targets to scan) is required.' unless text_targets
|
103
|
+
|
104
|
+
# Optional Arguments
|
95
105
|
scan_desc = opts[:scan_desc]
|
96
106
|
|
97
107
|
scan_template = opts[:scan_template]
|
@@ -130,15 +140,13 @@ begin
|
|
130
140
|
timezone = opts[:timezone]
|
131
141
|
timezone ||= 'UTC'
|
132
142
|
|
133
|
-
text_targets = opts[:text_targets]
|
134
|
-
raise 'ERROR: --text-targets (i.e. List of targets to scan) is required.' unless text_targets
|
135
|
-
|
136
143
|
target_groups = opts[:target_groups]
|
137
144
|
|
138
145
|
file_targets = opts[:file_targets]
|
139
146
|
|
140
147
|
tag_targets = opts[:tag_targets]
|
141
|
-
tag_targets_arr =
|
148
|
+
tag_targets_arr = []
|
149
|
+
tag_targets_arr = tag_targets.split(',') if tag_targets
|
142
150
|
|
143
151
|
agent_group_name = opts[:agent_group_name]
|
144
152
|
agent_group_id_arr = []
|
@@ -199,7 +207,7 @@ begin
|
|
199
207
|
# Part 2: Populate settings object from options passed to driver
|
200
208
|
settings = {}
|
201
209
|
settings[:name] = scan_name
|
202
|
-
settings[:description] = scan_desc
|
210
|
+
settings[:description] = scan_desc if scan_desc
|
203
211
|
|
204
212
|
policy = PWN::Plugins::NessusCloud.get_policies(
|
205
213
|
nessus_obj: nessus_obj,
|
@@ -239,27 +247,28 @@ begin
|
|
239
247
|
|
240
248
|
settings[:text_targets] = text_targets
|
241
249
|
|
242
|
-
|
250
|
+
# Example array on https://developer.tenable.com/reference/scans-create is really just a string.
|
251
|
+
settings[:target_groups] = "[#{target_groups}]" if target_groups
|
243
252
|
|
244
|
-
settings[:file_targets] = file_targets
|
253
|
+
settings[:file_targets] = file_targets if file_targets
|
245
254
|
|
246
|
-
settings[:tag_targets] = tag_targets_arr
|
255
|
+
settings[:tag_targets] = tag_targets_arr if tag_targets_arr
|
247
256
|
|
248
|
-
settings[:agent_group_id] = agent_group_id_arr
|
257
|
+
settings[:agent_group_id] = agent_group_id_arr if agent_group_id_arr.any?
|
249
258
|
|
250
|
-
settings[:agent_scan_launch_type] = agent_scan_launch_type
|
259
|
+
settings[:agent_scan_launch_type] = agent_scan_launch_type if agent_scan_launch_type
|
251
260
|
|
252
|
-
settings[:triggers] = triggers_arr
|
261
|
+
settings[:triggers] = triggers_arr if triggers_arr.any?
|
253
262
|
|
254
|
-
settings[:emails] = emails
|
263
|
+
settings[:emails] = emails if emails
|
255
264
|
|
256
|
-
settings[:acls] = acls
|
265
|
+
settings[:acls] = acls if acls
|
257
266
|
|
258
267
|
# Part 3: Populate credentials object from YAML config (optional)
|
259
|
-
credentials = yaml[:credentials]
|
268
|
+
credentials = yaml[:credentials] if yaml[:credentials]
|
260
269
|
|
261
270
|
# Part 4: Populate plugins object from YAML config (optional)
|
262
|
-
plugins = yaml[:plugins]
|
271
|
+
plugins = yaml[:plugins] if yaml[:plugins]
|
263
272
|
|
264
273
|
create_scan_resp = PWN::Plugins::NessusCloud.create_scan(
|
265
274
|
nessus_obj: nessus_obj,
|
@@ -358,12 +358,17 @@ module PWN
|
|
358
358
|
|
359
359
|
public_class_method def self.create_scan(opts = {})
|
360
360
|
nessus_obj = opts[:nessus_obj]
|
361
|
+
uuid = opts[:scan_template_uuid]
|
362
|
+
settings = opts[:settings]
|
363
|
+
credentials = opts[:credentials]
|
364
|
+
plugins = opts[:plugins]
|
361
365
|
|
362
|
-
http_body = {
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
366
|
+
http_body = {
|
367
|
+
uuid: uuid,
|
368
|
+
settings: settings,
|
369
|
+
credentials: credentials,
|
370
|
+
plugins: plugins
|
371
|
+
}.to_json
|
367
372
|
|
368
373
|
create_scan_resp = nessus_cloud_rest_call(
|
369
374
|
http_method: :post,
|
data/lib/pwn/version.rb
CHANGED
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.
|
4
|
+
version: 0.4.437
|
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-
|
11
|
+
date: 2022-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|