pwn 0.4.436 → 0.4.439
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/bin/pwn_nessus_cloud_create_scan +30 -18
- data/lib/pwn/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0facd8a4831c0b12f3260083f60f42ffa10443a8aeb0d2b6d18e641f720ed237
|
4
|
+
data.tar.gz: 630a49786d7e1e9a46a86de3d6d3e2c5a5b9651e274bda12ac0c97bc5e8b0396
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3508e260eec62e7b95ef6beb940446498d8bb48f17ca6a9e2bab5e106650121095ef9f1655ef882ecda06a27bdcf851c258ba8b8fde73f86f6f72b8ec88d1727
|
7
|
+
data.tar.gz: f7e3e804ce8def94d5da144f72ae0557ca107a8506254f2a8c175418f4a635c6bc92b2b677803d675880e653c9633b8844b40498377d92f0e9b19bbf921c5a7f
|
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.439]: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.
|
55
|
+
pwn[v0.4.439]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
@@ -55,19 +55,27 @@ OptionParser.new do |options|
|
|
55
55
|
opts[:launch] = l
|
56
56
|
end
|
57
57
|
|
58
|
-
options.on('-wTIMEWINDOW', '--scan-time-window=TIMEWINDOW', '<Optional - Scan Time Window in Minutes
|
58
|
+
options.on('-wTIMEWINDOW', '--scan-time-window=TIMEWINDOW', '<Optional - Scan Time Window in Minutes (Defaults to 0)>') do |t|
|
59
59
|
opts[:scan_time_window] = t
|
60
60
|
end
|
61
61
|
|
62
|
-
options.on('-STIME', '--start-time=TIME', '<Optional - For One-Time Scans, the Starting Time and Date for the Scan
|
62
|
+
options.on('-STIME', '--start-time=TIME', '<Optional - For One-Time Scans, the Starting Time and Date for the Scan (Defaults to Time.now.strftime("%Y%m%dT%H%M%S")>') do |t|
|
63
63
|
opts[:starttime] = t
|
64
64
|
end
|
65
65
|
|
66
|
-
options.on('-rRRULES', '--rrules=RRULES', '<Optional - For One-Time Scans, the Starting Time and Date for the Scan
|
66
|
+
options.on('-rRRULES', '--rrules=RRULES', '<Optional - For One-Time Scans, the Starting Time and Date for the Scan (Defaults to "FREQ=ONETIME;INTERVAL=0;BYDAY=null")>') do |r|
|
67
67
|
opts[:rrules] = r
|
68
68
|
end
|
69
69
|
|
70
|
-
options.on('-
|
70
|
+
options.on('-xTAGS', '--tag-targets=TAGS', '<Optional - Comma-delimited list of tags to add to targets in scan>') do |x|
|
71
|
+
opts[:tag_targets] = x
|
72
|
+
end
|
73
|
+
|
74
|
+
options.on('-zTIMEZONE', '--timezone=TIMEZONE', '<Optional - Timezone of the scheduled start time for the scan (Defaults to "UTC")>') do |t|
|
75
|
+
opts[:timezone] = t
|
76
|
+
end
|
77
|
+
|
78
|
+
options.on('-gGROUPS', '--target-groups=GROUPS', '<Optional - Comma-delimited list of target group IDs to scan>') do |t|
|
71
79
|
opts[:timezone] = t
|
72
80
|
end
|
73
81
|
end.parse!
|
@@ -79,6 +87,7 @@ end
|
|
79
87
|
|
80
88
|
begin
|
81
89
|
# Get Options Passed to pwn_nessus_cloud_create_scan
|
90
|
+
# Required Arguments
|
82
91
|
yaml_config = opts[:yaml_config]
|
83
92
|
|
84
93
|
raise "YAML Config Not Found: #{yaml_config}" unless File.exist?(yaml_config)
|
@@ -92,6 +101,11 @@ begin
|
|
92
101
|
secret_key = yaml[:secret_key]
|
93
102
|
|
94
103
|
scan_name = opts[:scan_name]
|
104
|
+
|
105
|
+
text_targets = opts[:text_targets]
|
106
|
+
raise 'ERROR: --text-targets (i.e. List of targets to scan) is required.' unless text_targets
|
107
|
+
|
108
|
+
# Optional Arguments
|
95
109
|
scan_desc = opts[:scan_desc]
|
96
110
|
|
97
111
|
scan_template = opts[:scan_template]
|
@@ -130,9 +144,6 @@ begin
|
|
130
144
|
timezone = opts[:timezone]
|
131
145
|
timezone ||= 'UTC'
|
132
146
|
|
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
147
|
target_groups = opts[:target_groups]
|
137
148
|
|
138
149
|
file_targets = opts[:file_targets]
|
@@ -200,7 +211,7 @@ begin
|
|
200
211
|
# Part 2: Populate settings object from options passed to driver
|
201
212
|
settings = {}
|
202
213
|
settings[:name] = scan_name
|
203
|
-
settings[:description] = scan_desc
|
214
|
+
settings[:description] = scan_desc if scan_desc
|
204
215
|
|
205
216
|
policy = PWN::Plugins::NessusCloud.get_policies(
|
206
217
|
nessus_obj: nessus_obj,
|
@@ -240,27 +251,28 @@ begin
|
|
240
251
|
|
241
252
|
settings[:text_targets] = text_targets
|
242
253
|
|
243
|
-
|
254
|
+
# Example array on https://developer.tenable.com/reference/scans-create is really just a string.
|
255
|
+
settings[:target_groups] = "[#{target_groups}]" if target_groups
|
244
256
|
|
245
|
-
settings[:file_targets] = file_targets
|
257
|
+
settings[:file_targets] = file_targets if file_targets
|
246
258
|
|
247
|
-
settings[:tag_targets] = tag_targets_arr
|
259
|
+
settings[:tag_targets] = tag_targets_arr if tag_targets_arr.any?
|
248
260
|
|
249
|
-
settings[:agent_group_id] = agent_group_id_arr
|
261
|
+
settings[:agent_group_id] = agent_group_id_arr if agent_group_id_arr.any?
|
250
262
|
|
251
|
-
settings[:agent_scan_launch_type] = agent_scan_launch_type
|
263
|
+
settings[:agent_scan_launch_type] = agent_scan_launch_type if agent_scan_launch_type
|
252
264
|
|
253
|
-
settings[:triggers] = triggers_arr
|
265
|
+
settings[:triggers] = triggers_arr if triggers_arr.any?
|
254
266
|
|
255
|
-
settings[:emails] = emails
|
267
|
+
settings[:emails] = emails if emails
|
256
268
|
|
257
|
-
settings[:acls] = acls
|
269
|
+
# settings[:acls] = acls if acls
|
258
270
|
|
259
271
|
# Part 3: Populate credentials object from YAML config (optional)
|
260
|
-
credentials = yaml[:credentials]
|
272
|
+
credentials = yaml[:credentials] if yaml[:credentials]
|
261
273
|
|
262
274
|
# Part 4: Populate plugins object from YAML config (optional)
|
263
|
-
plugins = yaml[:plugins]
|
275
|
+
plugins = yaml[:plugins] if yaml[:plugins]
|
264
276
|
|
265
277
|
create_scan_resp = PWN::Plugins::NessusCloud.create_scan(
|
266
278
|
nessus_obj: nessus_obj,
|
data/lib/pwn/version.rb
CHANGED