pwn 0.4.494 → 0.4.495
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_scan_crud +6 -0
- data/lib/pwn/plugins/nessus_cloud.rb +75 -0
- 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: 3cdb19972dd43562eb0cc0a406e0ec22566412638865a4ec79336735ec787e4f
|
4
|
+
data.tar.gz: a12737175fa39a18f21804d8e65cc268b2662e8dea51bd15ef19adbd23e11e82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d7e699569688e3a8150231ef6659cfe730329b7f304cb19d0428492218c271754958e08b28f8e7e3782c2caf7beea500284c2b325114f9f8597460692071899
|
7
|
+
data.tar.gz: 758b84b03098b93e97e5a2d8a105330e74892ed269b980e9fa40da37d5cee13e2131087dc9292ccc0f8758217bf7d60bc2db2553e5ac2663e0445f37a30f6658
|
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.495]: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.495]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
@@ -283,6 +283,12 @@ begin
|
|
283
283
|
)
|
284
284
|
tag_uuid = new_tag[:uuid]
|
285
285
|
tag_uuids_arr.push(tag_uuid)
|
286
|
+
|
287
|
+
tag_assets = PWN::Plugins::NessusCloud.add_tag_to_assets(
|
288
|
+
nessus_obj: nessus_obj,
|
289
|
+
targets: text_targets,
|
290
|
+
tag_uuids: tag_uuids_arr
|
291
|
+
)
|
286
292
|
end
|
287
293
|
|
288
294
|
settings[:tag_targets] = tag_uuids_arr
|
@@ -347,6 +347,81 @@ module PWN
|
|
347
347
|
raise e
|
348
348
|
end
|
349
349
|
|
350
|
+
# Supported Method Parameters::
|
351
|
+
# PWN::Plugins::NessusCloud.get_assets(
|
352
|
+
# nessus_obj: 'required - nessus_obj returned from #login method',
|
353
|
+
# name: 'optional - name of asset'
|
354
|
+
# )
|
355
|
+
# )
|
356
|
+
|
357
|
+
public_class_method def self.get_assets(opts = {})
|
358
|
+
nessus_obj = opts[:nessus_obj]
|
359
|
+
name = opts[:name]
|
360
|
+
|
361
|
+
assets_resp = nessus_cloud_rest_call(
|
362
|
+
nessus_obj: nessus_obj,
|
363
|
+
rest_call: 'assets'
|
364
|
+
).body
|
365
|
+
|
366
|
+
assets = JSON.parse(assets_resp, symbolize_names: true)
|
367
|
+
|
368
|
+
if name
|
369
|
+
selected_asset = assets[:assets].select do |asset|
|
370
|
+
asset[:fqdn] == name
|
371
|
+
end
|
372
|
+
assets = selected_asset.first
|
373
|
+
assets ||= {}
|
374
|
+
end
|
375
|
+
|
376
|
+
assets
|
377
|
+
rescue StandardError, SystemExit, Interrupt => e
|
378
|
+
raise e
|
379
|
+
end
|
380
|
+
|
381
|
+
# Supported Method Parameters::
|
382
|
+
# PWN::Plugins::NessusCloud.add_tag_to_assets(
|
383
|
+
# nessus_obj: 'required - nessus_obj returned from #login method',
|
384
|
+
# targets: 'required - comma-delimited list of targets to tag',
|
385
|
+
# tag_uuids: 'required - array of tag UUIDS to tag against targets'
|
386
|
+
# )
|
387
|
+
# )
|
388
|
+
|
389
|
+
public_class_method def self.add_tag_to_assets(opts = {})
|
390
|
+
nessus_obj = opts[:nessus_obj]
|
391
|
+
targets = opts[:targets].to_s.split(',')
|
392
|
+
tag_uuids = opts[:tag_uuids]
|
393
|
+
|
394
|
+
all_assets = get_assets(nessus_obj: nessus_obj)
|
395
|
+
|
396
|
+
asset_uuids_arr = []
|
397
|
+
targets.each do |target|
|
398
|
+
selected_asset = all_assets[:assets].select do |asset|
|
399
|
+
asset[:fqdn] == target
|
400
|
+
end
|
401
|
+
this_asset = selected_asset.first
|
402
|
+
target_uuid = this_asset[:uuid]
|
403
|
+
|
404
|
+
asset_uuids_arr.push(target_uuid)
|
405
|
+
end
|
406
|
+
|
407
|
+
http_body = {
|
408
|
+
action: 'add',
|
409
|
+
assets: asset_uuids_arr,
|
410
|
+
tags: tag_uuids
|
411
|
+
}.to_json
|
412
|
+
|
413
|
+
tag_assets_resp = nessus_cloud_rest_call(
|
414
|
+
http_method: :post,
|
415
|
+
nessus_obj: nessus_obj,
|
416
|
+
rest_call: 'tags/assets/assignments',
|
417
|
+
http_body: http_body
|
418
|
+
).body
|
419
|
+
|
420
|
+
JSON.parse(tag_assets_resp, symbolize_names: true)
|
421
|
+
rescue StandardError, SystemExit, Interrupt => e
|
422
|
+
raise e
|
423
|
+
end
|
424
|
+
|
350
425
|
# Supported Method Parameters::
|
351
426
|
# PWN::Plugins::NessusCloud.get_credential_types(
|
352
427
|
# nessus_obj: 'required - nessus_obj returned from #login method',
|
data/lib/pwn/version.rb
CHANGED