nexposecli 0.3.7 → 0.3.8

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
  SHA1:
3
- metadata.gz: 05c2cc0355b4dc4ede9179fc311ccd917adfce18
4
- data.tar.gz: b8d3ec7afc4ca6ef6bd6507929e49799ac228f8b
3
+ metadata.gz: 20cc0d58f0e199196e4a392b772de131da8b835b
4
+ data.tar.gz: 26df3b18e96f0eeaea0043d650caa8821718b908
5
5
  SHA512:
6
- metadata.gz: cfd29b590e995b68b35f9a092c784878b126412b4985b03c3c36d87924bd935bd554b03e0b05d1ddf716dfb255046528f7f5dc313b3c6a8d0ad4ed17e821ed8c
7
- data.tar.gz: 9456bc9dc1a979c8ceb40518bf1d1c83fe2a5f8fca1b548e425c4e16e8149457cf74976c33ff710eae51efee4f36d8407d222aa62107955956d73870483bea74
6
+ metadata.gz: 2502c699fc34efcb63d6f2bc46af06a3a8dddc64f0e85046981ce74ea4ed5a41f99d26a278ffe5bea62734842c5294aa5ed5e25bfec17e5c3342913f3ad1c20b
7
+ data.tar.gz: 3e36ea32e913443a2ee291b90a9a17f280734da0c586360f1b5e77538296b69dd83fd4bc01f0594bf981322755c9ca10fe034897b05bf63ef09b2109ad1a31c3
data/bin/nexposecli CHANGED
@@ -354,8 +354,9 @@ uputs("CLI", "Checking for the requested action")
354
354
  @action |= 256 if args.download
355
355
  @action |= 512 if args.status
356
356
  @action |= 1024 if args.exception
357
+ @action |= 2048 if args.schedule
357
358
  uputs("ACTION", "The requested action value is: #{@action.to_s}")
358
- raise "You can only submit one action per task, see --help (action submitted: #{@action.to_s})" unless [1,2,4,8,16,32,64,128,256,512,1024].include?(@action)
359
+ raise "You can only submit one action per task, see --help (action submitted: #{@action.to_s})" unless [1,2,4,8,16,32,64,128,256,512,1024.2048].include?(@action)
359
360
 
360
361
  uputs("TARGET", "Checking for the requested target")
361
362
  @target = 0
@@ -642,9 +643,29 @@ when 2 # TARGET ENGINE
642
643
  end
643
644
  when 4 # show
644
645
  uputs("ACTION", 'show ENGINE action requested')
645
- puts 'Not yet implemented'
646
- engine = Nexpose::Engine.load(@nsc, args.id)
647
- upp engine
646
+ begin
647
+ engine = Nexpose::Engine.load(@nsc, args.id)
648
+ upp engine
649
+ rescue Nexpose::APIError => e
650
+ STDERR.puts " ERROR [ For Engine Id[#{args.id}] The engine id provided is actually a Scan Engine Pool. Try using --POOL vs --ENGINE. ]"
651
+ exit(-1)
652
+ end
653
+ puts " Scan Engine id: #{engine.id}\tName: #{engine.name}\tAddress: #{engine.address}:#{engine.port}"
654
+ puts "-- Sites using this engine:"
655
+
656
+ @nsc.sites.each do |site|
657
+ siteDetails = Nexpose::Site.load(@nsc, site.id)
658
+ upp siteDetails
659
+ if engine.id == siteDetails.engine_id
660
+ puts("\t(default engine) Site: id:#{site.id}\t name:'#{site.name}'")
661
+ end
662
+ # siteDetails.schedules.each do |schedule|
663
+ # if engine.id == schedule.engine_id
664
+ # puts("\t(schedule engine) Site: id:#{site.id}\t name:'#{site.name}'")
665
+ # end
666
+ # end
667
+ end
668
+
648
669
  when 8 # update
649
670
  uputs("ACTION", 'update ENGINE action requested')
650
671
  puts 'Not yet implemented'
@@ -715,7 +736,10 @@ when 4 # TARGET POOL
715
736
  end
716
737
  when 4 # show
717
738
  uputs("ACTION", 'show POOL action requested')
718
- raise 'Please submit the Scan Engine Pool Id and Pool Name, see --help' unless ( args.id && args.name )
739
+ unless ( args.id && args.name )
740
+ puts 'ERROR: [ Please submit the Scan Engine Pool Id and Pool Name, try --POOL --list to get the pool name OR see --help ]'
741
+ exit(-1)
742
+ end
719
743
  pool_name = args.name
720
744
  pool_id = args.id
721
745
  pool = Nexpose::EnginePool.load(@nsc, pool_name)
@@ -723,6 +747,13 @@ when 4 # TARGET POOL
723
747
  pool.engines.each do |engine|
724
748
  puts "\t- Scan Engine name: [#{engine.name}] id: [#{engine.id}] at: [#{engine.address}]\n"
725
749
  end
750
+ puts "\n- This Scan Engine Pool is being used by the following Sites:\n"
751
+ @nsc.sites.each do |site|
752
+ siteDetails = Nexpose::Site.load(@nsc, site.id)
753
+ if pool_id == siteDetails.engine_id
754
+ puts("\t(default) Site: id:#{site.id}\t name:'#{site.name}'")
755
+ end
756
+ end
726
757
  puts "\n"
727
758
  upp pool
728
759
  when 8 # update
@@ -1181,12 +1212,12 @@ when 16 # TARGET SITE
1181
1212
 
1182
1213
  site_listing.each do |site|
1183
1214
  if site.public_send(filter).match(filterv)
1184
- puts("Site: id:#{site.id}\t name:'#{site.name}'\t--description:#{site.description}\n")
1185
- upp site
1215
+ siteDetails = Nexpose::Site.load(@nsc, site.id)
1216
+ puts("Site: id:#{site.id}\t name:'#{site.name}'\ttemplate:#{siteDetails.scan_template_id}\t--description:#{site.description}\n")
1217
+ upp siteDetails
1186
1218
  end
1187
1219
  end
1188
1220
 
1189
-
1190
1221
  when 4 # show
1191
1222
  uputs("ACTION", 'show SITE action requested')
1192
1223
  site = ""
@@ -1357,6 +1388,25 @@ when 16 # TARGET SITE
1357
1388
  when 16 # delete
1358
1389
  uputs("ACTION", 'delete SITE action requested')
1359
1390
  puts 'Not yet implemented'
1391
+ when 2048 # schedule
1392
+ uputs("ACTION", 'schedule SITE action requested')
1393
+ filter = "name"
1394
+ filterv = ".*"
1395
+
1396
+ if args.filter != nil && args.filterv != nil
1397
+ filter = "#{args.filter}"
1398
+ filterv = "#{args.filterv}"
1399
+ end
1400
+
1401
+ site_listing = @nsc.list_sites
1402
+
1403
+ site_listing.each do |site|
1404
+ if site.public_send(filter).match(filterv)
1405
+ puts("Site: id:#{site.id}\t name:'#{site.name}'\t--description:#{site.description}\n")
1406
+ upp site
1407
+ end
1408
+ end
1409
+
1360
1410
  else
1361
1411
  uputs("ACTION", 'The action requested is not implemented for target')
1362
1412
  puts 'The action requested is not implemented for target'
@@ -2058,6 +2108,24 @@ when 4096 # TARGET TEMPLATE
2058
2108
  puts "Scan Template Id: #{scan_template.id} \tScan Template Name: #{scan_template.name}"
2059
2109
  upp scan_template
2060
2110
  end
2111
+ when 4 # show
2112
+ scan_template = Nexpose::ScanTemplate.load(@nsc, "#{args.id}")
2113
+ puts "Scan Template Id: #{scan_template.id} \tScan Template Name: #{scan_template.name}"
2114
+ site_listing = @nsc.list_sites
2115
+ puts "-- Sites using this template:"
2116
+
2117
+ site_listing.each do |site|
2118
+ siteDetails = Nexpose::Site.load(@nsc, site.id)
2119
+ if scan_template.id == siteDetails.scan_template_id
2120
+ puts("\t(default template) Site: id:#{site.id}\t name:'#{site.name}'")
2121
+ end
2122
+ siteDetails.schedules.each do |schedule|
2123
+ if scan_template.id == schedule.scan_template_id
2124
+ puts("\t(schedule template) Site: id:#{site.id}\t name:'#{site.name}'")
2125
+ end
2126
+ end
2127
+ end
2128
+
2061
2129
  when 128 # copy
2062
2130
  uputs("ACTION", 'copy TEMPLATE action requested')
2063
2131
  new_scan_template = Nexpose::ScanTemplate.load(@nsc, "#{args.id}")
@@ -36,6 +36,9 @@ module Nexposecli
36
36
  short : c
37
37
  desc : The create action is used for new objects
38
38
 
39
+ - name : schedule
40
+ desc : The exception action is used for vuln objects
41
+
39
42
  - name : exception
40
43
  short : x
41
44
  desc : The exception action is used for vuln objects
@@ -1,3 +1,3 @@
1
1
  module Nexposecli
2
- VERSION = "0.3.7"
2
+ VERSION = "0.3.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexposecli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Gomez
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-08 00:00:00.000000000 Z
12
+ date: 2017-06-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nexpose