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:
|