recog 2.0.5 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +20 -15
- data/lib/recog/fingerprint/regexp_factory.rb +3 -1
- data/lib/recog/version.rb +1 -1
- data/spec/lib/recog/db_spec.rb +1 -4
- data/spec/lib/recog/fingerprint/{regexp_factory.rb → regexp_factory_spec.rb} +18 -11
- data/xml/ftp_banners.xml +38 -7
- data/xml/mysql_error.xml +5 -5
- data/xml/smb_native_os.xml +26 -0
- data/xml/ssh_banners.xml +97 -72
- metadata +24 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d010c11e748201cc521fce486766ca0c1e361e79
|
4
|
+
data.tar.gz: f969772209e0ea6d1b23edfe07468f713611124c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ddb7b4de06272bf896d5b200181fcea4acb82006346330f05a6da3a42c87a383afdbad1d4ef7bd9555496fd425a8200ac33c54fcf295bc21c87e68607623757
|
7
|
+
data.tar.gz: 9d6c2044e970acf26699ef841364b5c569877ebe939dff7242a9f11810b45c14224fd89c71d209bf0159171c0ae54dcb055adc3745fe0ee7523c1d5fc5d1bf92
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ Recog is a framework for identifying products, services, operating systems, and
|
|
10
10
|
|
11
11
|
## Installation
|
12
12
|
|
13
|
-
Recog consists of both XML fingerprint files and an assortment of code, mostly in Ruby, that makes it easy to develop, test, and use the contained fingerprints. In order to use the included ruby code, a recent version of Ruby (1
|
13
|
+
Recog consists of both XML fingerprint files and an assortment of code, mostly in Ruby, that makes it easy to develop, test, and use the contained fingerprints. In order to use the included ruby code, a recent version of Ruby (2.1+) is required, along with Rubygems and the `bundler` gem. Once these dependencies are in place, use the following commands to grab the latest source code and install any additional dependencies.
|
14
14
|
|
15
15
|
$ git clone git@github.com:rapid7/recog.git
|
16
16
|
$ cd recog
|
@@ -26,19 +26,17 @@ The fingerprints within Recog are stored in XML files, each of which is designed
|
|
26
26
|
|
27
27
|
A fingerprint file consists of an XML document like the following:
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
12:
|
41
|
-
13: </fingerprints>
|
29
|
+
```
|
30
|
+
<fingerprints matches="ssh.banner">
|
31
|
+
<fingerprint pattern="^RomSShell_([\d\.]+)$">
|
32
|
+
<description>Allegro RomSShell SSH</description>
|
33
|
+
<example service.version="4.62">RomSShell_4.62</example>
|
34
|
+
<param pos="0" name="service.vendor" value="Allegro"/>
|
35
|
+
<param pos="0" name="service.product" value="RomSShell"/>
|
36
|
+
<param pos="1" name="service.version"/>
|
37
|
+
</fingerprint>
|
38
|
+
</fingerprints>
|
39
|
+
```
|
42
40
|
|
43
41
|
The first line should always consist of the XML version declaration. The first element should always be a `fingerpints` block with a `matches` attribute indicating what data this fingerprint file is supposed to match. The `matches` attribute is normally in the form of `protocol.field`.
|
44
42
|
|
@@ -48,7 +46,9 @@ Inside of the fingerprint, a `description` element should contain a human-readab
|
|
48
46
|
|
49
47
|
At least one `example` element should be present, however multiple `example` elements are preferred. These elements are used as part of the test coverage present in rspec which validates that the provided data matches the specified regular expression. Additionally, if the fingerprint is using the `param` elements to extract field values from the data (described next), you can add these expected extractions as attributes for the `example` elements. In the example above, this:
|
50
48
|
|
51
|
-
|
49
|
+
```
|
50
|
+
<example service.version="4.62">RomSShell_4.62</example>
|
51
|
+
```
|
52
52
|
|
53
53
|
tests that `RomSShell_4.62` matches the provided regular expression and that the value of `service.version` is 4.62.
|
54
54
|
|
@@ -58,14 +58,19 @@ The `param` elements contain a `pos` attribute, which indicates what capture fie
|
|
58
58
|
|
59
59
|
Once a fingerprint has been added, the `example` entries can be tested by executing `bin/recog_verify` against the fingerprint file:
|
60
60
|
|
61
|
+
```
|
61
62
|
$ bin/recog_verify xml/ssh_banners.xml
|
63
|
+
```
|
62
64
|
|
63
65
|
Matches can be tested on the command-line in a similar fashion:
|
64
66
|
|
67
|
+
```
|
65
68
|
$ echo 'OpenSSH_6.6p1 Ubuntu-2ubuntu1' | bin/recog_match xml/ssh_banners.xml -
|
66
69
|
MATCH: {"service.version"=>"6.6p1", "openssh.comment"=>"Ubuntu-2ubuntu1", "service.vendor"=>"OpenBSD", "service.family"=>"OpenSSH", "service.product"=>"OpenSSH", "data"=>"OpenSSH_6.6p1 Ubuntu-2ubuntu1"}
|
70
|
+
```
|
67
71
|
|
68
72
|
### Best Practices
|
73
|
+
|
69
74
|
* Create a single fingerprint for each product as long as the pattern remains clear and readable. If that is not possible, the pattern should be logically decomposed into additional fingerprints.
|
70
75
|
* Create regular expressions that allow for flexible version number matching. This ensures greater probability of matching a product. For example, all known public releases of a product report either `major.minor` or `major.minor.build` format version numbers. If the fingerprint strictly matches this version number format, it would fail to match a modified build of the product that reports only a `major` version number format.
|
71
76
|
|
@@ -27,6 +27,8 @@ module Recog
|
|
27
27
|
'IGNORECASE' => Regexp::IGNORECASE
|
28
28
|
}
|
29
29
|
|
30
|
+
DEFAULT_FLAGS = 0
|
31
|
+
|
30
32
|
# @return [Regexp]
|
31
33
|
def self.build(pattern, flags)
|
32
34
|
options = build_options(flags)
|
@@ -44,7 +46,7 @@ module Recog
|
|
44
46
|
unless unsupported_flags.empty?
|
45
47
|
fail "Unsupported regular expression flags found: #{unsupported_flags.join(',')}. Must be one of: #{FLAG_MAP.keys.join(',')}"
|
46
48
|
end
|
47
|
-
flags.reduce(
|
49
|
+
flags.reduce(DEFAULT_FLAGS) do |sum, flag|
|
48
50
|
sum |= (FLAG_MAP[flag] || 0)
|
49
51
|
end
|
50
52
|
end
|
data/lib/recog/version.rb
CHANGED
data/spec/lib/recog/db_spec.rb
CHANGED
@@ -57,11 +57,8 @@ describe Recog::DB do
|
|
57
57
|
end
|
58
58
|
|
59
59
|
it 'creates a Regexp with expected flags' do
|
60
|
-
if RUBY_PLATFORM =~ /java/i
|
61
|
-
pending "Bug in jruby"
|
62
|
-
end
|
63
60
|
expect(entry.regex).to be_a(Regexp)
|
64
|
-
expect(entry.regex.options).to eq(
|
61
|
+
expect(entry.regex.options).to eq(Recog::Fingerprint::RegexpFactory::DEFAULT_FLAGS | Regexp::IGNORECASE)
|
65
62
|
end
|
66
63
|
|
67
64
|
it "has a pattern" do
|
@@ -28,31 +28,38 @@ describe Recog::Fingerprint::RegexpFactory do
|
|
28
28
|
let(:flags) { [ ] }
|
29
29
|
it { is_expected.to be_a(Fixnum) }
|
30
30
|
|
31
|
-
|
32
|
-
|
31
|
+
context 'without any explicit flags' do
|
32
|
+
let(:flags) { [ ] }
|
33
|
+
specify "sets default flags" do
|
34
|
+
expect(subject).to be Recog::Fingerprint::RegexpFactory::DEFAULT_FLAGS
|
35
|
+
end
|
33
36
|
end
|
34
37
|
|
35
38
|
context 'with REG_ICASE' do
|
36
39
|
let(:flags) { [ 'REG_ICASE' ] }
|
37
|
-
specify "sets
|
38
|
-
expect(subject
|
39
|
-
expect(subject & Regexp::IGNORECASE).to_not be_zero
|
40
|
+
specify "sets IGNORECASE" do
|
41
|
+
expect(subject).to be (Recog::Fingerprint::RegexpFactory::DEFAULT_FLAGS | Regexp::IGNORECASE)
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
43
45
|
context 'with REG_DOT_NEWLINE' do
|
44
46
|
let(:flags) { [ 'REG_DOT_NEWLINE' ] }
|
45
|
-
specify "sets
|
46
|
-
expect(subject
|
47
|
-
expect(subject & Regexp::MULTILINE).to_not be_zero
|
47
|
+
specify "sets MULTILINE" do
|
48
|
+
expect(subject).to be (Recog::Fingerprint::RegexpFactory::DEFAULT_FLAGS | Regexp::MULTILINE)
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
51
52
|
context 'with REG_LINE_ANY_CRLF' do
|
52
53
|
let(:flags) { [ 'REG_LINE_ANY_CRLF' ] }
|
53
|
-
specify "sets
|
54
|
-
expect(subject
|
55
|
-
|
54
|
+
specify "sets MULTILINE" do
|
55
|
+
expect(subject).to be (Recog::Fingerprint::RegexpFactory::DEFAULT_FLAGS | Regexp::MULTILINE)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context 'with multiple flags' do
|
60
|
+
let(:flags) { [ 'REG_LINE_ANY_CRLF', 'REG_ICASE' ] }
|
61
|
+
specify "sets correct flags" do
|
62
|
+
expect(subject).to be (Recog::Fingerprint::RegexpFactory::DEFAULT_FLAGS | Regexp::MULTILINE | Regexp::IGNORECASE)
|
56
63
|
end
|
57
64
|
end
|
58
65
|
|
data/xml/ftp_banners.xml
CHANGED
@@ -104,9 +104,10 @@ against these patterns to fingerprint FTP servers.
|
|
104
104
|
<param pos="1" name="host.name"/>
|
105
105
|
<param pos="2" name="service.version"/>
|
106
106
|
</fingerprint>
|
107
|
-
<fingerprint pattern="^(\S+)
|
108
|
-
<description>FTPD on Mac OS X Server</description>
|
109
|
-
<example>example.com FTP server (Version: Mac OS X Server 10.3 - +GSSAPI) ready.</example>
|
107
|
+
<fingerprint pattern="^(\S+)\s+FTP Server \(Version:\s+Mac OS X Server\s+([\d\.]+).*\) ready\.?" flags="REG_ICASE,MULTILINE">
|
108
|
+
<description>FTPD on Mac OS X Server with a version</description>
|
109
|
+
<example host.name="example.com" os.version="10.3">example.com FTP server (Version: Mac OS X Server 10.3 - +GSSAPI) ready.</example>
|
110
|
+
<example host.name="example.com" os.version="10.3">this is a banner. change it. example.com FTP server (Version: Mac OS X Server 10.3 - +GSSAPI) ready.</example>
|
110
111
|
<param pos="0" name="service.vendor" value="Apple"/>
|
111
112
|
<param pos="0" name="service.product" value="FTP"/>
|
112
113
|
<param pos="0" name="os.vendor" value="Apple"/>
|
@@ -116,6 +117,25 @@ against these patterns to fingerprint FTP servers.
|
|
116
117
|
<param pos="1" name="host.name"/>
|
117
118
|
<param pos="2" name="os.version"/>
|
118
119
|
</fingerprint>
|
120
|
+
<fingerprint pattern="^(\S+)\s+FTP Server \(Version:\s+Mac OS X Server\) ready\.?" flags="REG_ICASE,MULTILINE">
|
121
|
+
<description>FTPD on Mac OS X Server without a version</description>
|
122
|
+
<example host.name="example.com">example.com FTP server (Version: Mac OS X Server) ready.</example>
|
123
|
+
<example host.name="example.com">this is a banner. change it. example.com FTP server (Version: Mac OS X Server) ready.</example>
|
124
|
+
<param pos="0" name="service.vendor" value="Apple"/>
|
125
|
+
<param pos="0" name="service.product" value="FTP"/>
|
126
|
+
<param pos="0" name="os.vendor" value="Apple"/>
|
127
|
+
<param pos="0" name="os.family" value="Mac OS X"/>
|
128
|
+
<param pos="0" name="os.device" value="General"/>
|
129
|
+
<param pos="0" name="os.product" value="Mac OS X Server"/>
|
130
|
+
<param pos="1" name="host.name"/>
|
131
|
+
</fingerprint>
|
132
|
+
<fingerprint pattern="^(\S+)\s+FTP Server \(tnftpd (.*)\) ready\.?$" flags="REG_ICASE">
|
133
|
+
<description>Simple tnftpd banner with a version</description>
|
134
|
+
<example host.name="example.com" service.version="20061217">example.com FTP server (tnftpd 20061217) ready.</example>
|
135
|
+
<param pos="0" name="service.product" value="tnftpd"/>
|
136
|
+
<param pos="2" name="service.version"/>
|
137
|
+
<param pos="1" name="host.name"/>
|
138
|
+
</fingerprint>
|
119
139
|
<fingerprint pattern="^(\S+) FTP Server \(SunOS (\S+)\) ready\.?$" flags="REG_ICASE">
|
120
140
|
<description>SunOS/Solaris</description>
|
121
141
|
<example>example.com FTP server (SunOS 5.7) ready.</example>
|
@@ -184,18 +204,20 @@ against these patterns to fingerprint FTP servers.
|
|
184
204
|
<param pos="0" name="service.family" value="ProFTPD"/>
|
185
205
|
<param pos="0" name="service.product" value="ProFTPD"/>
|
186
206
|
</fingerprint>
|
187
|
-
<fingerprint pattern="^=\(<\*>\)=-\.:\. \(\( Welcome to Pure-FTPd ([\d.]+) \)\) \.:\.-=\(<\*>\)
|
207
|
+
<fingerprint pattern="^=\(<\*>\)=-\.:\. \(\( Welcome to Pure-FTPd ([\d.]+) \)\) \.:\.-=\(<\*>\)=-" flags="MULTILINE">
|
188
208
|
<!-- yes, the leading and trailing text is not balanced.
|
189
209
|
the leading text is missing the - at the beginning -->
|
190
210
|
<example service.version="1.0.11">=(<*>)=-.:. (( Welcome to Pure-FTPd 1.0.11 )) .:.-=(<*>)=-</example>
|
211
|
+
<example service.version="1.0.11">=(<*>)=-.:. (( Welcome to Pure-FTPd 1.0.11 )) .:.-=(<*>)=- more stuff</example>
|
191
212
|
<description>Pure-FTPd versions <= 1.0.13 (at least as far back as 1.0.11)</description>
|
192
213
|
<param pos="0" name="service.family" value="Pure-FTPd"/>
|
193
214
|
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
194
215
|
<param pos="1" name="service.version"/>
|
195
216
|
</fingerprint>
|
196
|
-
<fingerprint pattern="^-{9,10} Welcome to Pure-FTPd (.*)-{9,10}
|
217
|
+
<fingerprint pattern="^-{9,10} Welcome to Pure-FTPd (.*)-{9,10}" flags="MULTILINE">
|
197
218
|
<example>---------- Welcome to Pure-FTPd ----------</example>
|
198
219
|
<example>--------- Welcome to Pure-FTPd [privsep] [TLS] ----------</example>
|
220
|
+
<example>--------- Welcome to Pure-FTPd [privsep] [TLS] ---------- more text</example>
|
199
221
|
<description>Pure-FTPd versions >= 1.0.14
|
200
222
|
Config data can be zero or more of: [privsep] [TLS]
|
201
223
|
</description>
|
@@ -203,8 +225,9 @@ against these patterns to fingerprint FTP servers.
|
|
203
225
|
<param pos="0" name="service.family" value="Pure-FTPd"/>
|
204
226
|
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
205
227
|
</fingerprint>
|
206
|
-
<fingerprint pattern="^=\(.\*.\)=-\.:\. \(\( Welcome to PureFTPd (\d+\..+) \)\) \.:\.-=\(.\*.\)
|
207
|
-
<example>=(<*>)=-.:. (( Welcome to PureFTPd 1.1.0 )) .:.-=(<*>)=-</example>
|
228
|
+
<fingerprint pattern="^=\(.\*.\)=-\.:\. \(\( Welcome to PureFTPd (\d+\..+) \)\) \.:\.-=\(.\*.\)=-" flags="MULTILINE">
|
229
|
+
<example service.version="1.1.0">=(<*>)=-.:. (( Welcome to PureFTPd 1.1.0 )) .:.-=(<*>)=-</example>
|
230
|
+
<example service.version="1.1.0">=(<*>)=-.:. (( Welcome to PureFTPd 1.1.0 )) .:.-=(<*>)=- more text</example>
|
208
231
|
<description>Older Pure-FTPd versions</description>
|
209
232
|
<param pos="0" name="service.family" value="Pure-FTPd"/>
|
210
233
|
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
@@ -866,6 +889,14 @@ against these patterns to fingerprint FTP servers.
|
|
866
889
|
<param pos="1" name="host.name"/>
|
867
890
|
</fingerprint>
|
868
891
|
|
892
|
+
<fingerprint pattern="^(\S+) FTP server \(Version (\d.*)\) ready\.?$" flags="REG_ICASE">
|
893
|
+
<description>Generic FTP fingerprint with a hostname and a version for a generic FTP implementation</description>
|
894
|
+
<example host.name="example.com" service.version="6.00LS">example.com FTP server (Version 6.00LS) ready.</example>
|
895
|
+
<example host.name="example.com" service.version="1.2">example.com FTP server (Version 1.2) ready.</example>
|
896
|
+
<param pos="1" name="host.name"/>
|
897
|
+
<param pos="2" name="service.version"/>
|
898
|
+
</fingerprint>
|
899
|
+
|
869
900
|
<fingerprint pattern="^FTP (?:server|service)?(?: is)? ready\.?$" flags="REG_ICASE">
|
870
901
|
<description>Generic FTP fingerprint without a hostname</description>
|
871
902
|
<example>FTP server is ready.</example>
|
data/xml/mysql_error.xml
CHANGED
@@ -41,17 +41,17 @@
|
|
41
41
|
<param pos="0" name="service.product" value="MariaDB"/>
|
42
42
|
</fingerprint>
|
43
43
|
|
44
|
-
<fingerprint pattern="^Le
|
45
|
-
<example>Le
|
44
|
+
<fingerprint pattern="^Le hôte '[^']+' n'est pas authorisé à se connecter à ce serveur MySQL$">
|
45
|
+
<example>Le hôte '10.10.10.10' n'est pas authorisé à se connecter à ce serveur MySQL</example>
|
46
46
|
<description>Oracle MySQL - Error: Host not allowed to connect (French)</description>
|
47
47
|
<param pos="0" name="service.vendor" value="Oracle"/>
|
48
48
|
<param pos="0" name="service.family" value="MySQL"/>
|
49
49
|
<param pos="0" name="service.product" value="MySQL"/>
|
50
50
|
</fingerprint>
|
51
51
|
|
52
|
-
<fingerprint pattern="^'Host' '[^']+'
|
53
|
-
<example>'Host' '10.10.10.10'
|
54
|
-
<description>Oracle MySQL - Error: Host not allowed to connect (
|
52
|
+
<fingerprint pattern="^'Host' '[^']+' não tem permissão para se conectar com este servidor MySQL$">
|
53
|
+
<example>'Host' '10.10.10.10' não tem permissão para se conectar com este servidor MySQL</example>
|
54
|
+
<description>Oracle MySQL - Error: Host not allowed to connect (Portuguese)</description>
|
55
55
|
<param pos="0" name="service.vendor" value="Oracle"/>
|
56
56
|
<param pos="0" name="service.family" value="MySQL"/>
|
57
57
|
<param pos="0" name="service.product" value="MySQL"/>
|
data/xml/smb_native_os.xml
CHANGED
@@ -358,6 +358,32 @@
|
|
358
358
|
<param pos="1" name="os.build"/>
|
359
359
|
</fingerprint>
|
360
360
|
|
361
|
+
<!-- Windows 10 Preview -->
|
362
|
+
<fingerprint pattern="^Windows 10 (\w+|\w+ \w+|\w+ \w+ \w+) Insider Preview (\d+)$">
|
363
|
+
<description>Windows 10 Enterprise Insider Preview</description>
|
364
|
+
<example os.build="10130" os.edition="Enterprise">Windows 10 Enterprise Insider Preview 10130</example>
|
365
|
+
<param pos="0" name="os.certainty" value="1.0"/>
|
366
|
+
<param pos="0" name="os.vendor" value="Microsoft"/>
|
367
|
+
<param pos="0" name="os.product" value="Windows 10"/>
|
368
|
+
<param pos="1" name="os.edition"/>
|
369
|
+
<param pos="2" name="os.build"/>
|
370
|
+
</fingerprint>
|
371
|
+
|
372
|
+
<fingerprint pattern="^Windows 10 (\w+|\w+ \w+|\w+ \w+ \w+) (\d+)$">
|
373
|
+
<description>Windows 10</description>
|
374
|
+
<example os.build="10130" os.edition="Enterprise">Windows 10 Enterprise 10130</example>
|
375
|
+
<example os.build="10130" os.edition="Mobile Enterprise">Windows 10 Mobile Enterprise 10130</example>
|
376
|
+
<example os.build="10130" os.edition="Mobile">Windows 10 Mobile 10130</example>
|
377
|
+
<example os.build="10130" os.edition="Home">Windows 10 Home 10130</example>
|
378
|
+
<example os.build="10130" os.edition="Education">Windows 10 Education 10130</example>
|
379
|
+
<example os.build="10130" os.edition="Professional">Windows 10 Professional 10130</example>
|
380
|
+
<param pos="0" name="os.certainty" value="1.0"/>
|
381
|
+
<param pos="0" name="os.vendor" value="Microsoft"/>
|
382
|
+
<param pos="0" name="os.product" value="Windows 10"/>
|
383
|
+
<param pos="1" name="os.edition"/>
|
384
|
+
<param pos="2" name="os.build"/>
|
385
|
+
</fingerprint>
|
386
|
+
|
361
387
|
<!-- TODO: Detect vendor, distribution, and package versions -->
|
362
388
|
<fingerprint pattern="^Samba (\d\.\d+.\d+\w*)">
|
363
389
|
<description>Samba</description>
|
data/xml/ssh_banners.xml
CHANGED
@@ -79,7 +79,7 @@ fingerprint SSH servers.
|
|
79
79
|
<param pos="0" name="os.product" value="NetBSD"/>
|
80
80
|
</fingerprint>
|
81
81
|
|
82
|
-
<fingerprint pattern="^OpenSSH_(4\.1p1) (Debian-
|
82
|
+
<fingerprint pattern="^OpenSSH_(4\.1p1) (Debian-7ubuntu\d+(?:\.\d+)?)$">
|
83
83
|
<description>OpenSSH running on Ubuntu 5.10</description>
|
84
84
|
<example>OpenSSH_4.1p1 Debian-7ubuntu4</example>
|
85
85
|
<param pos="1" name="service.version"/>
|
@@ -94,7 +94,7 @@ fingerprint SSH servers.
|
|
94
94
|
<param pos="0" name="os.version" value="5.10"/>
|
95
95
|
</fingerprint>
|
96
96
|
|
97
|
-
<fingerprint pattern="^OpenSSH_(4\.2p1) (Debian-
|
97
|
+
<fingerprint pattern="^OpenSSH_(4\.2p1) (Debian-7ubuntu\d+(?:\.\d+)?)$">
|
98
98
|
<description>OpenSSH running on Ubuntu 6.04</description>
|
99
99
|
<example>OpenSSH_4.2p1 Debian-7ubuntu3.1</example>
|
100
100
|
<example>OpenSSH_4.2p1 Debian-7ubuntu3.2</example>
|
@@ -110,7 +110,7 @@ fingerprint SSH servers.
|
|
110
110
|
<param pos="0" name="os.version" value="6.04"/>
|
111
111
|
</fingerprint>
|
112
112
|
|
113
|
-
<fingerprint pattern="^OpenSSH_(4\.3p2) (Debian-
|
113
|
+
<fingerprint pattern="^OpenSSH_(4\.3p2) (Debian-8ubuntu\d+(?:\.\d+)?)$">
|
114
114
|
<description>OpenSSH running on Ubuntu 7.04</description>
|
115
115
|
<example>OpenSSH_4.3p2 Debian-8ubuntu1.4</example>
|
116
116
|
<param pos="1" name="service.version"/>
|
@@ -125,7 +125,7 @@ fingerprint SSH servers.
|
|
125
125
|
<param pos="0" name="os.version" value="7.04"/>
|
126
126
|
</fingerprint>
|
127
127
|
|
128
|
-
<fingerprint pattern="^OpenSSH_(4\.6p1) (Debian-
|
128
|
+
<fingerprint pattern="^OpenSSH_(4\.6p1) (Debian-5ubuntu\d+(?:\.\d+)?)$">
|
129
129
|
<description>OpenSSH running on Ubuntu 7.10</description>
|
130
130
|
<example>OpenSSH_4.6p1 Debian-5ubuntu0.2</example>
|
131
131
|
<example>OpenSSH_4.6p1 Debian-5ubuntu0.5</example>
|
@@ -140,11 +140,27 @@ fingerprint SSH servers.
|
|
140
140
|
<param pos="0" name="os.family" value="Linux"/>
|
141
141
|
<param pos="0" name="os.product" value="Linux"/>
|
142
142
|
<param pos="0" name="os.version" value="7.10"/>
|
143
|
+
</fingerprint>
|
144
|
+
|
145
|
+
<fingerprint pattern="^OpenSSH_(4\.6p1) (Debian-5build1)$">
|
146
|
+
<description>OpenSSH running on very early versions of Ubuntu 7.10</description>
|
147
|
+
<example service.version="4.6p1" openssh.comment="Debian-5build1">OpenSSH_4.6p1 Debian-5build1</example>
|
148
|
+
<param pos="1" name="service.version"/>
|
149
|
+
<param pos="2" name="openssh.comment"/>
|
150
|
+
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
151
|
+
<param pos="0" name="service.family" value="OpenSSH"/>
|
152
|
+
<param pos="0" name="service.product" value="OpenSSH"/>
|
153
|
+
<param pos="0" name="os.vendor" value="Ubuntu"/>
|
154
|
+
<param pos="0" name="os.device" value="General"/>
|
155
|
+
<param pos="0" name="os.family" value="Linux"/>
|
156
|
+
<param pos="0" name="os.product" value="Linux"/>
|
157
|
+
<param pos="0" name="os.version" value="7.10"/>
|
143
158
|
</fingerprint>
|
144
159
|
|
145
|
-
<fingerprint pattern="^OpenSSH_(4\.7p1) (Debian-
|
160
|
+
<fingerprint pattern="^OpenSSH_(4\.7p1) (Debian-8ubuntu\d+(?:\.\d+)?)$">
|
146
161
|
<description>OpenSSH running on Ubuntu 8.04</description>
|
147
|
-
<example>OpenSSH_4.7p1 Debian-8ubuntu1.2</example>
|
162
|
+
<example service.version="4.7p1" openssh.comment="Debian-8ubuntu1.2">OpenSSH_4.7p1 Debian-8ubuntu1.2</example>
|
163
|
+
<example service.version="4.7p1" openssh.comment="Debian-8ubuntu3">OpenSSH_4.7p1 Debian-8ubuntu3</example>
|
148
164
|
<param pos="1" name="service.version"/>
|
149
165
|
<param pos="2" name="openssh.comment"/>
|
150
166
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -157,7 +173,7 @@ fingerprint SSH servers.
|
|
157
173
|
<param pos="0" name="os.version" value="8.04"/>
|
158
174
|
</fingerprint>
|
159
175
|
|
160
|
-
<fingerprint pattern="^OpenSSH_(5\.1p1) (Debian-
|
176
|
+
<fingerprint pattern="^OpenSSH_(5\.1p1) (Debian-3ubuntu\d+(?:\.\d+)?)$">
|
161
177
|
<description>OpenSSH running on Ubuntu 8.10</description>
|
162
178
|
<example>OpenSSH_5.1p1 Debian-3ubuntu1</example>
|
163
179
|
<param pos="1" name="service.version"/>
|
@@ -172,7 +188,7 @@ fingerprint SSH servers.
|
|
172
188
|
<param pos="0" name="os.version" value="8.10"/>
|
173
189
|
</fingerprint>
|
174
190
|
|
175
|
-
<fingerprint pattern="^OpenSSH_(5\.1p1) (Debian-
|
191
|
+
<fingerprint pattern="^OpenSSH_(5\.1p1) (Debian-5ubuntu\d+(?:\.\d+)?)$">
|
176
192
|
<description>OpenSSH running on Ubuntu 9.04</description>
|
177
193
|
<example>OpenSSH_5.1p1 Debian-5ubuntu1</example>
|
178
194
|
<param pos="1" name="service.version"/>
|
@@ -187,7 +203,7 @@ fingerprint SSH servers.
|
|
187
203
|
<param pos="0" name="os.version" value="9.04"/>
|
188
204
|
</fingerprint>
|
189
205
|
|
190
|
-
<fingerprint pattern="^OpenSSH_(5\.1p1) (Debian-
|
206
|
+
<fingerprint pattern="^OpenSSH_(5\.1p1) (Debian-6ubuntu\d+(?:\.\d+)?)$">
|
191
207
|
<description>OpenSSH running on Ubuntu 9.10</description>
|
192
208
|
<example>OpenSSH_5.1p1 Debian-6ubuntu2</example>
|
193
209
|
<param pos="1" name="service.version"/>
|
@@ -202,9 +218,14 @@ fingerprint SSH servers.
|
|
202
218
|
<param pos="0" name="os.version" value="9.10"/>
|
203
219
|
</fingerprint>
|
204
220
|
|
205
|
-
<fingerprint pattern="^OpenSSH_(5\.3p1) (Debian-
|
221
|
+
<fingerprint pattern="^OpenSSH_(5\.3p1) (Debian-3ubuntu\d+(?:\.\d+)?)$">
|
206
222
|
<description>OpenSSH running on Ubuntu 10.04 (lucid)</description>
|
207
|
-
<example>OpenSSH_5.3p1 Debian-3ubuntu3</example>
|
223
|
+
<example service.version="5.3p1" openssh.comment="Debian-3ubuntu3">OpenSSH_5.3p1 Debian-3ubuntu3</example>
|
224
|
+
<example service.version="5.3p1" openssh.comment="Debian-3ubuntu4">OpenSSH_5.3p1 Debian-3ubuntu4</example>
|
225
|
+
<example service.version="5.3p1" openssh.comment="Debian-3ubuntu5">OpenSSH_5.3p1 Debian-3ubuntu5</example>
|
226
|
+
<example service.version="5.3p1" openssh.comment="Debian-3ubuntu6">OpenSSH_5.3p1 Debian-3ubuntu6</example>
|
227
|
+
<example service.version="5.3p1" openssh.comment="Debian-3ubuntu7">OpenSSH_5.3p1 Debian-3ubuntu7</example>
|
228
|
+
<example service.version="5.3p1" openssh.comment="Debian-3ubuntu7.1">OpenSSH_5.3p1 Debian-3ubuntu7.1</example>
|
208
229
|
<param pos="1" name="service.version"/>
|
209
230
|
<param pos="2" name="openssh.comment"/>
|
210
231
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -217,9 +238,11 @@ fingerprint SSH servers.
|
|
217
238
|
<param pos="0" name="os.version" value="10.04"/>
|
218
239
|
</fingerprint>
|
219
240
|
|
220
|
-
<fingerprint pattern="^OpenSSH_(5\.
|
221
|
-
<description>OpenSSH running on Ubuntu 10.
|
222
|
-
<example>OpenSSH_5.
|
241
|
+
<fingerprint pattern="^OpenSSH_(5\.5p1) (Debian-4ubuntu\d+(?:\.\d+)?)$">
|
242
|
+
<description>OpenSSH running on Ubuntu 10.10</description>
|
243
|
+
<example service.version="5.5p1" openssh.comment="Debian-4ubuntu4">OpenSSH_5.5p1 Debian-4ubuntu4</example>
|
244
|
+
<example service.version="5.5p1" openssh.comment="Debian-4ubuntu5">OpenSSH_5.5p1 Debian-4ubuntu5</example>
|
245
|
+
<example service.version="5.5p1" openssh.comment="Debian-4ubuntu6">OpenSSH_5.5p1 Debian-4ubuntu6</example>
|
223
246
|
<param pos="1" name="service.version"/>
|
224
247
|
<param pos="2" name="openssh.comment"/>
|
225
248
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -229,13 +252,12 @@ fingerprint SSH servers.
|
|
229
252
|
<param pos="0" name="os.device" value="General"/>
|
230
253
|
<param pos="0" name="os.family" value="Linux"/>
|
231
254
|
<param pos="0" name="os.product" value="Linux"/>
|
232
|
-
<param pos="0" name="os.version" value="10.
|
255
|
+
<param pos="0" name="os.version" value="10.10"/>
|
233
256
|
</fingerprint>
|
234
257
|
|
235
|
-
<fingerprint pattern="^OpenSSH_(5\.
|
236
|
-
<description>OpenSSH running on Ubuntu
|
237
|
-
<example>OpenSSH_5.
|
238
|
-
<example>OpenSSH_5.3p1 Debian-3ubuntu6</example>
|
258
|
+
<fingerprint pattern="^OpenSSH_(5\.8p1) (Debian-1ubuntu\d(?:\.\d)?)$">
|
259
|
+
<description>OpenSSH running on Ubuntu 11.04</description>
|
260
|
+
<example>OpenSSH_5.8p1 Debian-1ubuntu3</example>
|
239
261
|
<param pos="1" name="service.version"/>
|
240
262
|
<param pos="2" name="openssh.comment"/>
|
241
263
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -245,12 +267,12 @@ fingerprint SSH servers.
|
|
245
267
|
<param pos="0" name="os.device" value="General"/>
|
246
268
|
<param pos="0" name="os.family" value="Linux"/>
|
247
269
|
<param pos="0" name="os.product" value="Linux"/>
|
248
|
-
<param pos="0" name="os.version" value="
|
270
|
+
<param pos="0" name="os.version" value="11.04"/>
|
249
271
|
</fingerprint>
|
250
272
|
|
251
|
-
<fingerprint pattern="^OpenSSH_(5\.
|
252
|
-
<description>OpenSSH running on Ubuntu 10
|
253
|
-
<example>OpenSSH_5.
|
273
|
+
<fingerprint pattern="^OpenSSH_(5\.8p1) (Debian-7ubuntu\d(?:\.\d)?)$">
|
274
|
+
<description>OpenSSH running on Ubuntu 11.10</description>
|
275
|
+
<example>OpenSSH_5.8p1 Debian-7ubuntu1</example>
|
254
276
|
<param pos="1" name="service.version"/>
|
255
277
|
<param pos="2" name="openssh.comment"/>
|
256
278
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -260,13 +282,13 @@ fingerprint SSH servers.
|
|
260
282
|
<param pos="0" name="os.device" value="General"/>
|
261
283
|
<param pos="0" name="os.family" value="Linux"/>
|
262
284
|
<param pos="0" name="os.product" value="Linux"/>
|
263
|
-
<param pos="0" name="os.version" value="10
|
285
|
+
<param pos="0" name="os.version" value="11.10"/>
|
264
286
|
</fingerprint>
|
265
287
|
|
266
|
-
<fingerprint pattern="^OpenSSH_(5\.
|
267
|
-
<description>OpenSSH running on Ubuntu
|
268
|
-
<example>OpenSSH_5.
|
269
|
-
<example>OpenSSH_5.
|
288
|
+
<fingerprint pattern="^OpenSSH_(5\.9p1) (Debian-5ubuntu\d(?:\.\d)?)$">
|
289
|
+
<description>OpenSSH running on Ubuntu 12.04</description>
|
290
|
+
<example service.version="5.9p1" openssh.comment="Debian-5ubuntu1">OpenSSH_5.9p1 Debian-5ubuntu1</example>
|
291
|
+
<example service.version="5.9p1" openssh.comment="Debian-5ubuntu1.4">OpenSSH_5.9p1 Debian-5ubuntu1.4</example>
|
270
292
|
<param pos="1" name="service.version"/>
|
271
293
|
<param pos="2" name="openssh.comment"/>
|
272
294
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -276,12 +298,12 @@ fingerprint SSH servers.
|
|
276
298
|
<param pos="0" name="os.device" value="General"/>
|
277
299
|
<param pos="0" name="os.family" value="Linux"/>
|
278
300
|
<param pos="0" name="os.product" value="Linux"/>
|
279
|
-
<param pos="0" name="os.version" value="
|
301
|
+
<param pos="0" name="os.version" value="12.04"/>
|
280
302
|
</fingerprint>
|
281
303
|
|
282
|
-
<fingerprint pattern="^OpenSSH_(
|
283
|
-
<description>OpenSSH running on Ubuntu
|
284
|
-
<example>
|
304
|
+
<fingerprint pattern="^OpenSSH_(6\.0p1) (Debian-3ubuntu\d(?:\.\d)?)$">
|
305
|
+
<description>OpenSSH running on Ubuntu 12.10</description>
|
306
|
+
<example>OpenSSH_6.0p1 Debian-3ubuntu1</example>
|
285
307
|
<param pos="1" name="service.version"/>
|
286
308
|
<param pos="2" name="openssh.comment"/>
|
287
309
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -291,12 +313,12 @@ fingerprint SSH servers.
|
|
291
313
|
<param pos="0" name="os.device" value="General"/>
|
292
314
|
<param pos="0" name="os.family" value="Linux"/>
|
293
315
|
<param pos="0" name="os.product" value="Linux"/>
|
294
|
-
<param pos="0" name="os.version" value="
|
316
|
+
<param pos="0" name="os.version" value="12.10"/>
|
295
317
|
</fingerprint>
|
296
318
|
|
297
|
-
<fingerprint pattern="^OpenSSH_(
|
298
|
-
<description>OpenSSH running on Ubuntu
|
299
|
-
<example>
|
319
|
+
<fingerprint pattern="^OpenSSH_(6\.1p1) (Debian-4)$">
|
320
|
+
<description>OpenSSH running on Ubuntu 13.04</description>
|
321
|
+
<example>OpenSSH_6.1p1 Debian-4</example>
|
300
322
|
<param pos="1" name="service.version"/>
|
301
323
|
<param pos="2" name="openssh.comment"/>
|
302
324
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -306,12 +328,13 @@ fingerprint SSH servers.
|
|
306
328
|
<param pos="0" name="os.device" value="General"/>
|
307
329
|
<param pos="0" name="os.family" value="Linux"/>
|
308
330
|
<param pos="0" name="os.product" value="Linux"/>
|
309
|
-
<param pos="0" name="os.version" value="
|
331
|
+
<param pos="0" name="os.version" value="13.04"/>
|
310
332
|
</fingerprint>
|
311
333
|
|
312
|
-
<fingerprint pattern="^OpenSSH_(
|
313
|
-
<description>OpenSSH running on Ubuntu
|
314
|
-
<example>
|
334
|
+
<fingerprint pattern="^OpenSSH_(6\.6(?:\.\d)?p1) (Ubuntu-2ubuntu\d+(?:\.\d+)?)$">
|
335
|
+
<description>OpenSSH running on Ubuntu 14.04</description>
|
336
|
+
<example service.version="6.6p1" openssh.comment="Ubuntu-2ubuntu1">OpenSSH_6.6p1 Ubuntu-2ubuntu1</example>
|
337
|
+
<example service.version="6.6.1p1" openssh.comment="Ubuntu-2ubuntu2">OpenSSH_6.6.1p1 Ubuntu-2ubuntu2</example>
|
315
338
|
<param pos="1" name="service.version"/>
|
316
339
|
<param pos="2" name="openssh.comment"/>
|
317
340
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -321,12 +344,12 @@ fingerprint SSH servers.
|
|
321
344
|
<param pos="0" name="os.device" value="General"/>
|
322
345
|
<param pos="0" name="os.family" value="Linux"/>
|
323
346
|
<param pos="0" name="os.product" value="Linux"/>
|
324
|
-
<param pos="0" name="os.version" value="
|
325
|
-
|
347
|
+
<param pos="0" name="os.version" value="14.04"/>
|
348
|
+
</fingerprint>
|
326
349
|
|
327
|
-
<fingerprint pattern="^OpenSSH_(6\.
|
328
|
-
<description>OpenSSH running on Ubuntu
|
329
|
-
<example>OpenSSH_6.
|
350
|
+
<fingerprint pattern="^OpenSSH_(6\.7p1) (Ubuntu-5ubuntu\d(?:\.\d)?)$">
|
351
|
+
<description>OpenSSH running on Ubuntu 15.04 (vivid)</description>
|
352
|
+
<example service.version="6.7p1" openssh.comment="Ubuntu-5ubuntu1">OpenSSH_6.7p1 Ubuntu-5ubuntu1</example>
|
330
353
|
<param pos="1" name="service.version"/>
|
331
354
|
<param pos="2" name="openssh.comment"/>
|
332
355
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
@@ -336,37 +359,39 @@ fingerprint SSH servers.
|
|
336
359
|
<param pos="0" name="os.device" value="General"/>
|
337
360
|
<param pos="0" name="os.family" value="Linux"/>
|
338
361
|
<param pos="0" name="os.product" value="Linux"/>
|
339
|
-
<param pos="0" name="os.version" value="
|
362
|
+
<param pos="0" name="os.version" value="15.04"/>
|
340
363
|
</fingerprint>
|
341
364
|
|
342
|
-
<fingerprint pattern="^OpenSSH_(
|
343
|
-
<description>OpenSSH running on
|
344
|
-
<example>OpenSSH_6.
|
365
|
+
<fingerprint pattern="^OpenSSH_([^\s]+)\s+(Debian-4(?:\+deb7u\d+)?)$">
|
366
|
+
<description>OpenSSH running on Debian 7.x (wheezy)</description>
|
367
|
+
<example service.version="6.0p1" openssh.comment="Debian-4">OpenSSH_6.0p1 Debian-4</example>
|
368
|
+
<example service.version="6.0p1" openssh.comment="Debian-4+deb7u1">OpenSSH_6.0p1 Debian-4+deb7u1</example>
|
369
|
+
<example service.version="6.0p1" openssh.comment="Debian-4+deb7u2">OpenSSH_6.0p1 Debian-4+deb7u2</example>
|
345
370
|
<param pos="1" name="service.version"/>
|
346
371
|
<param pos="2" name="openssh.comment"/>
|
347
372
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
348
373
|
<param pos="0" name="service.family" value="OpenSSH"/>
|
349
374
|
<param pos="0" name="service.product" value="OpenSSH"/>
|
350
|
-
<param pos="0" name="os.vendor" value="
|
375
|
+
<param pos="0" name="os.vendor" value="Debian"/>
|
351
376
|
<param pos="0" name="os.device" value="General"/>
|
352
377
|
<param pos="0" name="os.family" value="Linux"/>
|
353
378
|
<param pos="0" name="os.product" value="Linux"/>
|
354
|
-
<param pos="0" name="os.version" value="
|
355
|
-
|
379
|
+
<param pos="0" name="os.version" value="7.0"/>
|
380
|
+
</fingerprint>
|
356
381
|
|
357
|
-
<fingerprint pattern="^OpenSSH_(
|
358
|
-
<description>OpenSSH running on
|
359
|
-
<example>
|
382
|
+
<fingerprint pattern="^OpenSSH_([^\s]+)\s+(Debian.+squeeze.*)$">
|
383
|
+
<description>OpenSSH running on Debian 6.0 (squeeze)</description>
|
384
|
+
<example service.version="5.5p1" openssh.comment="Debian-6+squeeze4">OpenSSH_5.5p1 Debian-6+squeeze4</example>
|
360
385
|
<param pos="1" name="service.version"/>
|
361
386
|
<param pos="2" name="openssh.comment"/>
|
362
387
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
363
388
|
<param pos="0" name="service.family" value="OpenSSH"/>
|
364
389
|
<param pos="0" name="service.product" value="OpenSSH"/>
|
365
|
-
<param pos="0" name="os.vendor" value="
|
390
|
+
<param pos="0" name="os.vendor" value="Debian"/>
|
366
391
|
<param pos="0" name="os.device" value="General"/>
|
367
392
|
<param pos="0" name="os.family" value="Linux"/>
|
368
393
|
<param pos="0" name="os.product" value="Linux"/>
|
369
|
-
<param pos="0" name="os.version" value="
|
394
|
+
<param pos="0" name="os.version" value="6.0"/>
|
370
395
|
</fingerprint>
|
371
396
|
|
372
397
|
<fingerprint pattern="^OpenSSH_([^\s]+)\s+((?:Debian|Ubuntu).+ubuntu.*)$">
|
@@ -380,6 +405,7 @@ fingerprint SSH servers.
|
|
380
405
|
<param pos="0" name="os.device" value="General"/>
|
381
406
|
<param pos="0" name="os.family" value="Linux"/>
|
382
407
|
<param pos="0" name="os.product" value="Linux"/>
|
408
|
+
<param pos="0" name="os.certainty" value="0.75"/>
|
383
409
|
</fingerprint>
|
384
410
|
|
385
411
|
<fingerprint pattern="^OpenSSH_([^\s]+)\s+(Debian.+etch.*)$">
|
@@ -424,19 +450,6 @@ fingerprint SSH servers.
|
|
424
450
|
<param pos="0" name="os.version" value="3.0"/>
|
425
451
|
</fingerprint>
|
426
452
|
|
427
|
-
<fingerprint pattern="^OpenSSH_([^\s]+)\s+(Debian.*)$">
|
428
|
-
<description>OpenSSH running on Debian (unknown version)</description>
|
429
|
-
<param pos="1" name="service.version"/>
|
430
|
-
<param pos="2" name="openssh.comment"/>
|
431
|
-
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
432
|
-
<param pos="0" name="service.family" value="OpenSSH"/>
|
433
|
-
<param pos="0" name="service.product" value="OpenSSH"/>
|
434
|
-
<param pos="0" name="os.vendor" value="Debian"/>
|
435
|
-
<param pos="0" name="os.device" value="General"/>
|
436
|
-
<param pos="0" name="os.family" value="Linux"/>
|
437
|
-
<param pos="0" name="os.product" value="Linux"/>
|
438
|
-
</fingerprint>
|
439
|
-
|
440
453
|
<fingerprint pattern="^OpenSSH_(.*)\+(CAN-[0-9]{4}-[0-9]{4})$">
|
441
454
|
<description>OpenSSH with CVE patch, as seen in Mac OS X</description>
|
442
455
|
<param pos="1" name="service.version"/>
|
@@ -475,9 +488,21 @@ fingerprint SSH servers.
|
|
475
488
|
<param pos="0" name="os.product" value="Windows"/>
|
476
489
|
</fingerprint>
|
477
490
|
|
491
|
+
<fingerprint pattern="^OpenSSH_(\d+\.\d+(?:\.\d+)?(?:p\d+)?)$">
|
492
|
+
<description>OpenSSH with just a version, no comment by vendor</description>
|
493
|
+
<example service.version="5.9p1">OpenSSH_5.9p1</example>
|
494
|
+
<example service.version="5.9">OpenSSH_5.9</example>
|
495
|
+
<example service.version="3.8.1p1">OpenSSH_3.8.1p1</example>
|
496
|
+
<example service.version="6.6.1">OpenSSH_6.6.1</example>
|
497
|
+
<param pos="1" name="service.version"/>
|
498
|
+
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
499
|
+
<param pos="0" name="service.family" value="OpenSSH"/>
|
500
|
+
<param pos="0" name="service.product" value="OpenSSH"/>
|
501
|
+
</fingerprint>
|
502
|
+
|
478
503
|
<!-- SSH-1.99-OpenSSH_4.3p2-4.cern-hpn-CERN-4.3p2-4.cern -->
|
479
504
|
|
480
|
-
|
505
|
+
<!--<fingerprint pattern="^OpenSSH_?([^\s]*)\s*(.*)$">
|
481
506
|
<description>Catch all for OpenSSH based SSH servers
|
482
507
|
******************** NOTE ********************
|
483
508
|
Be sure to put any specific OpenSSH derivative
|
@@ -489,7 +514,7 @@ fingerprint SSH servers.
|
|
489
514
|
<param pos="0" name="service.vendor" value="OpenBSD"/>
|
490
515
|
<param pos="0" name="service.family" value="OpenSSH"/>
|
491
516
|
<param pos="0" name="service.product" value="OpenSSH"/>
|
492
|
-
</fingerprint
|
517
|
+
</fingerprint>-->
|
493
518
|
|
494
519
|
<!-- TODO: Handle "vpn3" banners for Cisco 3000 VPN Concentrators (need example banners first) -->
|
495
520
|
|
metadata
CHANGED
@@ -1,111 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rapid7 Research
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: yard
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: redcarpet
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: cucumber
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: aruba
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: simplecov
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: nokogiri
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: Recog is a framework for identifying products, services, operating systems,
|
@@ -121,10 +121,10 @@ executables:
|
|
121
121
|
extensions: []
|
122
122
|
extra_rdoc_files: []
|
123
123
|
files:
|
124
|
-
- .gitignore
|
125
|
-
- .rspec
|
126
|
-
- .travis.yml
|
127
|
-
- .yardopts
|
124
|
+
- ".gitignore"
|
125
|
+
- ".rspec"
|
126
|
+
- ".travis.yml"
|
127
|
+
- ".yardopts"
|
128
128
|
- CONTRIBUTING.md
|
129
129
|
- Gemfile
|
130
130
|
- LICENSE
|
@@ -167,7 +167,7 @@ files:
|
|
167
167
|
- spec/data/whitespaced_fingerprint.xml
|
168
168
|
- spec/lib/fingerprint_self_test_spec.rb
|
169
169
|
- spec/lib/recog/db_spec.rb
|
170
|
-
- spec/lib/recog/fingerprint/
|
170
|
+
- spec/lib/recog/fingerprint/regexp_factory_spec.rb
|
171
171
|
- spec/lib/recog/fingerprint_spec.rb
|
172
172
|
- spec/lib/recog/formatter_spec.rb
|
173
173
|
- spec/lib/recog/match_reporter_spec.rb
|
@@ -219,17 +219,17 @@ require_paths:
|
|
219
219
|
- lib
|
220
220
|
required_ruby_version: !ruby/object:Gem::Requirement
|
221
221
|
requirements:
|
222
|
-
- -
|
222
|
+
- - ">="
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '2.1'
|
225
225
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
|
-
- -
|
227
|
+
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: '0'
|
230
230
|
requirements: []
|
231
231
|
rubyforge_project:
|
232
|
-
rubygems_version: 2.
|
232
|
+
rubygems_version: 2.4.6
|
233
233
|
signing_key:
|
234
234
|
specification_version: 4
|
235
235
|
summary: Network service fingerprint database, classes, and utilities
|