recog 2.3.8 → 2.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -0
  3. data/CONTRIBUTING.md +136 -37
  4. data/README.md +18 -16
  5. data/bin/recog_cleanup +16 -0
  6. data/bin/recog_standardize +30 -6
  7. data/identifiers/README.md +9 -0
  8. data/identifiers/hw_device.txt +77 -0
  9. data/identifiers/hw_family.txt +96 -0
  10. data/identifiers/hw_product.txt +328 -0
  11. data/identifiers/os_architecture.txt +6 -6
  12. data/identifiers/os_device.txt +45 -3
  13. data/identifiers/os_family.txt +206 -41
  14. data/identifiers/os_product.txt +238 -17
  15. data/identifiers/service_family.txt +144 -57
  16. data/identifiers/service_product.txt +384 -83
  17. data/identifiers/vendor.txt +553 -68
  18. data/lib/recog/version.rb +1 -1
  19. data/requirements.txt +1 -1
  20. data/xml/apache_modules.xml +292 -5
  21. data/xml/apache_os.xml +41 -2
  22. data/xml/architecture.xml +11 -3
  23. data/xml/dns_versionbind.xml +76 -8
  24. data/xml/favicons.xml +1700 -0
  25. data/xml/ftp_banners.xml +178 -8
  26. data/xml/h323_callresp.xml +112 -12
  27. data/xml/hp_pjl_id.xml +47 -5
  28. data/xml/html_title.xml +1258 -25
  29. data/xml/http_cookies.xml +64 -9
  30. data/xml/http_servers.xml +667 -37
  31. data/xml/http_wwwauth.xml +141 -26
  32. data/xml/imap_banners.xml +19 -13
  33. data/xml/ldap_searchresult.xml +81 -9
  34. data/xml/mdns_device-info_txt.xml +175 -2
  35. data/xml/mdns_workstation_txt.xml +4 -2
  36. data/xml/mysql_banners.xml +134 -7
  37. data/xml/mysql_error.xml +113 -6
  38. data/xml/nntp_banners.xml +10 -2
  39. data/xml/ntp_banners.xml +80 -4
  40. data/xml/operating_system.xml +89 -3
  41. data/xml/pop_banners.xml +30 -31
  42. data/xml/rsh_resp.xml +11 -2
  43. data/xml/rtsp_servers.xml +22 -2
  44. data/xml/sip_banners.xml +35 -4
  45. data/xml/sip_user_agents.xml +29 -2
  46. data/xml/smb_native_lm.xml +10 -2
  47. data/xml/smb_native_os.xml +79 -2
  48. data/xml/smtp_banners.xml +146 -7
  49. data/xml/smtp_debug.xml +6 -4
  50. data/xml/smtp_ehlo.xml +7 -5
  51. data/xml/smtp_expn.xml +13 -4
  52. data/xml/smtp_help.xml +23 -4
  53. data/xml/smtp_mailfrom.xml +5 -2
  54. data/xml/smtp_noop.xml +6 -5
  55. data/xml/smtp_quit.xml +5 -4
  56. data/xml/smtp_rcptto.xml +5 -2
  57. data/xml/smtp_rset.xml +4 -4
  58. data/xml/smtp_turn.xml +4 -4
  59. data/xml/smtp_vrfy.xml +14 -4
  60. data/xml/snmp_sysdescr.xml +731 -24
  61. data/xml/snmp_sysobjid.xml +47 -2
  62. data/xml/ssh_banners.xml +175 -5
  63. data/xml/telnet_banners.xml +266 -15
  64. data/xml/x11_banners.xml +26 -3
  65. data/xml/x509_issuers.xml +30 -6
  66. data/xml/x509_subjects.xml +200 -31
  67. metadata +8 -2
@@ -1,10 +1,11 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
2
  <fingerprints matches="apache_os" database_type="util.os" preference="0.10">
3
3
  <!--
4
4
  When an HTTP server is fingerprinted as Apache, a 2nd analysis pass is done
5
5
  on the server headers HTTPProtocolHelper.SERVER_HEADERS: they are matched
6
6
  against the following patterns to extract OS information.
7
7
  -->
8
+
8
9
  <fingerprint pattern=".*\(iSeries\).*">
9
10
  <description>IBM i5/OS iSeries (OS/400)</description>
10
11
  <param pos="0" name="os.vendor" value="IBM"/>
@@ -12,6 +13,7 @@
12
13
  <param pos="0" name="os.product" value="OS/400"/>
13
14
  <param pos="0" name="os.cpe23" value="cpe:/o:ibm:os_400:-"/>
14
15
  </fingerprint>
16
+
15
17
  <fingerprint pattern=".*\(Mandrake Linux/\d+\.\d+\.92mdk\).*">
16
18
  <description>Mandriva (formerly Mandrake) Linux 9.2</description>
17
19
  <param pos="0" name="os.certainty" value="0.9"/>
@@ -21,6 +23,7 @@
21
23
  <param pos="0" name="os.version" value="9.2"/>
22
24
  <param pos="0" name="os.cpe23" value="cpe:/o:mandriva:linux:9.2"/>
23
25
  </fingerprint>
26
+
24
27
  <fingerprint pattern=".*\(Mandrake Linux/\d+\.\d+\.100mdk\).*">
25
28
  <description>Mandriva (formerly Mandrake) Linux 10.0</description>
26
29
  <param pos="0" name="os.certainty" value="0.9"/>
@@ -30,6 +33,7 @@
30
33
  <param pos="0" name="os.version" value="10.0"/>
31
34
  <param pos="0" name="os.cpe23" value="cpe:/o:mandriva:linux:10.0"/>
32
35
  </fingerprint>
36
+
33
37
  <fingerprint pattern=".*\((?:Mandrake|Mandriva) Linux/.*">
34
38
  <description>Mandriva (formerly Mandrake) Linux unknown version</description>
35
39
  <param pos="0" name="os.vendor" value="Mandriva"/>
@@ -37,6 +41,7 @@
37
41
  <param pos="0" name="os.product" value="Linux"/>
38
42
  <param pos="0" name="os.cpe23" value="cpe:/o:mandriva:linux:-"/>
39
43
  </fingerprint>
44
+
40
45
  <fingerprint pattern=".*\(Mandrakelinux/.*">
41
46
  <description>Mandriva (formerly Mandrake) Linux unknown version - variant 2</description>
42
47
  <param pos="0" name="os.vendor" value="Mandriva"/>
@@ -44,12 +49,14 @@
44
49
  <param pos="0" name="os.product" value="Linux"/>
45
50
  <param pos="0" name="os.cpe23" value="cpe:/o:mandriva:linux:-"/>
46
51
  </fingerprint>
52
+
47
53
  <fingerprint pattern=".*\(PalmOS\).*">
48
54
  <description>PalmOS</description>
49
55
  <param pos="0" name="os.vendor" value="Palm"/>
50
56
  <param pos="0" name="os.family" value="PalmOS"/>
51
57
  <param pos="0" name="os.product" value="PalmOS"/>
52
58
  </fingerprint>
59
+
53
60
  <fingerprint pattern=".*\(Win32\).*">
54
61
  <description>Microsoft Windows</description>
55
62
  <param pos="0" name="os.certainty" value="0.75"/>
@@ -58,6 +65,7 @@
58
65
  <param pos="0" name="os.product" value="Windows"/>
59
66
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
60
67
  </fingerprint>
68
+
61
69
  <fingerprint pattern=".*\(Darwin\).*">
62
70
  <description>Apple Mac OS X</description>
63
71
  <param pos="0" name="os.vendor" value="Apple"/>
@@ -65,6 +73,7 @@
65
73
  <param pos="0" name="os.product" value="Mac OS X"/>
66
74
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
67
75
  </fingerprint>
76
+
68
77
  <fingerprint pattern=".*\(Ubuntu\).*">
69
78
  <description>Ubuntu</description>
70
79
  <param pos="0" name="os.vendor" value="Ubuntu"/>
@@ -72,18 +81,21 @@
72
81
  <param pos="0" name="os.product" value="Linux"/>
73
82
  <param pos="0" name="os.cpe23" value="cpe:/o:canonical:ubuntu_linux:-"/>
74
83
  </fingerprint>
84
+
75
85
  <fingerprint pattern=".*(?:Sun )?Cobalt \(Unix\)?.*">
76
86
  <description>Sun Cobalt RaQ (Red Hat based Linux)</description>
77
87
  <param pos="0" name="os.vendor" value="Sun"/>
78
88
  <param pos="0" name="os.family" value="Linux"/>
79
89
  <param pos="0" name="os.product" value="Cobalt RaQ"/>
80
90
  </fingerprint>
91
+
81
92
  <fingerprint pattern=".*\(BlueQuartz\).*">
82
93
  <description>Blue Quartz is created by a Cobalt RaQ UG</description>
83
94
  <param pos="0" name="os.vendor" value="Sun"/>
84
95
  <param pos="0" name="os.family" value="Linux"/>
85
96
  <param pos="0" name="os.product" value="Cobalt RaQ"/>
86
97
  </fingerprint>
98
+
87
99
  <fingerprint pattern="^Apache\/2\.2\.11.*\(Fedora\).*">
88
100
  <description>Red Hat Fedora 11</description>
89
101
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -92,6 +104,7 @@
92
104
  <param pos="0" name="os.version" value="11"/>
93
105
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:11"/>
94
106
  </fingerprint>
107
+
95
108
  <fingerprint pattern="^Apache\/2\.2\.15.*\(Fedora\).*">
96
109
  <description>Red Hat Fedora 13</description>
97
110
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -100,6 +113,7 @@
100
113
  <param pos="0" name="os.version" value="13"/>
101
114
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:13"/>
102
115
  </fingerprint>
116
+
103
117
  <fingerprint pattern="^Apache\/2\.2\.16.*\(Fedora\).*">
104
118
  <description>Red Hat Fedora 14</description>
105
119
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -108,6 +122,7 @@
108
122
  <param pos="0" name="os.version" value="14"/>
109
123
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:14"/>
110
124
  </fingerprint>
125
+
111
126
  <fingerprint pattern="^Apache\/2\.2\.23.*\(Fedora\).*">
112
127
  <description>Red Hat Fedora 17</description>
113
128
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -116,6 +131,7 @@
116
131
  <param pos="0" name="os.version" value="17"/>
117
132
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:17"/>
118
133
  </fingerprint>
134
+
119
135
  <fingerprint pattern="^Apache\/2\.4\.3.*\(Fedora\).*">
120
136
  <description>Red Hat Fedora 18</description>
121
137
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -124,6 +140,7 @@
124
140
  <param pos="0" name="os.version" value="18"/>
125
141
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:18"/>
126
142
  </fingerprint>
143
+
127
144
  <fingerprint pattern=".*\(Fedora\).*">
128
145
  <description>Red Hat Fedora</description>
129
146
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -131,6 +148,7 @@
131
148
  <param pos="0" name="os.product" value="Fedora Core Linux"/>
132
149
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:-"/>
133
150
  </fingerprint>
151
+
134
152
  <fingerprint pattern=".*\(RHEL\).*">
135
153
  <description>Red Hat Enterprise Linux</description>
136
154
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -138,6 +156,7 @@
138
156
  <param pos="0" name="os.product" value="Enterprise Linux"/>
139
157
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:enterprise_linux:-"/>
140
158
  </fingerprint>
159
+
141
160
  <fingerprint pattern=".*\(Red[ -]Hat(?:[/ ]Linux)?\).*">
142
161
  <description>Red Hat Linux</description>
143
162
  <param pos="0" name="os.vendor" value="Red Hat"/>
@@ -145,6 +164,7 @@
145
164
  <param pos="0" name="os.product" value="Linux"/>
146
165
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:linux:-"/>
147
166
  </fingerprint>
167
+
148
168
  <fingerprint pattern=".*\(Red Hat Enterprise (?:Linux)?\).*">
149
169
  <description>Apache OS: Red Hat Enterprise Linux</description>
150
170
  <example os.vendor="Red Hat">Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips</example>
@@ -153,6 +173,7 @@
153
173
  <param pos="0" name="os.product" value="Enterprise Linux"/>
154
174
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:enterprise_linux:-"/>
155
175
  </fingerprint>
176
+
156
177
  <fingerprint pattern=".*Debian(?:[/ ]GNU)?(?:/Linux)?.*">
157
178
  <description>Debian Linux</description>
158
179
  <param pos="0" name="os.vendor" value="Debian"/>
@@ -160,6 +181,7 @@
160
181
  <param pos="0" name="os.product" value="Linux"/>
161
182
  <param pos="0" name="os.cpe23" value="cpe:/o:debian:debian_linux:-"/>
162
183
  </fingerprint>
184
+
163
185
  <fingerprint pattern=".*\((?:Linux/)?S[uU]SE(?:/Linux)?\).*">
164
186
  <description>Novell SuSE Linux</description>
165
187
  <param pos="0" name="os.vendor" value="SuSE"/>
@@ -167,6 +189,7 @@
167
189
  <param pos="0" name="os.product" value="Linux"/>
168
190
  <param pos="0" name="os.cpe23" value="cpe:/o:suse:linux:-"/>
169
191
  </fingerprint>
192
+
170
193
  <fingerprint pattern=".*\(NETWARE\).*">
171
194
  <description>Novell NetWare</description>
172
195
  <param pos="0" name="os.vendor" value="Novell"/>
@@ -174,6 +197,7 @@
174
197
  <param pos="0" name="os.product" value="NetWare"/>
175
198
  <param pos="0" name="os.cpe23" value="cpe:/o:novell:netware:-"/>
176
199
  </fingerprint>
200
+
177
201
  <fingerprint pattern=".*HP-UX_Apache-based_Web_Server.*">
178
202
  <description>HP HP-UX</description>
179
203
  <param pos="0" name="os.vendor" value="HP"/>
@@ -181,6 +205,7 @@
181
205
  <param pos="0" name="os.product" value="HP-UX"/>
182
206
  <param pos="0" name="os.cpe23" value="cpe:/o:hp:hp-ux:-"/>
183
207
  </fingerprint>
208
+
184
209
  <fingerprint pattern=".*\(CentOS\).*">
185
210
  <description>CentOS Linux</description>
186
211
  <param pos="0" name="os.vendor" value="CentOS"/>
@@ -188,12 +213,14 @@
188
213
  <param pos="0" name="os.product" value="Linux"/>
189
214
  <param pos="0" name="os.cpe23" value="cpe:/o:centos:centos:-"/>
190
215
  </fingerprint>
216
+
191
217
  <fingerprint pattern=".*\(Turbolinux\).*">
192
218
  <description>Turbolinux</description>
193
219
  <param pos="0" name="os.vendor" value="Turbolinux"/>
194
220
  <param pos="0" name="os.family" value="Linux"/>
195
221
  <param pos="0" name="os.product" value="Linux"/>
196
222
  </fingerprint>
223
+
197
224
  <fingerprint pattern=".*\(FreeBSD\).*">
198
225
  <description>FreeBSD</description>
199
226
  <param pos="0" name="os.vendor" value="FreeBSD"/>
@@ -201,12 +228,14 @@
201
228
  <param pos="0" name="os.product" value="FreeBSD"/>
202
229
  <param pos="0" name="os.cpe23" value="cpe:/o:freebsd:freebsd:-"/>
203
230
  </fingerprint>
231
+
204
232
  <fingerprint pattern=".*\(Asianux\).*">
205
233
  <description>Asianux Linux</description>
206
234
  <param pos="0" name="os.vendor" value="Asianux"/>
207
235
  <param pos="0" name="os.family" value="Linux"/>
208
236
  <param pos="0" name="os.product" value="Linux"/>
209
237
  </fingerprint>
238
+
210
239
  <fingerprint pattern=".*\(Gentoo(?:/Linux)?\).*">
211
240
  <description>Gentoo Linux</description>
212
241
  <param pos="0" name="os.vendor" value="Gentoo"/>
@@ -214,6 +243,7 @@
214
243
  <param pos="0" name="os.product" value="Linux"/>
215
244
  <param pos="0" name="os.cpe23" value="cpe:/o:gentoo:linux:-"/>
216
245
  </fingerprint>
246
+
217
247
  <fingerprint pattern=".*\(Conectiva(?:/Linux)?\).*">
218
248
  <description>Conectiva Linux</description>
219
249
  <param pos="0" name="os.vendor" value="Conectiva"/>
@@ -221,6 +251,7 @@
221
251
  <param pos="0" name="os.product" value="Linux"/>
222
252
  <param pos="0" name="os.cpe23" value="cpe:/o:conectiva:linux:-"/>
223
253
  </fingerprint>
254
+
224
255
  <fingerprint pattern=".*\(Trustix Secure Linux(?:/Linux)?\).*">
225
256
  <description>Trustix Linux</description>
226
257
  <param pos="0" name="os.vendor" value="Trustix"/>
@@ -228,46 +259,54 @@
228
259
  <param pos="0" name="os.product" value="Secure Linux"/>
229
260
  <param pos="0" name="os.cpe23" value="cpe:/o:trustix:secure_linux:-"/>
230
261
  </fingerprint>
262
+
231
263
  <fingerprint pattern=".*\(White Box\).*">
232
264
  <description>White Box Enterprise Linux</description>
233
265
  <param pos="0" name="os.vendor" value="White Box"/>
234
266
  <param pos="0" name="os.family" value="Linux"/>
235
267
  <param pos="0" name="os.product" value="Enterprise Linux"/>
236
268
  </fingerprint>
269
+
237
270
  <fingerprint pattern=".*\(UnitedLinux\).*">
238
271
  <description>UnitedLinux</description>
239
272
  <param pos="0" name="os.vendor" value="UnitedLinux"/>
240
273
  <param pos="0" name="os.family" value="Linux"/>
241
274
  <param pos="0" name="os.product" value="Linux"/>
242
275
  </fingerprint>
276
+
243
277
  <fingerprint pattern=".*\(PLD/Linux\).*">
244
278
  <description>PLD Linux</description>
245
279
  <param pos="0" name="os.vendor" value="PLD"/>
246
280
  <param pos="0" name="os.family" value="Linux"/>
247
281
  <param pos="0" name="os.product" value="Linux"/>
248
282
  </fingerprint>
283
+
249
284
  <fingerprint pattern=".*\(Vine/Linux\).*">
250
285
  <description>Vine Linux</description>
251
286
  <param pos="0" name="os.vendor" value="Vine"/>
252
287
  <param pos="0" name="os.family" value="Linux"/>
253
288
  <param pos="0" name="os.product" value="Linux"/>
254
289
  </fingerprint>
290
+
255
291
  <fingerprint pattern=".*\(rPath\).*">
256
292
  <description>rPath Linux</description>
257
293
  <param pos="0" name="os.vendor" value="rPath"/>
258
294
  <param pos="0" name="os.family" value="Linux"/>
259
295
  <param pos="0" name="os.product" value="Linux"/>
260
296
  </fingerprint>
297
+
261
298
  <fingerprint pattern=".*\(StartCom Linux\).*">
262
299
  <description>StartCom Linux</description>
263
300
  <param pos="0" name="os.vendor" value="StartCom"/>
264
301
  <param pos="0" name="os.family" value="Linux"/>
265
302
  <param pos="0" name="os.product" value="Linux"/>
266
303
  </fingerprint>
304
+
267
305
  <fingerprint pattern=".*Linux.*">
268
306
  <description>Generic Linux fallback</description>
269
307
  <param pos="0" name="os.certainty" value="0.75"/>
270
308
  <param pos="0" name="os.family" value="Linux"/>
271
309
  <param pos="0" name="os.product" value="Linux"/>
272
310
  </fingerprint>
273
- </fingerprints>
311
+
312
+ </fingerprints>
@@ -1,36 +1,44 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
2
  <fingerprints matches="architecture" database_type="util.os">
3
3
  <!--
4
4
  Generic rules for matching a machine architecture, platform, or chipset
5
5
  -->
6
+
6
7
  <fingerprint pattern="x64|amd64|x86_64" flags="REG_ICASE">
7
8
  <description>x64 (x86_x64)</description>
8
9
  <example>Linux claw 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux</example>
9
10
  <param pos="0" name="os.arch" value="x86_64"/>
10
11
  </fingerprint>
12
+
11
13
  <fingerprint pattern="x86|i[3456]86" flags="REG_ICASE">
12
14
  <description>x86</description>
13
15
  <example>Linux bob 3.2.0-1-generic #3-Ubuntu SMP Wed Dec 11 19:12:55 UTC 2013 i686 i686 i686 GNU/Linux</example>
14
16
  <param pos="0" name="os.arch" value="x86"/>
15
17
  </fingerprint>
18
+
16
19
  <fingerprint pattern="PowerPC|PPC|POWER|ppc">
17
20
  <description>PowerPC</description>
18
21
  <param pos="0" name="os.arch" value="PowerPC"/>
19
22
  </fingerprint>
23
+
20
24
  <fingerprint pattern="SPARC" flags="REG_ICASE">
21
25
  <description>SPARC</description>
22
26
  <param pos="0" name="os.arch" value="Sparc"/>
23
27
  </fingerprint>
28
+
24
29
  <fingerprint pattern="mips" flags="REG_ICASE">
25
30
  <description>MIPS</description>
26
31
  <param pos="0" name="os.arch" value="MIPS"/>
27
32
  </fingerprint>
33
+
28
34
  <fingerprint pattern="arm64|aarch64" flags="REG_ICASE">
29
35
  <description>ARM64 (aarch64)</description>
30
36
  <param pos="0" name="os.arch" value="ARM64"/>
31
- </fingerprint>
37
+ </fingerprint>
38
+
32
39
  <fingerprint pattern="arm" flags="REG_ICASE">
33
40
  <description>ARM</description>
34
41
  <param pos="0" name="os.arch" value="ARM"/>
35
42
  </fingerprint>
36
- </fingerprints>
43
+
44
+ </fingerprints>
@@ -1,22 +1,20 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
2
  <fingerprints matches="dns.versionbind" protocol="dns" database_type="service" preference="0.750">
3
3
  <!--
4
4
  This fingerprint file matches the text string response from a DNS
5
5
  version.bind request.
6
-
7
6
  For example, the string 'dnsmasq-2.76-1-ubnt2' emitted by the command below:
8
-
9
7
  $ nslookup -type=txt -class=chaos VERSION.BIND <dns_server> | grep VERSION.BIND | cut -d\" -f2
10
8
  dnsmasq-2.76-1-ubnt2
11
-
12
9
  -->
10
+
13
11
  <!-- Red Hat package naming:
14
12
  https://fedoraproject.org/wiki/Packaging:DistTag
15
13
  https://fedoraproject.org/wiki/Packaging:Versioning
16
-
17
14
  Enterprise linux release dates:
18
15
  https://access.redhat.com/articles/3078
19
16
  -->
17
+
20
18
  <fingerprint pattern="^(9.[^-]+(?:-rpz\d?[+.]rl[\d.]+)?(?:-[SP]\d)?)-RedHat-[\d.]+[-.][\w.]+el([\d]+)_?(\d*)(?:.[\w.]+)?$">
21
19
  <description>ISC BIND: Red Hat Enterprise Linux</description>
22
20
  <example service.version="9.8.2rc1" os.version="6" os.version.version="9">9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2</example>
@@ -38,10 +36,12 @@
38
36
  <param pos="3" name="os.version.version"/>
39
37
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:enterprise_linux:{os.version}"/>
40
38
  </fingerprint>
39
+
41
40
  <fingerprint pattern="^(9.[^-]+(?:-rl[.\d]+)?(?:-[SP]\d)?)-RedHat-[\d.]+-[\w.]+fc([\d]+)$">
42
41
  <description>ISC BIND: Fedora</description>
43
42
  <example service.version="9.10.4-P8">9.10.4-P8-RedHat-9.10.4-4.P8.fc25</example>
44
43
  <!-- The '-rl' in the example below indicates a rate limiting patch -->
44
+
45
45
  <example service.version="9.9.3-rl.13207.22-P2">9.9.3-rl.13207.22-P2-RedHat-9.9.3-5.P2.fc19</example>
46
46
  <example os.version="10">9.5.2-RedHat-9.5.2-1.fc10</example>
47
47
  <param pos="0" name="service.vendor" value="ISC"/>
@@ -55,6 +55,7 @@
55
55
  <param pos="2" name="os.version"/>
56
56
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:fedora_core:{os.version}"/>
57
57
  </fingerprint>
58
+
58
59
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)-RedHat-[\w.-]+amzn1$">
59
60
  <description>ISC BIND: Red Hat - Amazon hosted</description>
60
61
  <example service.version="9.8.2rc1">9.8.2rc1-RedHat-9.8.2-0.37.rc1.45.amzn1</example>
@@ -67,6 +68,7 @@
67
68
  <param pos="0" name="os.vendor" value="Red Hat"/>
68
69
  <param pos="0" name="os.family" value="Linux"/>
69
70
  </fingerprint>
71
+
70
72
  <fingerprint pattern="(9.[^-]+(?:-[SP]\d)?)-RedHat-[\w.-]+alios([\d\.]+)$">
71
73
  <description>ISC BIND: Red Hat - Alibaba Customized EL</description>
72
74
  <example service.version="9.9.9-P3" os.version="6">9.9.9-P3-RedHat-9.9.9-2.1.alios6</example>
@@ -82,6 +84,7 @@
82
84
  <param pos="2" name="os.version"/>
83
85
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:enterprise_linux:{os.version}"/>
84
86
  </fingerprint>
87
+
85
88
  <fingerprint pattern="^(9.[^-]+(?:rc\d)?(?:-[SP]\d)?)-RedHat-[\d.-]+(?:[-\.][SP]\d)?(?:rc[\d\.]+)?$">
86
89
  <description>ISC BIND: Red Hat nonspecific platform</description>
87
90
  <example service.version="9.9.10-P2">9.9.10-P2-RedHat-9.9.10-P2</example>
@@ -97,6 +100,7 @@
97
100
  <param pos="0" name="os.product" value="Linux"/>
98
101
  <param pos="0" name="os.cpe23" value="cpe:/o:redhat:linux:-"/>
99
102
  </fingerprint>
103
+
100
104
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)-[\d.]+ubuntu[\d.]+-Ubuntu$">
101
105
  <description>ISC BIND: Ubuntu</description>
102
106
  <example service.version="9.9.5">9.9.5-11ubuntu1.1-Ubuntu</example>
@@ -111,6 +115,7 @@
111
115
  <param pos="0" name="os.product" value="Linux"/>
112
116
  <param pos="0" name="os.cpe23" value="cpe:/o:canonical:ubuntu_linux:-"/>
113
117
  </fingerprint>
118
+
114
119
  <fingerprint pattern="^(9.[^-]+-rpz\d?[+.]rl[\d.]+(?:-[SP]\d)?)-Ubuntu-[\d\.:]+[\w\.]+(?:-[SP]\d)?-\d?ubuntu[\d\.]+$">
115
120
  <description>ISC BIND: Ubuntu with Response Policy Zone and Request Limiting patches</description>
116
121
  <example service.version="9.9.3-rpz2+rl.13214.22-P2">9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1</example>
@@ -124,6 +129,7 @@
124
129
  <param pos="0" name="os.product" value="Linux"/>
125
130
  <param pos="0" name="os.cpe23" value="cpe:/o:canonical:ubuntu_linux:-"/>
126
131
  </fingerprint>
132
+
127
133
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)(?:-[\d\.]+)?-Ubuntu$">
128
134
  <description>ISC BIND: Ubuntu short</description>
129
135
  <example service.version="9.10.3-P4">9.10.3-P4-Ubuntu</example>
@@ -139,6 +145,7 @@
139
145
  <param pos="0" name="os.product" value="Linux"/>
140
146
  <param pos="0" name="os.cpe23" value="cpe:/o:canonical:ubuntu_linux:-"/>
141
147
  </fingerprint>
148
+
142
149
  <fingerprint pattern="^(9.[\d\.]+(?:[+-]rpz\d?[+.]rl[\d.]+)?(?:-[SP]\d)?).*[+-]zentyal\d*">
143
150
  <description>ISC BIND: Ubuntu Zentyal custom distribution</description>
144
151
  <example service.version="9.9.5">9.9.5-3+zentyal-Ubuntu</example>
@@ -153,6 +160,7 @@
153
160
  <param pos="0" name="os.family" value="Linux"/>
154
161
  <param pos="0" name="os.product" value="Zentyal"/>
155
162
  </fingerprint>
163
+
156
164
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)-9\+deb8u[\w~\.]+-Debian$">
157
165
  <description>ISC BIND: Debian 8.0 (jessie)</description>
158
166
  <example service.version="9.9.5">9.9.5-9+deb8u11-Debian</example>
@@ -168,6 +176,7 @@
168
176
  <param pos="0" name="os.version" value="8.0"/>
169
177
  <param pos="0" name="os.cpe23" value="cpe:/o:debian:debian_linux:8.0"/>
170
178
  </fingerprint>
179
+
171
180
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)-9wheezy\w+-Debian$">
172
181
  <description>ISC BIND: Debian 7.0 (wheezy)</description>
173
182
  <example service.version="9.9.5">9.9.5-9wheezy1-Debian</example>
@@ -182,6 +191,7 @@
182
191
  <param pos="0" name="os.version" value="7.0"/>
183
192
  <param pos="0" name="os.cpe23" value="cpe:/o:debian:debian_linux:7.0"/>
184
193
  </fingerprint>
194
+
185
195
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)-(?:[\d\.]+-)?Debian$">
186
196
  <description>ISC BIND: Debian no version simple</description>
187
197
  <example service.version="9.10.3-P4">9.10.3-P4-Debian</example>
@@ -197,6 +207,7 @@
197
207
  <param pos="0" name="os.product" value="Linux"/>
198
208
  <param pos="0" name="os.cpe23" value="cpe:/o:debian:debian_linux:-"/>
199
209
  </fingerprint>
210
+
200
211
  <fingerprint pattern="^(9\.\d{1,2}\.\d{1,2}-rpz\d?[+.]rl[\d.]+(?:-[SPW]\d+)?)$">
201
212
  <description>ISC BIND: Response Policy Zone and Request Limiting patches</description>
202
213
  <example service.version="9.8.4-rpz2+rl005.12-P1">9.8.4-rpz2+rl005.12-P1</example>
@@ -207,6 +218,7 @@
207
218
  <param pos="1" name="service.version"/>
208
219
  <param pos="0" name="service.cpe23" value="cpe:/a:isc:bind:{service.version}"/>
209
220
  </fingerprint>
221
+
210
222
  <fingerprint pattern="^DNS Server BIND (9\.\d{1,2}-ESV(?:-R\d+)?(?:-[SPW]\d+)?)$">
211
223
  <description>ISC BIND: ESV</description>
212
224
  <example service.version="9.6-ESV-R7-P2">DNS Server BIND 9.6-ESV-R7-P2</example>
@@ -216,10 +228,12 @@
216
228
  <param pos="1" name="service.version"/>
217
229
  <param pos="0" name="service.cpe23" value="cpe:/a:isc:bind:{service.version}"/>
218
230
  </fingerprint>
231
+
219
232
  <!--
220
233
  FP below might be overly specific, trying to avoid false positive when
221
234
  matching cross-service/protocol.
222
235
  -->
236
+
223
237
  <fingerprint pattern="^(?:BIND )?([89]\.[\d\.]+(?:[ab]\d+)?(?:-ESV(?:-R\d+)?)?(?:-[SPW][\d\.]+)?(?:-REL)?(?:-[W]\d+)?(?:rc\d)?)(?:-NOESW)?$">
224
238
  <description>ISC BIND: bare release number - ESV REL NOESW</description>
225
239
  <example service.version="9.7.0-P1">9.7.0-P1</example>
@@ -242,6 +256,7 @@
242
256
  <param pos="1" name="service.version"/>
243
257
  <param pos="0" name="service.cpe23" value="cpe:/a:isc:bind:{service.version}"/>
244
258
  </fingerprint>
259
+
245
260
  <fingerprint pattern="^dnsmasq-(\d.[\w\.]+)$">
246
261
  <description>dnsmasq: simple</description>
247
262
  <example service.version="2.40">dnsmasq-2.40</example>
@@ -254,6 +269,7 @@
254
269
  <param pos="1" name="service.version"/>
255
270
  <param pos="0" name="service.cpe23" value="cpe:/a:thekelleys:dnsmasq:{service.version}"/>
256
271
  </fingerprint>
272
+
257
273
  <fingerprint pattern="^dnsmasq-(\d.[\w]+-\d)-ubnt\d$">
258
274
  <description>dnsmasq: Ubiquiti</description>
259
275
  <example service.version="2.76-1">dnsmasq-2.76-1-ubnt2</example>
@@ -266,7 +282,9 @@
266
282
  <!-- Not including more info at this time as I'm not sure this doesn't
267
283
  run on products other than EdgeRouter.
268
284
  -->
285
+
269
286
  </fingerprint>
287
+
270
288
  <fingerprint pattern="^dnsmasq-(\d.[\w]+)-OpenDNS-\d$">
271
289
  <description>dnsmasq: OpenDNS variant</description>
272
290
  <example service.version="2.15">dnsmasq-2.15-OpenDNS-1</example>
@@ -278,7 +296,9 @@
278
296
  <!-- Seems to correlate with OpenWRT and Netgear but I haven't been able
279
297
  to verify that it isn't used elsewhere.
280
298
  -->
299
+
281
300
  </fingerprint>
301
+
282
302
  <fingerprint pattern="^dnsmasq-?(?:UNKNOWN)?$">
283
303
  <description>dnsmasq: no version</description>
284
304
  <example>dnsmasq-UNKNOWN</example>
@@ -289,6 +309,7 @@
289
309
  <param pos="0" name="service.product" value="Dnsmasq"/>
290
310
  <param pos="0" name="service.cpe23" value="cpe:/a:thekelleys:dnsmasq:-"/>
291
311
  </fingerprint>
312
+
292
313
  <fingerprint pattern="^PowerDNS Recursor (\d\.[\d.]+(?:-\w+)?) \(\w+@[\w.]+ built \d+ \w+@[\w.-]*\)$">
293
314
  <description>PowerDNS Recursor</description>
294
315
  <example service.version="3.6.2">PowerDNS Recursor 3.6.2 (jenkins@autotest.powerdns.com built 20141031140810 mockbuild@)</example>
@@ -299,6 +320,7 @@
299
320
  <param pos="1" name="service.version"/>
300
321
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:recursor:{service.version}"/>
301
322
  </fingerprint>
323
+
302
324
  <fingerprint pattern="^PowerDNS Recursor (\d\.[\d.]+) \(built [\w\s:]+ by [\w]+\@[\w.-]*\)$">
303
325
  <description>PowerDNS Recursor: format 2</description>
304
326
  <example service.version="4.0.4">PowerDNS Recursor 4.0.4 (built Apr 13 2017 09:59:06 by root@oof-e.baz.foo.bar)</example>
@@ -308,6 +330,7 @@
308
330
  <param pos="1" name="service.version"/>
309
331
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:recursor:{service.version}"/>
310
332
  </fingerprint>
333
+
311
334
  <fingerprint pattern="^PowerDNS Recursor (\d\.[\d.]+(?:-\w+)?)$">
312
335
  <description>PowerDNS Recursor: version only</description>
313
336
  <example service.version="4.0.4">PowerDNS Recursor 4.0.4</example>
@@ -318,6 +341,7 @@
318
341
  <param pos="1" name="service.version"/>
319
342
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:recursor:{service.version}"/>
320
343
  </fingerprint>
344
+
321
345
  <fingerprint pattern="^PowerDNS Recursor (\d\.[\d.]+) \$Id[^$]*\$$">
322
346
  <description>PowerDNS Recursor: ID format</description>
323
347
  <example service.version="3.5.3">PowerDNS Recursor 3.5.3 $Id$</example>
@@ -328,6 +352,7 @@
328
352
  <param pos="1" name="service.version"/>
329
353
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:recursor:{service.version}"/>
330
354
  </fingerprint>
355
+
331
356
  <fingerprint pattern="^PowerDNS Recursor$">
332
357
  <description>PowerDNS Recursor: no version</description>
333
358
  <example>PowerDNS Recursor</example>
@@ -336,6 +361,7 @@
336
361
  <param pos="0" name="service.product" value="Recursor"/>
337
362
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:recursor:-"/>
338
363
  </fingerprint>
364
+
339
365
  <fingerprint pattern="^PowerDNS Authoritative Server (\d\.[\d.]+(?:-rc\d)?) \(\w+@[\w.]+ built [\d\s]+\w*@[\w.-]*\)$">
340
366
  <description>PowerDNS Authoritative Server</description>
341
367
  <example service.version="3.4.19">PowerDNS Authoritative Server 3.4.19 (jenkins@autotest.powerdns.com built 20160102220341 root@)</example>
@@ -349,6 +375,7 @@
349
375
  <param pos="1" name="service.version"/>
350
376
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:authoritative_server:{service.version}"/>
351
377
  </fingerprint>
378
+
352
379
  <fingerprint pattern="^PowerDNS Authoritative Server (\d\.[\w.]+(?:-rc\d)?(?:-alpha\d)?(?:-beta\d)?) \(built [\w\s:]+ by [\w]+\@[\w.-:-]*\)$">
353
380
  <description>PowerDNS Authoritative Server: format 2</description>
354
381
  <example service.version="4.0.4">PowerDNS Authoritative Server 4.0.4 (built Jul 26 2017 15:04:27 by root@FreeBSD:11:amd64-default-job-03)</example>
@@ -362,6 +389,7 @@
362
389
  <param pos="1" name="service.version"/>
363
390
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:authoritative_server:{service.version}"/>
364
391
  </fingerprint>
392
+
365
393
  <fingerprint pattern="^PowerDNS Authoritative Server (\d\.[\d.]+(?:-\w+)?)$">
366
394
  <description>PowerDNS Authoritative Server: version only</description>
367
395
  <example service.version="4.0.0">PowerDNS Authoritative Server 4.0.0</example>
@@ -372,12 +400,14 @@
372
400
  <param pos="1" name="service.version"/>
373
401
  <param pos="0" name="service.cpe23" value="cpe:/a:powerdns:authoritative_server:{service.version}"/>
374
402
  </fingerprint>
403
+
375
404
  <!-- PowerDNS returns 'Served by ...' when the 'version-string' configuration
376
405
  value / arguement is set to 'powerdns'. If this value is set to
377
406
  'anonymous' then PowerDNS will return a ServFail DNS response
378
407
  The matches below are *probably* Authoritative Server but we can't be
379
408
  sure.
380
409
  -->
410
+
381
411
  <fingerprint pattern="^Served by POWERDNS (\d\.[\d.]+) \$Id[^$]*\$$">
382
412
  <description>PowerDNS: Served by format with version</description>
383
413
  <example service.version="2.9.22">Served by POWERDNS 2.9.22 $Id: packethandler.cc 1321 2008-12-06 19:44:36Z ahu $</example>
@@ -385,6 +415,7 @@
385
415
  <param pos="0" name="service.family" value="PowerDNS"/>
386
416
  <param pos="1" name="service.version"/>
387
417
  </fingerprint>
418
+
388
419
  <fingerprint pattern="^Served by PowerDNS - https?:\/\/www.powerdns.com\/?$">
389
420
  <description>PowerDNS: Served by format without version</description>
390
421
  <example>Served by PowerDNS - https://www.powerdns.com/</example>
@@ -392,6 +423,7 @@
392
423
  <param pos="0" name="service.vendor" value="PowerDNS"/>
393
424
  <param pos="0" name="service.family" value="PowerDNS"/>
394
425
  </fingerprint>
426
+
395
427
  <fingerprint pattern="^Nominum Vantio(?: CacheServe)? ([\d.]+)$">
396
428
  <description>Nominum Vantio CacheServe</description>
397
429
  <example service.version="4.3.0.2">Nominum Vantio 4.3.0.2</example>
@@ -401,6 +433,7 @@
401
433
  <param pos="0" name="service.product" value="CacheServe"/>
402
434
  <param pos="1" name="service.version"/>
403
435
  </fingerprint>
436
+
404
437
  <fingerprint pattern="^Nominum Vantio ([\d.]+) \(build (\d+)\)$">
405
438
  <description>Nominum Vantio CacheServe, with build</description>
406
439
  <example service.version="5.4.5.1" service.version.version="114872">Nominum Vantio 5.4.5.1 (build 114872)</example>
@@ -410,6 +443,7 @@
410
443
  <param pos="1" name="service.version"/>
411
444
  <param pos="2" name="service.version.version"/>
412
445
  </fingerprint>
446
+
413
447
  <fingerprint pattern="^Nominum ANS(?:Premier)? ([\d\.]+)$">
414
448
  <description>Nominum Vantio AuthServ</description>
415
449
  <example service.version="5.4.0.0">Nominum ANS 5.4.0.0</example>
@@ -419,6 +453,7 @@
419
453
  <param pos="0" name="service.product" value="AuthServ"/>
420
454
  <param pos="1" name="service.version"/>
421
455
  </fingerprint>
456
+
422
457
  <fingerprint pattern="^NSD ([\d.]*(?:b\d+)?)$">
423
458
  <description>NLnet Labs Name Server Daemon</description>
424
459
  <example service.version="3.2.18">NSD 3.2.18</example>
@@ -430,6 +465,7 @@
430
465
  <param pos="0" name="service.product" value="dnsd"/>
431
466
  <param pos="1" name="service.version"/>
432
467
  </fingerprint>
468
+
433
469
  <fingerprint pattern="^unbound ([\d.]+)$">
434
470
  <description>NLnet Labs Unbound</description>
435
471
  <example service.version="1.4.22">unbound 1.4.22</example>
@@ -438,6 +474,7 @@
438
474
  <param pos="0" name="service.product" value="unbound"/>
439
475
  <param pos="1" name="service.version"/>
440
476
  </fingerprint>
477
+
441
478
  <fingerprint pattern="^(?i:unbound)$">
442
479
  <description>NLnet Labs Unbound no version string</description>
443
480
  <example>unbound</example>
@@ -445,6 +482,7 @@
445
482
  <param pos="0" name="service.family" value="Unbound"/>
446
483
  <param pos="0" name="service.product" value="unbound"/>
447
484
  </fingerprint>
485
+
448
486
  <fingerprint pattern="^(?:BIND )?(9.[^-]+(?:-[SP]\d)?)-9\+deb8u\d+-Raspbian$">
449
487
  <description>ISC BIND: Raspbian based on Debian Jessie</description>
450
488
  <example service.version="9.9.5">9.9.5-9+deb8u7-Raspbian</example>
@@ -459,6 +497,7 @@
459
497
  <param pos="0" name="os.product" value="Linux"/>
460
498
  <param pos="0" name="os.version" value="8.0"/>
461
499
  </fingerprint>
500
+
462
501
  <fingerprint pattern="^(9.[^-]+(?:-[SP]\d)?)-(?:\d-)?Raspbian$">
463
502
  <description>ISC BIND: Raspbian based on Debian Jessie no version simple</description>
464
503
  <example service.version="9.10.3-P4">9.10.3-P4-Raspbian</example>
@@ -471,6 +510,7 @@
471
510
  <param pos="0" name="os.family" value="Linux"/>
472
511
  <param pos="0" name="os.product" value="Linux"/>
473
512
  </fingerprint>
513
+
474
514
  <fingerprint pattern="^Knot DNS ([\d.]+(?:-dev)?)$">
475
515
  <description>Knot DNS</description>
476
516
  <example service.version="1.6.0">Knot DNS 1.6.0</example>
@@ -480,6 +520,7 @@
480
520
  <param pos="0" name="service.product" value="DNS"/>
481
521
  <param pos="1" name="service.version"/>
482
522
  </fingerprint>
523
+
483
524
  <fingerprint pattern="^UltraDNS Resolver$">
484
525
  <description>Neustar UltraDNS Resolver</description>
485
526
  <example>UltraDNS Resolver</example>
@@ -487,6 +528,7 @@
487
528
  <param pos="0" name="service.family" value="UltraDNS"/>
488
529
  <param pos="0" name="service.product" value="Resolver"/>
489
530
  </fingerprint>
531
+
490
532
  <fingerprint pattern="^UltraDNS TLD Platform - www\.ultradns\.com$">
491
533
  <description>Neustar UltraDNS TLD Platform</description>
492
534
  <example>UltraDNS TLD Platform - www.ultradns.com</example>
@@ -494,24 +536,25 @@
494
536
  <param pos="0" name="service.family" value="UltraDNS"/>
495
537
  <param pos="0" name="service.product" value="Resolver"/>
496
538
  </fingerprint>
539
+
497
540
  <!-- For Microsoft OSes the build number applies to the family. For example,
498
541
  6.3.9600 is used by Windows 8.1 Update 1 as well as Windows 2012 R2. We
499
542
  are assuming that the server version of the OS is what we are
500
543
  fingerprinting since installation of the DNS service on the workstation
501
544
  class OS would be unlikely and difficult if possible at all.
502
-
503
545
  DNS version response is disabled by default on modern Windows versions
504
546
  and the detail in the response is controlled via the EnableVersionQuery
505
547
  setting.
506
-
507
548
  The to enable version response on modern versions is:
508
549
  dnscmd /config /EnableVersionQuery 1
509
550
  -->
551
+
510
552
  <fingerprint pattern="^Microsoft DNS (10.0.\d+)(?: \(\w+\))?$">
511
553
  <description>Microsoft DNS on Windows 2016: GA</description>
512
554
  <!-- Windows 10 / 2016 moved towards a rolling release so capturing build
513
555
  is required unlike other Windows versions where we use a fixed string.
514
556
  -->
557
+
515
558
  <example service.version="10.0.14393" os.build="10.0.14393">Microsoft DNS 10.0.14393 (383900CE)</example>
516
559
  <param pos="0" name="service.vendor" value="Microsoft"/>
517
560
  <param pos="0" name="service.family" value="DNS"/>
@@ -523,6 +566,7 @@
523
566
  <param pos="1" name="os.build"/>
524
567
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2016:-"/>
525
568
  </fingerprint>
569
+
526
570
  <fingerprint pattern="^Microsoft DNS 6.3.9600(?: \(\w+\))?$">
527
571
  <description>Microsoft DNS on Windows 2012 R2</description>
528
572
  <example>Microsoft DNS 6.3.9600 (25804825)</example>
@@ -536,6 +580,7 @@
536
580
  <param pos="0" name="os.build" value="6.3.9600"/>
537
581
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2012:-"/>
538
582
  </fingerprint>
583
+
539
584
  <fingerprint pattern="^Microsoft DNS 6.2.9200(?: \(\w+\))?$">
540
585
  <description>Microsoft DNS on Windows 2012</description>
541
586
  <example>Microsoft DNS 6.2.9200 (23F04000)</example>
@@ -549,6 +594,7 @@
549
594
  <param pos="0" name="os.build" value="6.2.9200"/>
550
595
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2012:-"/>
551
596
  </fingerprint>
597
+
552
598
  <fingerprint pattern="^Microsoft DNS 6.1.7601(?: \(\w+\))?$">
553
599
  <description>Microsoft DNS on Windows 2008 R2 Service Pack 1</description>
554
600
  <example>Microsoft DNS 6.1.7601 (1DB15CD4)</example>
@@ -564,6 +610,7 @@
564
610
  <param pos="0" name="os.build" value="6.1.7601"/>
565
611
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:Service Pack 1"/>
566
612
  </fingerprint>
613
+
567
614
  <fingerprint pattern="^Microsoft DNS 6.1.7600(?: \(\w+\))?$">
568
615
  <description>Microsoft DNS on Windows 2008 R2</description>
569
616
  <example>Microsoft DNS 6.1.7600 (1DB04228)</example>
@@ -577,6 +624,7 @@
577
624
  <param pos="0" name="os.build" value="6.1.7600"/>
578
625
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:-"/>
579
626
  </fingerprint>
627
+
580
628
  <fingerprint pattern="^Microsoft DNS 6.0.6002(?: \(\w+\))?$">
581
629
  <description>Microsoft DNS on Windows 2008 Service Pack 2</description>
582
630
  <example>Microsoft DNS 6.0.6002 (17724D35)</example>
@@ -591,6 +639,7 @@
591
639
  <param pos="0" name="os.build" value="6.0.6002"/>
592
640
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:Service Pack 2"/>
593
641
  </fingerprint>
642
+
594
643
  <fingerprint pattern="^Microsoft DNS 6.0.6001(?: \(\w+\))?$">
595
644
  <description>Microsoft DNS on Windows 2008 Service Pack 1</description>
596
645
  <example>Microsoft DNS 6.0.6001 (17714726)</example>
@@ -605,6 +654,7 @@
605
654
  <param pos="0" name="os.build" value="6.0.6001"/>
606
655
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_server_2008:Service Pack 1"/>
607
656
  </fingerprint>
657
+
608
658
  <fingerprint pattern="^DNSServer$">
609
659
  <description>Synology DNS service</description>
610
660
  <example>DNSServer</example>
@@ -618,6 +668,7 @@
618
668
  <param pos="0" name="hw.vendor" value="Synology"/>
619
669
  <param pos="0" name="hw.device" value="NAS"/>
620
670
  </fingerprint>
671
+
621
672
  <fingerprint pattern="^Incognito DNS Service ([\d\.]+) \(built">
622
673
  <description>Incognito DNS Service</description>
623
674
  <example service.version="6.4.4.2">Incognito DNS Service 6.4.4.2 (built Aug 10 2015) [up=15d30902s, ser=9876]</example>
@@ -626,6 +677,7 @@
626
677
  <param pos="0" name="service.product" value="DNS"/>
627
678
  <param pos="1" name="service.version"/>
628
679
  </fingerprint>
680
+
629
681
  <fingerprint pattern="^(?i:djbdns)[\s-](\d.\d+)$">
630
682
  <description>djbdns</description>
631
683
  <example service.version="1.05">djbdns 1.05</example>
@@ -636,6 +688,7 @@
636
688
  <param pos="0" name="service.product" value="djbdns"/>
637
689
  <param pos="1" name="service.version"/>
638
690
  </fingerprint>
691
+
639
692
  <fingerprint pattern="^(?i:djbdns)$">
640
693
  <description>djbdns: no version</description>
641
694
  <example>DJBDNS</example>
@@ -644,6 +697,7 @@
644
697
  <param pos="0" name="service.family" value="djbdns"/>
645
698
  <param pos="0" name="service.product" value="djbdns"/>
646
699
  </fingerprint>
700
+
647
701
  <fingerprint pattern="^rbldnsd (\d[\.\w\/-]+) \(\d\d \w\w\w \d\d\d\d\)$">
648
702
  <description>rbldnsd</description>
649
703
  <example service.version="0.997a">rbldnsd 0.997a (23 Jul 2013)</example>
@@ -654,6 +708,7 @@
654
708
  <param pos="0" name="service.product" value="rbldnsd"/>
655
709
  <param pos="1" name="service.version"/>
656
710
  </fingerprint>
711
+
657
712
  <fingerprint pattern="^ALU DNS ([\d\.]+) Build (\d+)$">
658
713
  <description>ALU (Alcatel Lucent?) DNS</description>
659
714
  <example service.version="6.2">ALU DNS 6.2 Build 22</example>
@@ -664,6 +719,7 @@
664
719
  <param pos="1" name="service.version"/>
665
720
  <param pos="2" name="service.version.version"/>
666
721
  </fingerprint>
722
+
667
723
  <fingerprint pattern="^DraytekDNS-v([\d\.]+)$">
668
724
  <description>DrayTek DNS</description>
669
725
  <example service.version="1.2.3006">DraytekDNS-v1.2.3006</example>
@@ -673,15 +729,18 @@
673
729
  <param pos="1" name="service.version"/>
674
730
  <param pos="0" name="hw.vendor" value="DrayTek"/>
675
731
  </fingerprint>
732
+
676
733
  <fingerprint pattern="^Atlas Anchor ([\d\.]+)$">
677
734
  <description>Ripe ATLAS Anchor</description>
678
735
  <!-- https://atlas.ripe.net/docs/anchors/ -->
736
+
679
737
  <example service.version="0.1">Atlas Anchor 0.1</example>
680
738
  <param pos="0" name="service.vendor" value="RIPE"/>
681
739
  <param pos="0" name="service.family" value="Atlas Anchor"/>
682
740
  <param pos="0" name="service.product" value="DNS"/>
683
741
  <param pos="1" name="service.version"/>
684
742
  </fingerprint>
743
+
685
744
  <fingerprint pattern="^ZyWALL DNS$">
686
745
  <description>ZyWALL DNS</description>
687
746
  <example>ZyWALL DNS</example>
@@ -690,6 +749,7 @@
690
749
  <param pos="0" name="service.product" value="DNS"/>
691
750
  <param pos="0" name="hw.vendor" value="Zyxel"/>
692
751
  </fingerprint>
752
+
693
753
  <fingerprint pattern="^Array SmartDNS$">
694
754
  <description>Array Networks SmartDNS</description>
695
755
  <example>Array SmartDNS</example>
@@ -697,6 +757,7 @@
697
757
  <param pos="0" name="service.family" value="APV"/>
698
758
  <param pos="0" name="service.product" value="SmartDNS"/>
699
759
  </fingerprint>
760
+
700
761
  <fingerprint pattern="^gdnsd$">
701
762
  <description>gdnsd</description>
702
763
  <example>gdnsd</example>
@@ -704,6 +765,7 @@
704
765
  <param pos="0" name="service.family" value="gdnsd"/>
705
766
  <param pos="0" name="service.product" value="gdnsd"/>
706
767
  </fingerprint>
768
+
707
769
  <fingerprint pattern="^Hi: [\w\.: =]+\d{4}$">
708
770
  <description>OzymanDNS DNS tunnel</description>
709
771
  <example>Hi: Thu Aug 17 23:29:10 2017</example>
@@ -712,6 +774,7 @@
712
774
  <param pos="0" name="service.family" value="OzymanDNS"/>
713
775
  <param pos="0" name="service.product" value="OzymanDNS"/>
714
776
  </fingerprint>
777
+
715
778
  <fingerprint pattern="^Meta IP[\s\/]DNS (?:V[\d\.]+ )?- BIND V([\d\.]+(?:-REL)?) \(Build (\d+)\s?\)$">
716
779
  <description>Check Point Meta IP</description>
717
780
  <example service.version="8.2.7-REL">Meta IP DNS - BIND V8.2.7-REL (Build 31)</example>
@@ -722,6 +785,7 @@
722
785
  <param pos="1" name="service.version"/>
723
786
  <param pos="2" name="service.version.version"/>
724
787
  </fingerprint>
788
+
725
789
  <fingerprint pattern="^CleanBrowsing v([^ ]+) - (.*)">
726
790
  <description>CleanBrowsing DNS Server</description>
727
791
  <example service.vendor="CleanBrowsing" service.family="CleanBrowsing" service.version="1.5a" service.node="dns-edge-usa-west-sunnyvale-p">CleanBrowsing v1.5a - dns-edge-usa-west-sunnyvale-p</example>
@@ -732,6 +796,7 @@
732
796
  <param pos="1" name="service.version"/>
733
797
  <param pos="2" name="service.node"/>
734
798
  </fingerprint>
799
+
735
800
  <fingerprint pattern="^dnsmasq-pi-hole-(.*)$">
736
801
  <description>dnsmasq: pi-hole</description>
737
802
  <example service.version="2.80">dnsmasq-pi-hole-2.80</example>
@@ -741,6 +806,7 @@
741
806
  <param pos="1" name="service.version"/>
742
807
  <param pos="0" name="service.cpe23" value="cpe:/a:pi-hole:pi-hole:{service.version}"/>
743
808
  </fingerprint>
809
+
744
810
  <fingerprint pattern="^Q9-[^\-]-(.*)$">
745
811
  <description>Quad9 Resolver</description>
746
812
  <example service.vendor="IBM" service.family="Quad9" service.product="DNS" service.version="6.0">Q9-P-6.0</example>
@@ -749,6 +815,7 @@
749
815
  <param pos="0" name="service.product" value="DNS"/>
750
816
  <param pos="1" name="service.version"/>
751
817
  </fingerprint>
818
+
752
819
  <fingerprint pattern="^keweonDNS v\.(.*)$">
753
820
  <description>Keweon DNS</description>
754
821
  <example service.vendor="Keweon" service.product="DNS" service.version="9.63.7201">keweonDNS v.9.63.7201</example>
@@ -756,4 +823,5 @@
756
823
  <param pos="0" name="service.product" value="DNS"/>
757
824
  <param pos="1" name="service.version"/>
758
825
  </fingerprint>
759
- </fingerprints>
826
+
827
+ </fingerprints>