nexpose 5.0.0 → 5.1.0
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/Gemfile.lock +22 -25
- data/lib/nexpose/asset.rb +36 -1
- data/lib/nexpose/blackout.rb +14 -6
- data/lib/nexpose/external.rb +4 -0
- data/lib/nexpose/version.rb +1 -1
- data/nexpose.gemspec +1 -1
- metadata +8 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7623dcceb5d3d3c27dc38ec36c4d79e337ff1044
         | 
| 4 | 
            +
              data.tar.gz: 44a91ad0a5b482f9b4e2ff249405fc8bf1855595
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d6dbf1f038b82d96689c56aa58caed2502b0e2021c7b3b8e5fd9a0099fa487c93fad78cb61b28892cd582e23332f15facd48c54664d64a2b560b8f8da726ea10
         | 
| 7 | 
            +
              data.tar.gz: 8078c7d299558f71874710768a19541283901c4045efa571f17e8e2869ea1033b9a89866463bb08bf4b42d264c21c3d0390f96d0e6d465876656d6191608505d
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,46 +1,46 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                nexpose (5. | 
| 4 | 
            +
                nexpose (5.1.0)
         | 
| 5 5 |  | 
| 6 6 | 
             
            GEM
         | 
| 7 7 | 
             
              remote: https://rubygems.org/
         | 
| 8 8 | 
             
              specs:
         | 
| 9 | 
            -
                addressable (2.3. | 
| 10 | 
            -
                ast (2. | 
| 11 | 
            -
                astrolabe (1.3. | 
| 12 | 
            -
                  parser ( | 
| 9 | 
            +
                addressable (2.3.8)
         | 
| 10 | 
            +
                ast (2.2.0)
         | 
| 11 | 
            +
                astrolabe (1.3.1)
         | 
| 12 | 
            +
                  parser (~> 2.2)
         | 
| 13 13 | 
             
                codeclimate-test-reporter (0.4.7)
         | 
| 14 14 | 
             
                  simplecov (>= 0.7.1, < 1.0.0)
         | 
| 15 15 | 
             
                crack (0.4.2)
         | 
| 16 16 | 
             
                  safe_yaml (~> 1.0.0)
         | 
| 17 17 | 
             
                diff-lcs (1.2.5)
         | 
| 18 18 | 
             
                docile (1.1.5)
         | 
| 19 | 
            -
                multi_json (1. | 
| 20 | 
            -
                parser (2. | 
| 21 | 
            -
                  ast ( | 
| 22 | 
            -
                powerpack (0.1. | 
| 19 | 
            +
                multi_json (1.11.2)
         | 
| 20 | 
            +
                parser (2.3.1.2)
         | 
| 21 | 
            +
                  ast (~> 2.2)
         | 
| 22 | 
            +
                powerpack (0.1.1)
         | 
| 23 23 | 
             
                rainbow (2.0.0)
         | 
| 24 | 
            -
                rspec (3. | 
| 25 | 
            -
                  rspec-core (~> 3. | 
| 26 | 
            -
                  rspec-expectations (~> 3. | 
| 27 | 
            -
                  rspec-mocks (~> 3. | 
| 28 | 
            -
                rspec-core (3.2 | 
| 29 | 
            -
                  rspec-support (~> 3. | 
| 30 | 
            -
                rspec-expectations (3. | 
| 24 | 
            +
                rspec (3.3.0)
         | 
| 25 | 
            +
                  rspec-core (~> 3.3.0)
         | 
| 26 | 
            +
                  rspec-expectations (~> 3.3.0)
         | 
| 27 | 
            +
                  rspec-mocks (~> 3.3.0)
         | 
| 28 | 
            +
                rspec-core (3.3.2)
         | 
| 29 | 
            +
                  rspec-support (~> 3.3.0)
         | 
| 30 | 
            +
                rspec-expectations (3.3.1)
         | 
| 31 31 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 32 | 
            -
                  rspec-support (~> 3. | 
| 33 | 
            -
                rspec-mocks (3.2 | 
| 32 | 
            +
                  rspec-support (~> 3.3.0)
         | 
| 33 | 
            +
                rspec-mocks (3.3.2)
         | 
| 34 34 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 35 | 
            -
                  rspec-support (~> 3. | 
| 36 | 
            -
                rspec-support (3. | 
| 35 | 
            +
                  rspec-support (~> 3.3.0)
         | 
| 36 | 
            +
                rspec-support (3.3.0)
         | 
| 37 37 | 
             
                rubocop (0.29.1)
         | 
| 38 38 | 
             
                  astrolabe (~> 1.3)
         | 
| 39 39 | 
             
                  parser (>= 2.2.0.1, < 3.0)
         | 
| 40 40 | 
             
                  powerpack (~> 0.1)
         | 
| 41 41 | 
             
                  rainbow (>= 1.99.1, < 3.0)
         | 
| 42 42 | 
             
                  ruby-progressbar (~> 1.4)
         | 
| 43 | 
            -
                ruby-progressbar (1.7. | 
| 43 | 
            +
                ruby-progressbar (1.7.5)
         | 
| 44 44 | 
             
                safe_yaml (1.0.4)
         | 
| 45 45 | 
             
                simplecov (0.9.2)
         | 
| 46 46 | 
             
                  docile (~> 1.1.0)
         | 
| @@ -60,10 +60,7 @@ DEPENDENCIES | |
| 60 60 | 
             
              codeclimate-test-reporter (~> 0.4.6)
         | 
| 61 61 | 
             
              nexpose!
         | 
| 62 62 | 
             
              rspec (~> 3.2)
         | 
| 63 | 
            -
              rubocop | 
| 63 | 
            +
              rubocop
         | 
| 64 64 | 
             
              simplecov (~> 0.9.1)
         | 
| 65 65 | 
             
              vcr (~> 2.9.3)
         | 
| 66 66 | 
             
              webmock (~> 1.20.4)
         | 
| 67 | 
            -
             | 
| 68 | 
            -
            BUNDLED WITH
         | 
| 69 | 
            -
               1.12.2
         | 
    
        data/lib/nexpose/asset.rb
    CHANGED
    
    | @@ -38,6 +38,8 @@ module Nexpose | |
| 38 38 | 
             
                attr_reader :group_accounts
         | 
| 39 39 | 
             
                # Files and directories that have been enumerated on the asset. [Lazy]
         | 
| 40 40 | 
             
                attr_reader :files
         | 
| 41 | 
            +
                # Unique system identifiers on the asset.
         | 
| 42 | 
            +
                attr_accessor :unique_identifiers
         | 
| 41 43 |  | 
| 42 44 | 
             
                def initialize
         | 
| 43 45 | 
             
                  @addresses = []
         | 
| @@ -47,7 +49,7 @@ module Nexpose | |
| 47 49 | 
             
                # Load an asset from the provided console.
         | 
| 48 50 | 
             
                #
         | 
| 49 51 | 
             
                # @param [Connection] nsc Active connection to a Nexpose console.
         | 
| 50 | 
            -
                # @param [ | 
| 52 | 
            +
                # @param [Fixnum] id Unique identifier of an asset.
         | 
| 51 53 | 
             
                # @return [Asset] The requested asset, if found.
         | 
| 52 54 | 
             
                #
         | 
| 53 55 | 
             
                def self.load(nsc, id)
         | 
| @@ -263,6 +265,39 @@ module Nexpose | |
| 263 265 | 
             
                end
         | 
| 264 266 | 
             
              end
         | 
| 265 267 |  | 
| 268 | 
            +
              # Unique system identifiers on an asset.
         | 
| 269 | 
            +
              #
         | 
| 270 | 
            +
              class UniqueIdentifier < APIObject
         | 
| 271 | 
            +
                # The source name for the uniuqe identifier.
         | 
| 272 | 
            +
                attr_reader :source
         | 
| 273 | 
            +
                # Unique identifier of the user as determined by the asset (not Nexpose).
         | 
| 274 | 
            +
                attr_reader :id
         | 
| 275 | 
            +
             | 
| 276 | 
            +
                def initialize(source = nil, id = nil)
         | 
| 277 | 
            +
                  @id = id
         | 
| 278 | 
            +
                  @source = source
         | 
| 279 | 
            +
                end
         | 
| 280 | 
            +
             | 
| 281 | 
            +
                def to_h
         | 
| 282 | 
            +
                  { source: source,
         | 
| 283 | 
            +
                    id: id }
         | 
| 284 | 
            +
                end
         | 
| 285 | 
            +
             | 
| 286 | 
            +
                def <=>(other)
         | 
| 287 | 
            +
                  c = source <=> other.source
         | 
| 288 | 
            +
                  return c unless c == 0
         | 
| 289 | 
            +
                  id <=> other.id
         | 
| 290 | 
            +
                end
         | 
| 291 | 
            +
             | 
| 292 | 
            +
                def ==(other)
         | 
| 293 | 
            +
                  eql?(other)
         | 
| 294 | 
            +
                end
         | 
| 295 | 
            +
             | 
| 296 | 
            +
                def eql?(other)
         | 
| 297 | 
            +
                  source.eql?(other.source) && id.eql?(other.id)
         | 
| 298 | 
            +
                end
         | 
| 299 | 
            +
              end
         | 
| 300 | 
            +
             | 
| 266 301 | 
             
              # Assessment statistics for an asset.
         | 
| 267 302 | 
             
              #
         | 
| 268 303 | 
             
              class Assessment < APIObject
         | 
    
        data/lib/nexpose/blackout.rb
    CHANGED
    
    | @@ -15,17 +15,25 @@ module Nexpose | |
| 15 15 | 
             
                attr_accessor :blackout_duration
         | 
| 16 16 |  | 
| 17 17 | 
             
                def initialize(start, enabled=true, duration, type, interval)
         | 
| 18 | 
            -
                  @blackout_start | 
| 19 | 
            -
                  @enabled  | 
| 18 | 
            +
                  @blackout_start    = start
         | 
| 19 | 
            +
                  @enabled           = enabled
         | 
| 20 20 | 
             
                  @blackout_duration = duration.to_i
         | 
| 21 | 
            -
                  @blackout_type | 
| 21 | 
            +
                  @blackout_type     = type
         | 
| 22 22 | 
             
                  @blackout_interval = interval.to_i
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 25 | 
             
                def self.from_hash(hash)
         | 
| 26 26 | 
             
                  repeat_blackout_hash = hash[:repeat_blackout]
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                   | 
| 27 | 
            +
             | 
| 28 | 
            +
                  if repeat_blackout_hash.nil?
         | 
| 29 | 
            +
                    type     = 'daily'
         | 
| 30 | 
            +
                    interval = 0
         | 
| 31 | 
            +
                  else
         | 
| 32 | 
            +
                    type     = repeat_blackout_hash[:type]
         | 
| 33 | 
            +
                    interval = repeat_blackout_hash[:interval]
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  new(hash[:start_date], hash[:blackout_duration], type, interval)
         | 
| 29 37 | 
             
                end
         | 
| 30 38 |  | 
| 31 39 | 
             
                def to_h
         | 
| @@ -42,4 +50,4 @@ module Nexpose | |
| 42 50 | 
             
                  blackout_hash
         | 
| 43 51 | 
             
                end
         | 
| 44 52 | 
             
              end
         | 
| 45 | 
            -
            end
         | 
| 53 | 
            +
            end
         | 
    
        data/lib/nexpose/external.rb
    CHANGED
    
    | @@ -79,6 +79,8 @@ module Nexpose | |
| 79 79 | 
             
                  attr_accessor :groups
         | 
| 80 80 | 
             
                  # Files and directories on the asset.
         | 
| 81 81 | 
             
                  attr_accessor :files
         | 
| 82 | 
            +
                  # Unique system identifiers on the asset.
         | 
| 83 | 
            +
                  attr_accessor :unique_identifiers
         | 
| 82 84 | 
             
                  # A list of key-value attributes associated with the asset.
         | 
| 83 85 | 
             
                  attr_accessor :attributes
         | 
| 84 86 | 
             
                  # Asset-level vulnerabilities.
         | 
| @@ -92,6 +94,7 @@ module Nexpose | |
| 92 94 | 
             
                    @users = []
         | 
| 93 95 | 
             
                    @groups = []
         | 
| 94 96 | 
             
                    @files = []
         | 
| 97 | 
            +
                    @unique_identifiers = []
         | 
| 95 98 | 
             
                    @vulnerabilities = []
         | 
| 96 99 | 
             
                  end
         | 
| 97 100 |  | 
| @@ -113,6 +116,7 @@ module Nexpose | |
| 113 116 | 
             
                      users: users.map(&:to_h),
         | 
| 114 117 | 
             
                      groups: groups.map(&:to_h),
         | 
| 115 118 | 
             
                      files: files.map(&:to_h),
         | 
| 119 | 
            +
                      unique_identifiers: unique_identifiers.map(&:to_h),
         | 
| 116 120 | 
             
                      vulnerabilities: vulnerabilities.map(&:to_h),
         | 
| 117 121 | 
             
                      attributes: Attributes.to_hash(attributes) }
         | 
| 118 122 | 
             
                  end
         | 
    
        data/lib/nexpose/version.rb
    CHANGED
    
    
    
        data/nexpose.gemspec
    CHANGED
    
    | @@ -22,7 +22,7 @@ Gem::Specification.new do |s| | |
| 22 22 | 
             
              s.add_development_dependency('codeclimate-test-reporter', '~> 0.4.6')
         | 
| 23 23 | 
             
              s.add_development_dependency('simplecov', '~> 0.9.1')
         | 
| 24 24 | 
             
              s.add_development_dependency('rspec', '~> 3.2')
         | 
| 25 | 
            -
              s.add_development_dependency('rubocop' | 
| 25 | 
            +
              s.add_development_dependency('rubocop')
         | 
| 26 26 | 
             
              s.add_development_dependency('webmock', '~> 1.20.4')
         | 
| 27 27 | 
             
              s.add_development_dependency('vcr', '~> 2.9.3')
         | 
| 28 28 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: nexpose
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5. | 
| 4 | 
            +
              version: 5.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - HD Moore
         | 
| @@ -13,7 +13,7 @@ authors: | |
| 13 13 | 
             
            autorequire: 
         | 
| 14 14 | 
             
            bindir: bin
         | 
| 15 15 | 
             
            cert_chain: []
         | 
| 16 | 
            -
            date: 2016- | 
| 16 | 
            +
            date: 2016-08-26 00:00:00.000000000 Z
         | 
| 17 17 | 
             
            dependencies:
         | 
| 18 18 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 19 19 | 
             
              name: bundler
         | 
| @@ -75,16 +75,16 @@ dependencies: | |
| 75 75 | 
             
              name: rubocop
         | 
| 76 76 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 77 77 | 
             
                requirements:
         | 
| 78 | 
            -
                - - " | 
| 78 | 
            +
                - - ">="
         | 
| 79 79 | 
             
                  - !ruby/object:Gem::Version
         | 
| 80 | 
            -
                    version: 0 | 
| 80 | 
            +
                    version: '0'
         | 
| 81 81 | 
             
              type: :development
         | 
| 82 82 | 
             
              prerelease: false
         | 
| 83 83 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 84 84 | 
             
                requirements:
         | 
| 85 | 
            -
                - - " | 
| 85 | 
            +
                - - ">="
         | 
| 86 86 | 
             
                  - !ruby/object:Gem::Version
         | 
| 87 | 
            -
                    version: 0 | 
| 87 | 
            +
                    version: '0'
         | 
| 88 88 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 89 89 | 
             
              name: webmock
         | 
| 90 90 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -214,8 +214,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 214 214 | 
             
                  version: '0'
         | 
| 215 215 | 
             
            requirements: []
         | 
| 216 216 | 
             
            rubyforge_project: 
         | 
| 217 | 
            -
            rubygems_version: 2.4. | 
| 217 | 
            +
            rubygems_version: 2.4.6
         | 
| 218 218 | 
             
            signing_key: 
         | 
| 219 219 | 
             
            specification_version: 4
         | 
| 220 220 | 
             
            summary: Ruby API for Rapid7 Nexpose
         | 
| 221 221 | 
             
            test_files: []
         | 
| 222 | 
            +
            has_rdoc: 
         |