recog 2.3.20 → 2.3.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/ci.yml +1 -1
  4. data/.github/workflows/verify.yml +89 -0
  5. data/.vscode/bin/monitor-recog-fingerprints.sh +54 -0
  6. data/.vscode/extensions.json +5 -0
  7. data/.vscode/settings.json +8 -0
  8. data/.vscode/tasks.json +77 -0
  9. data/CONTRIBUTING.md +8 -0
  10. data/README.md +17 -0
  11. data/bin/recog_standardize +28 -13
  12. data/bin/recog_verify +42 -8
  13. data/cpe-remap.yaml +62 -3
  14. data/features/data/schema_failure.xml +4 -0
  15. data/features/data/tests_with_failures.xml +6 -0
  16. data/features/support/hooks.rb +9 -0
  17. data/features/verify.feature +85 -21
  18. data/identifiers/fields.txt +6 -5
  19. data/identifiers/hw_device.txt +8 -0
  20. data/identifiers/hw_family.txt +8 -0
  21. data/identifiers/hw_product.txt +54 -0
  22. data/identifiers/os_device.txt +2 -0
  23. data/identifiers/os_family.txt +2 -0
  24. data/identifiers/os_product.txt +18 -2
  25. data/identifiers/service_product.txt +26 -0
  26. data/identifiers/vendor.txt +62 -1
  27. data/lib/recog/db.rb +2 -1
  28. data/lib/recog/fingerprint.rb +33 -6
  29. data/lib/recog/fingerprint_parse_error.rb +10 -0
  30. data/lib/recog/nizer.rb +1 -82
  31. data/lib/recog/verifier.rb +9 -9
  32. data/lib/recog/verify_reporter.rb +17 -6
  33. data/lib/recog/version.rb +1 -1
  34. data/requirements.txt +1 -1
  35. data/spec/data/external_example_fingerprint/hp_printer_ex_01.txt +1 -0
  36. data/spec/data/external_example_fingerprint/hp_printer_ex_02.txt +1 -0
  37. data/spec/data/external_example_fingerprint.xml +8 -0
  38. data/spec/data/external_example_illegal_path_fingerprint.xml +7 -0
  39. data/spec/lib/fingerprint_self_test_spec.rb +1 -0
  40. data/spec/lib/recog/db_spec.rb +84 -61
  41. data/spec/lib/recog/fingerprint_spec.rb +4 -4
  42. data/spec/lib/recog/verify_reporter_spec.rb +73 -4
  43. data/tools/dev/hooks/pre-commit +21 -0
  44. data/update_cpes.py +130 -37
  45. data/xml/apache_os.xml +98 -56
  46. data/xml/architecture.xml +15 -1
  47. data/xml/dhcp_vendor_class.xml +206 -0
  48. data/xml/dns_versionbind.xml +26 -13
  49. data/xml/favicons.xml +236 -47
  50. data/xml/fingerprints.xsd +9 -1
  51. data/xml/ftp_banners.xml +213 -197
  52. data/xml/h323_callresp.xml +101 -101
  53. data/xml/hp_pjl_id.xml +84 -84
  54. data/xml/html_title.xml +715 -45
  55. data/xml/http_cookies.xml +143 -80
  56. data/xml/http_servers.xml +510 -310
  57. data/xml/http_wwwauth.xml +177 -75
  58. data/xml/imap_banners.xml +10 -10
  59. data/xml/mdns_device-info_txt.xml +421 -26
  60. data/xml/mysql_banners.xml +3 -2
  61. data/xml/nntp_banners.xml +12 -9
  62. data/xml/ntp_banners.xml +97 -97
  63. data/xml/operating_system.xml +98 -83
  64. data/xml/pop_banners.xml +27 -27
  65. data/xml/rsh_resp.xml +3 -3
  66. data/xml/sip_banners.xml +46 -8
  67. data/xml/sip_user_agents.xml +180 -27
  68. data/xml/smb_native_lm.xml +5 -5
  69. data/xml/smb_native_os.xml +28 -25
  70. data/xml/smtp_banners.xml +258 -254
  71. data/xml/smtp_ehlo.xml +1 -1
  72. data/xml/smtp_help.xml +11 -11
  73. data/xml/smtp_noop.xml +2 -2
  74. data/xml/snmp_sysdescr.xml +1554 -1429
  75. data/xml/snmp_sysobjid.xml +27 -27
  76. data/xml/ssh_banners.xml +27 -20
  77. data/xml/telnet_banners.xml +256 -57
  78. data/xml/tls_jarm.xml +48 -6
  79. data/xml/x11_banners.xml +3 -3
  80. data/xml/x509_issuers.xml +69 -2
  81. data/xml/x509_subjects.xml +144 -33
  82. metadata +24 -4
  83. data/lib/recog/verifier_factory.rb +0 -13
@@ -13,7 +13,7 @@
13
13
  These are baseline patterns that map to sysObjectID with their associated sysDescr.
14
14
  -->
15
15
 
16
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.[23] Hardware: x86.*Software: Windows NT Version 4\.0.*$">
16
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.[23] Hardware: x86.*Software: Windows NT Version 4\.0">
17
17
  <description>Windows NT 4 on x86</description>
18
18
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 6 Model 8 Stepping 3 AT/AT COMPATIBLE - Software: Windows NT Version 4.0 (Build Number: 1381 Uniprocessor Free )</example>
19
19
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 6 Model 8 Stepping 3 AT/AT COMPATIBLE - Software: Windows NT Version 4.0 (Build Number: 1381 Uniprocessor Free )</example>
@@ -25,7 +25,7 @@
25
25
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_nt:4.0"/>
26
26
  </fingerprint>
27
27
 
28
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows 2000 Version 5\.0.*$">
28
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows 2000 Version 5\.0">
29
29
  <description>Windows 2000 on x86</description>
30
30
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 15 Model 4 Stepping 8 AT/AT COMPATIBLE - Software: Windows 2000 Version 5.0 (Build 2195 Uniprocessor Free)</example>
31
31
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -35,7 +35,7 @@
35
35
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_2000:-"/>
36
36
  </fingerprint>
37
37
 
38
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows 2000 Version 5\.0.*$">
38
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows 2000 Version 5\.0">
39
39
  <description>Windows 2000 Datacenter on x86</description>
40
40
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 15 Model 4 Stepping 8 AT/AT COMPATIBLE - Software: Windows 2000 Version 5.0 (Build 2195 Uniprocessor Free)</example>
41
41
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -45,7 +45,7 @@
45
45
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_2000:-"/>
46
46
  </fingerprint>
47
47
 
48
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 5\.2.*$">
48
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 5\.2">
49
49
  <description>Windows Server 2003 on x86</description>
50
50
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 15 Model 4 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)</example>
51
51
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -55,7 +55,7 @@
55
55
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2003:-"/>
56
56
  </fingerprint>
57
57
 
58
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 5\.2.*$">
58
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 5\.2">
59
59
  <description>Windows Server 2003 Datacenter on x86</description>
60
60
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 15 Model 4 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)</example>
61
61
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -65,7 +65,7 @@
65
65
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2003:-"/>
66
66
  </fingerprint>
67
67
 
68
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 5\.2.*$">
68
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 5\.2">
69
69
  <description>Windows Server 2003 on x86_64</description>
70
70
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: AMD64 Family 15 Model 4 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)</example>
71
71
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: Intel64 Family 6 Model 15 Stepping 6 AT/AT COMPATIBLE - Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)</example>
@@ -76,7 +76,7 @@
76
76
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2003:-"/>
77
77
  </fingerprint>
78
78
 
79
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 5\.2.*$">
79
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 5\.2">
80
80
  <description>Windows Server 2003 Datacenter on x86_64</description>
81
81
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: AMD64 Family 15 Model 4 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)</example>
82
82
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: Intel64 Family 6 Model 15 Stepping 6 AT/AT COMPATIBLE - Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)</example>
@@ -87,10 +87,10 @@
87
87
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2003:-"/>
88
88
  </fingerprint>
89
89
 
90
- <fingerprint pattern="^Microsoft Windows CE Version ([\d.]+).*$">
90
+ <fingerprint pattern="^Microsoft Windows CE Version ([\d.]+)">
91
91
  <description>Windows CE</description>
92
- <example>Microsoft Windows CE Version 4.20 (Build 0)</example>
93
- <example>Microsoft Windows CE Version 4.20 (Build 1088)</example>
92
+ <example os.version="4.20">Microsoft Windows CE Version 4.20 (Build 0)</example>
93
+ <example os.version="4.20">Microsoft Windows CE Version 4.20 (Build 1088)</example>
94
94
  <param pos="0" name="os.vendor" value="Microsoft"/>
95
95
  <param pos="0" name="os.family" value="Windows"/>
96
96
  <param pos="0" name="os.product" value="Windows CE"/>
@@ -98,7 +98,7 @@
98
98
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_ce:{os.version}"/>
99
99
  </fingerprint>
100
100
 
101
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6001.*$">
101
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6001">
102
102
  <description>Windows Server 2008 on x86</description>
103
103
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6001 Multiprocessor Free)</example>
104
104
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -108,7 +108,7 @@
108
108
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
109
109
  </fingerprint>
110
110
 
111
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6001.*$">
111
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6001">
112
112
  <description>Windows Server 2008 Datacenter on x86</description>
113
113
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6001 Multiprocessor Free)</example>
114
114
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -118,7 +118,7 @@
118
118
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
119
119
  </fingerprint>
120
120
 
121
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6001.*$">
121
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6001">
122
122
  <description>Windows Server 2008 on x86_64</description>
123
123
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6001 Multiprocessor Free)</example>
124
124
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6001 Multiprocessor Free)</example>
@@ -129,7 +129,7 @@
129
129
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
130
130
  </fingerprint>
131
131
 
132
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6001.*$">
132
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6001">
133
133
  <description>Windows Server 2008 Datacenter on x86_64</description>
134
134
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6001 Multiprocessor Free)</example>
135
135
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6001 Multiprocessor Free)</example>
@@ -140,7 +140,7 @@
140
140
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
141
141
  </fingerprint>
142
142
 
143
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6002.*$">
143
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6002">
144
144
  <description>Windows Server 2008 SP2 on x86</description>
145
145
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6002 Multiprocessor Free)</example>
146
146
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -151,7 +151,7 @@
151
151
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP2"/>
152
152
  </fingerprint>
153
153
 
154
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6002.*$">
154
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.0 \(Build 6002">
155
155
  <description>Windows Server 2008 Datacenter SP2 on x86</description>
156
156
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6002 Multiprocessor Free)</example>
157
157
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -162,7 +162,7 @@
162
162
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP2"/>
163
163
  </fingerprint>
164
164
 
165
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6002.*$">
165
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6002">
166
166
  <description>Windows Server 2008 SP2 on x86_64</description>
167
167
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6002 Multiprocessor Free)</example>
168
168
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6002 Multiprocessor Free)</example>
@@ -174,7 +174,7 @@
174
174
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP2"/>
175
175
  </fingerprint>
176
176
 
177
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6002.*$">
177
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.0 \(Build 6002">
178
178
  <description>Windows Server 2008 Datacenter SP2 on x86_64</description>
179
179
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6002 Multiprocessor Free)</example>
180
180
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.0 (Build 6002 Multiprocessor Free)</example>
@@ -186,7 +186,7 @@
186
186
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP2"/>
187
187
  </fingerprint>
188
188
 
189
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7600.*$">
189
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7600">
190
190
  <description>Windows Server 2008 R2 on x86</description>
191
191
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)</example>
192
192
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -196,7 +196,7 @@
196
196
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
197
197
  </fingerprint>
198
198
 
199
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7600.*$">
199
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7600">
200
200
  <description>Windows Server 2008 Datacenter R2 on x86</description>
201
201
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)</example>
202
202
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -206,7 +206,7 @@
206
206
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
207
207
  </fingerprint>
208
208
 
209
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7600.*$">
209
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7600">
210
210
  <description>Windows Server 2008 R2 on x86_64</description>
211
211
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)</example>
212
212
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)</example>
@@ -217,7 +217,7 @@
217
217
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
218
218
  </fingerprint>
219
219
 
220
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7600.*$">
220
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7600">
221
221
  <description>Windows Server 2008 Datacenter R2 on x86_64</description>
222
222
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)</example>
223
223
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)</example>
@@ -228,7 +228,7 @@
228
228
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
229
229
  </fingerprint>
230
230
 
231
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7601.*$">
231
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7601">
232
232
  <description>Windows Server 2008 R2 SP1 on x86</description>
233
233
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: x86 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)</example>
234
234
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -239,7 +239,7 @@
239
239
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP1"/>
240
240
  </fingerprint>
241
241
 
242
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7601.*$">
242
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: x86.*Software: Windows Version 6\.1 \(Build 7601">
243
243
  <description>Windows Server 2008 Datacenter R2 SP1 on x86</description>
244
244
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: x86 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)</example>
245
245
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -250,7 +250,7 @@
250
250
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP1"/>
251
251
  </fingerprint>
252
252
 
253
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7601.*$">
253
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7601">
254
254
  <description>Windows Server 2008 R2 SP1 on x86_64</description>
255
255
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)</example>
256
256
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)</example>
@@ -262,7 +262,7 @@
262
262
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP1"/>
263
263
  </fingerprint>
264
264
 
265
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7601.*$">
265
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.3 Hardware: \S+64.*Software: Windows Version 6\.1 \(Build 7601">
266
266
  <description>Windows Server 2008 Datacenter R2 SP1 on x86_64</description>
267
267
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: AMD64 Family 16 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)</example>
268
268
  <example>1.3.6.1.4.1.311.1.1.3.1.3 Hardware: Intel64 Family 15 Model 2 Stepping 5 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)</example>
@@ -274,7 +274,7 @@
274
274
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:SP1"/>
275
275
  </fingerprint>
276
276
 
277
- <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.2 \(Build 9200.*$">
277
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.311\.1\.1\.3\.1\.2 Hardware: \S+64.*Software: Windows Version 6\.2 \(Build 9200">
278
278
  <description>Windows Server 2012 on x86_64</description>
279
279
  <example>1.3.6.1.4.1.311.1.1.3.1.2 Hardware: Intel64 Family 6 Model 2 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.2 (Build 9200 Multiprocessor Free)</example>
280
280
  <param pos="0" name="os.vendor" value="Microsoft"/>
data/xml/ssh_banners.xml CHANGED
@@ -59,7 +59,7 @@
59
59
  <param pos="0" name="service.cpe23" value="cpe:/a:ipswitch:ws_ftp:{service.version}"/>
60
60
  </fingerprint>
61
61
 
62
- <fingerprint pattern="IPSSH[-_]([\d\.p]+).*$">
62
+ <fingerprint pattern="IPSSH[-_]([\d\.p]+)">
63
63
  <description>VxWorks with version information</description>
64
64
  <example os.version="6.9.0">IPSSH-6.9.0</example>
65
65
  <param pos="0" name="os.vendor" value="Wind River"/>
@@ -653,7 +653,7 @@
653
653
  <fingerprint pattern="^OpenSSH_(4\.2p1) (Debian-7ubuntu\d+(?:\.\d+)?)$">
654
654
  <description>OpenSSH running on Ubuntu 6.04</description>
655
655
  <example service.version="4.2p1" openssh.comment="Debian-7ubuntu3.1">OpenSSH_4.2p1 Debian-7ubuntu3.1</example>
656
- <example>OpenSSH_4.2p1 Debian-7ubuntu3.2</example>
656
+ <example service.version="4.2p1" openssh.comment="Debian-7ubuntu3.2">OpenSSH_4.2p1 Debian-7ubuntu3.2</example>
657
657
  <param pos="1" name="service.version"/>
658
658
  <param pos="2" name="openssh.comment"/>
659
659
  <param pos="0" name="service.vendor" value="OpenBSD"/>
@@ -686,9 +686,9 @@
686
686
  <fingerprint pattern="^OpenSSH_(4\.6p1) (Debian-5ubuntu\d+(?:\.\d+)?)$">
687
687
  <description>OpenSSH running on Ubuntu 7.10</description>
688
688
  <example service.version="4.6p1" openssh.comment="Debian-5ubuntu0.2">OpenSSH_4.6p1 Debian-5ubuntu0.2</example>
689
- <example>OpenSSH_4.6p1 Debian-5ubuntu0.5</example>
690
- <example>OpenSSH_4.6p1 Debian-5ubuntu0.6</example>
691
- <example>OpenSSH_4.6p1 Debian-5ubuntu0</example>
689
+ <example service.version="4.6p1" openssh.comment="Debian-5ubuntu0.5">OpenSSH_4.6p1 Debian-5ubuntu0.5</example>
690
+ <example service.version="4.6p1" openssh.comment="Debian-5ubuntu0.6">OpenSSH_4.6p1 Debian-5ubuntu0.6</example>
691
+ <example service.version="4.6p1" openssh.comment="Debian-5ubuntu0">OpenSSH_4.6p1 Debian-5ubuntu0</example>
692
692
  <param pos="1" name="service.version"/>
693
693
  <param pos="2" name="openssh.comment"/>
694
694
  <param pos="0" name="service.vendor" value="OpenBSD"/>
@@ -858,7 +858,7 @@
858
858
  <fingerprint pattern="^OpenSSH_(6\.0p1) (Debian-3ubuntu\d(?:\.\d)?)$">
859
859
  <description>OpenSSH running on Ubuntu 12.10</description>
860
860
  <example service.version="6.0p1" openssh.comment="Debian-3ubuntu1">OpenSSH_6.0p1 Debian-3ubuntu1</example>
861
- <example>OpenSSH_6.0p1 Debian-3ubuntu1.2</example>
861
+ <example service.version="6.0p1" openssh.comment="Debian-3ubuntu1.2">OpenSSH_6.0p1 Debian-3ubuntu1.2</example>
862
862
  <param pos="1" name="service.version"/>
863
863
  <param pos="2" name="openssh.comment"/>
864
864
  <param pos="0" name="service.vendor" value="OpenBSD"/>
@@ -1491,6 +1491,7 @@
1491
1491
  <fingerprint pattern="^OpenSSH_([^\s]+)\s+(Raspbian-\d\d?\+deb9u\d+)$">
1492
1492
  <description>OpenSSH running on Raspbian (Debian 9 "Stretch" based)</description>
1493
1493
  <example service.version="7.4p1" openssh.comment="Raspbian-10+deb9u1">OpenSSH_7.4p1 Raspbian-10+deb9u1</example>
1494
+ <example service.version="7.4p1" openssh.comment="Raspbian-10+deb9u7">OpenSSH_7.4p1 Raspbian-10+deb9u7</example>
1494
1495
  <example service.version="7.4p1" openssh.comment="Raspbian-9+deb9u1">OpenSSH_7.4p1 Raspbian-9+deb9u1</example>
1495
1496
  <param pos="1" name="service.version"/>
1496
1497
  <param pos="2" name="openssh.comment"/>
@@ -1505,10 +1506,11 @@
1505
1506
  <param pos="0" name="hw.product" value="Raspberry Pi"/>
1506
1507
  </fingerprint>
1507
1508
 
1508
- <fingerprint pattern="^OpenSSH_(7\.9p1)\s+(Raspbian-(?:10|\d\d?\+deb10u\d+))$">
1509
+ <fingerprint pattern="^OpenSSH_(7\.9p1)\s+(Raspbian-(?:10|\d\d?\+deb10u\d+)(?:\+rpt\d)?)$">
1509
1510
  <description>OpenSSH running on Raspbian (Debian 10 "Buster" based)</description>
1510
1511
  <example service.version="7.9p1" openssh.comment="Raspbian-10">OpenSSH_7.9p1 Raspbian-10</example>
1511
1512
  <example service.version="7.9p1" openssh.comment="Raspbian-10+deb10u1">OpenSSH_7.9p1 Raspbian-10+deb10u1</example>
1513
+ <example service.version="7.9p1" openssh.comment="Raspbian-10+deb10u2+rpt1">OpenSSH_7.9p1 Raspbian-10+deb10u2+rpt1</example>
1512
1514
  <param pos="1" name="service.version"/>
1513
1515
  <param pos="2" name="openssh.comment"/>
1514
1516
  <param pos="0" name="service.vendor" value="OpenBSD"/>
@@ -1730,6 +1732,7 @@
1730
1732
 
1731
1733
  <fingerprint pattern="^SSH Protocol Compatible Server SCS (.*)$">
1732
1734
  <description>Netscreen with version</description>
1735
+ <example service.version="2.0">SSH Protocol Compatible Server SCS 2.0</example>
1733
1736
  <param pos="1" name="service.version"/>
1734
1737
  <param pos="0" name="service.vendor" value="Juniper"/>
1735
1738
  <param pos="0" name="service.family" value="NetScreen"/>
@@ -1784,7 +1787,7 @@
1784
1787
  <param pos="1" name="os.version"/>
1785
1788
  </fingerprint>
1786
1789
 
1787
- <fingerprint pattern="^([\d.]+)[ _]sshlib:? (?i:GlobalScape)$">
1790
+ <fingerprint pattern="^([\d.]{1,8})[ _]sshlib:? (?i:GlobalScape)$">
1788
1791
  <description>GlobalScape SSH (which uses Bitvise sshlib)</description>
1789
1792
  <example service.component.version="1.36">1.36_sshlib GlobalSCAPE</example>
1790
1793
  <example service.component.version="1.82">1.82_sshlib Globalscape</example>
@@ -1802,7 +1805,7 @@
1802
1805
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1803
1806
  </fingerprint>
1804
1807
 
1805
- <fingerprint pattern="^([^\s]+) sshlib: WinSSHD (.*)$">
1808
+ <fingerprint pattern="^([\d.]{1,8}) sshlib: WinSSHD ([\w.-]*)$">
1806
1809
  <description>Bitvise WinSSHD (which uses Bitvise sshlib)</description>
1807
1810
  <example service.component.version="1.78" service.version="4.15a">1.78 sshlib: WinSSHD 4.15a</example>
1808
1811
  <param pos="1" name="service.component.version"/>
@@ -1819,7 +1822,7 @@
1819
1822
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1820
1823
  </fingerprint>
1821
1824
 
1822
- <fingerprint pattern="^([^\s]+) FlowSsh: (?:Bitvise SSH Server \(WinSSHD\)|WinSSHD) ([\d\.]+):?.*$">
1825
+ <fingerprint pattern="^([\d.]{1,8}) FlowSsh: (?:Bitvise SSH Server \(WinSSHD\)|WinSSHD) ([\d\.]+):?">
1823
1826
  <description>Bitvise WinSSHD (which uses Bitvise flowssh) with version</description>
1824
1827
  <example service.version="5.09" service.component.version="1.03">1.03 FlowSsh: WinSSHD 5.09</example>
1825
1828
  <example service.version="5.20" service.component.version="1.07">1.07 FlowSsh: WinSSHD 5.20: free only for personal non-commercial use</example>
@@ -1838,7 +1841,7 @@
1838
1841
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1839
1842
  </fingerprint>
1840
1843
 
1841
- <fingerprint pattern="^([^\s]+) FlowSsh: (?:Bitvise SSH Server \(WinSSHD\)|WinSSHD)(?: :.*)?$">
1844
+ <fingerprint pattern="^([\d.]{1,8}) FlowSsh: (?:Bitvise SSH Server \(WinSSHD\)|WinSSHD)(?: :.*)?$">
1842
1845
  <description>Bitvise WinSSHD (which uses Bitvise flowssh) without version</description>
1843
1846
  <example service.component.version="9.99">9.99 FlowSsh: Bitvise SSH Server (WinSSHD)</example>
1844
1847
  <example service.component.version="9.99">9.99 FlowSsh: Bitvise SSH Server (WinSSHD) : free only for personal non-commercial use</example>
@@ -1855,8 +1858,9 @@
1855
1858
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1856
1859
  </fingerprint>
1857
1860
 
1858
- <fingerprint pattern="^([^\s]+) sshlib: MOVEit DMZ SSH (.*)$">
1861
+ <fingerprint pattern="^([\d.]{1,8}) sshlib: MOVEit DMZ SSH (.*)$">
1859
1862
  <description>MOVEit DMZ (which uses Bitvise sshlib)</description>
1863
+ <example service.component.version="1.29" service.version="3.0.5.0">1.29 sshlib: MOVEit DMZ SSH 3.0.5.0</example>
1860
1864
  <param pos="1" name="service.component.version"/>
1861
1865
  <param pos="2" name="service.version"/>
1862
1866
  <param pos="0" name="service.component.vendor" value="Bitvise"/>
@@ -1872,7 +1876,7 @@
1872
1876
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1873
1877
  </fingerprint>
1874
1878
 
1875
- <fingerprint pattern="^paramiko_([\d\.]+).*$">
1879
+ <fingerprint pattern="^paramiko_([\d\.]+)">
1876
1880
  <description>Paramiko</description>
1877
1881
  <example service.version="2.1.3">paramiko_2.1.3 501 command not implemented ERROR</example>
1878
1882
  <example service.version="2.1.4">paramiko_2.1.4</example>
@@ -1884,6 +1888,7 @@
1884
1888
 
1885
1889
  <fingerprint pattern="^Pragma SecureShell\s*(.*)$">
1886
1890
  <description>Pragma SecureShell</description>
1891
+ <example service.version="3.0">Pragma SecureShell 3.0</example>
1887
1892
  <param pos="1" name="service.version"/>
1888
1893
  <param pos="0" name="service.vendor" value="Pragma Systems"/>
1889
1894
  <param pos="0" name="service.family" value="FortressSSH Server"/>
@@ -1938,8 +1943,9 @@
1938
1943
  <param pos="0" name="service.cpe23" value="cpe:/a:vandyke:vshell:{service.version}"/>
1939
1944
  </fingerprint>
1940
1945
 
1941
- <fingerprint pattern="^([\s]*)\s*VShell$">
1946
+ <fingerprint pattern="^([\d.]{0,8})\s{1,8}VShell$">
1942
1947
  <description>VanDyke VShell</description>
1948
+ <example service.version="1.0.2">1.0.2 VShell</example>
1943
1949
  <param pos="1" name="service.version"/>
1944
1950
  <param pos="0" name="service.vendor" value="VanDyke Software"/>
1945
1951
  <param pos="0" name="service.family" value="VShell"/>
@@ -1958,7 +1964,7 @@
1958
1964
  <param pos="0" name="service.cpe23" value="cpe:/a:attachmate:reflection_for_secure_it:{service.version}"/>
1959
1965
  </fingerprint>
1960
1966
 
1961
- <fingerprint pattern="^([^\s]*)\s*F-Secure SSH\s*(?:.*)$">
1967
+ <fingerprint pattern="^(\S{0,256})\s{0,256}F-Secure SSH ">
1962
1968
  <description>Attachmate Reflection (formerly F-Secure SSH)</description>
1963
1969
  <example service.version="3.2.3">3.2.3 F-Secure SSH Windows NT Server</example>
1964
1970
  <param pos="1" name="service.version"/>
@@ -1967,7 +1973,7 @@
1967
1973
  <param pos="0" name="service.product" value="Reflection"/>
1968
1974
  </fingerprint>
1969
1975
 
1970
- <fingerprint pattern="^([^\s]*)\s*SSH Tectia Server$">
1976
+ <fingerprint pattern="^(\S{0,256})\s{0,256}SSH Tectia Server$">
1971
1977
  <description>SSH Communications Security Tectia Server - branded</description>
1972
1978
  <example service.version="6.4.12.353">6.4.12.353 SSH Tectia Server</example>
1973
1979
  <param pos="1" name="service.version"/>
@@ -1977,7 +1983,7 @@
1977
1983
  <param pos="0" name="service.cpe23" value="cpe:/a:ssh:tectia_server:{service.version}"/>
1978
1984
  </fingerprint>
1979
1985
 
1980
- <fingerprint pattern="^([0-9\.]+) SSH Secure Shell(?: \(non-commercial\))?$">
1986
+ <fingerprint pattern="^([0-9\.]{1,8}) SSH Secure Shell(?: \(non-commercial\))?$">
1981
1987
  <description>SSH Communications Security Tectia Server</description>
1982
1988
  <example service.version="3.2.9.1">3.2.9.1 SSH Secure Shell (non-commercial)</example>
1983
1989
  <example service.version="4.0.3">4.0.3 SSH Secure Shell</example>
@@ -1989,7 +1995,7 @@
1989
1995
  <param pos="0" name="service.cpe23" value="cpe:/a:ssh:tectia_server:{service.version}"/>
1990
1996
  </fingerprint>
1991
1997
 
1992
- <fingerprint pattern="^([0-9\.]+) SSH Secure Shell Windows NT Server$">
1998
+ <fingerprint pattern="^([0-9\.]{1,8}) SSH Secure Shell Windows NT Server$">
1993
1999
  <description>Unknown Windows SSH server</description>
1994
2000
  <example service.version="4.0.3">4.0.3 SSH Secure Shell Windows NT Server</example>
1995
2001
  <param pos="0" name="os.vendor" value="Microsoft"/>
@@ -2042,8 +2048,9 @@
2042
2048
  <param pos="0" name="os.product" value="NetVanta"/>
2043
2049
  </fingerprint>
2044
2050
 
2045
- <fingerprint pattern="^.*MultiNet.*$">
2051
+ <fingerprint pattern="MultiNet">
2046
2052
  <description>Process Software MultiNet is a suite of network apps for OpenVMS</description>
2053
+ <example>Process Software SSH 6.1.5.0 MultiNet</example>
2047
2054
  <param pos="0" name="service.vendor" value="Process Software"/>
2048
2055
  <param pos="0" name="service.family" value="MultiNet"/>
2049
2056
  <param pos="0" name="service.product" value="MultiNet"/>
@@ -2157,7 +2164,7 @@
2157
2164
  <param pos="0" name="os.certainty" value="0.75"/>
2158
2165
  </fingerprint>
2159
2166
 
2160
- <fingerprint pattern="^\S+ SSH Secure Shell Tru64 UNIX$">
2167
+ <fingerprint pattern="^\S{1,16} SSH Secure Shell Tru64 UNIX$">
2161
2168
  <description>Digital/Compaq/HP Tru64 Unix</description>
2162
2169
  <example>3.2.0 SSH Secure Shell Tru64 UNIX</example>
2163
2170
  <param pos="0" name="os.vendor" value="HP"/>