recog 2.3.20 → 2.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +8 -0
- data/.github/workflows/ci.yml +1 -1
- data/.github/workflows/verify.yml +89 -0
- data/.vscode/bin/monitor-recog-fingerprints.sh +54 -0
- data/.vscode/extensions.json +5 -0
- data/.vscode/settings.json +8 -0
- data/.vscode/tasks.json +77 -0
- data/CONTRIBUTING.md +8 -0
- data/README.md +17 -0
- data/bin/recog_standardize +28 -13
- data/bin/recog_verify +42 -8
- data/cpe-remap.yaml +62 -3
- data/features/data/schema_failure.xml +4 -0
- data/features/data/tests_with_failures.xml +6 -0
- data/features/support/hooks.rb +9 -0
- data/features/verify.feature +85 -21
- data/identifiers/fields.txt +6 -5
- data/identifiers/hw_device.txt +8 -0
- data/identifiers/hw_family.txt +8 -0
- data/identifiers/hw_product.txt +54 -0
- data/identifiers/os_device.txt +2 -0
- data/identifiers/os_family.txt +2 -0
- data/identifiers/os_product.txt +18 -2
- data/identifiers/service_product.txt +26 -0
- data/identifiers/vendor.txt +62 -1
- data/lib/recog/db.rb +2 -1
- data/lib/recog/fingerprint.rb +33 -6
- data/lib/recog/fingerprint_parse_error.rb +10 -0
- data/lib/recog/nizer.rb +1 -82
- data/lib/recog/verifier.rb +9 -9
- data/lib/recog/verify_reporter.rb +17 -6
- data/lib/recog/version.rb +1 -1
- data/requirements.txt +1 -1
- data/spec/data/external_example_fingerprint/hp_printer_ex_01.txt +1 -0
- data/spec/data/external_example_fingerprint/hp_printer_ex_02.txt +1 -0
- data/spec/data/external_example_fingerprint.xml +8 -0
- data/spec/data/external_example_illegal_path_fingerprint.xml +7 -0
- data/spec/lib/fingerprint_self_test_spec.rb +1 -0
- data/spec/lib/recog/db_spec.rb +84 -61
- data/spec/lib/recog/fingerprint_spec.rb +4 -4
- data/spec/lib/recog/verify_reporter_spec.rb +73 -4
- data/tools/dev/hooks/pre-commit +21 -0
- data/update_cpes.py +130 -37
- data/xml/apache_os.xml +98 -56
- data/xml/architecture.xml +15 -1
- data/xml/dhcp_vendor_class.xml +206 -0
- data/xml/dns_versionbind.xml +26 -13
- data/xml/favicons.xml +236 -47
- data/xml/fingerprints.xsd +9 -1
- data/xml/ftp_banners.xml +213 -197
- data/xml/h323_callresp.xml +101 -101
- data/xml/hp_pjl_id.xml +84 -84
- data/xml/html_title.xml +715 -45
- data/xml/http_cookies.xml +143 -80
- data/xml/http_servers.xml +510 -310
- data/xml/http_wwwauth.xml +177 -75
- data/xml/imap_banners.xml +10 -10
- data/xml/mdns_device-info_txt.xml +421 -26
- data/xml/mysql_banners.xml +3 -2
- data/xml/nntp_banners.xml +12 -9
- data/xml/ntp_banners.xml +97 -97
- data/xml/operating_system.xml +98 -83
- data/xml/pop_banners.xml +27 -27
- data/xml/rsh_resp.xml +3 -3
- data/xml/sip_banners.xml +46 -8
- data/xml/sip_user_agents.xml +180 -27
- data/xml/smb_native_lm.xml +5 -5
- data/xml/smb_native_os.xml +28 -25
- data/xml/smtp_banners.xml +258 -254
- data/xml/smtp_ehlo.xml +1 -1
- data/xml/smtp_help.xml +11 -11
- data/xml/smtp_noop.xml +2 -2
- data/xml/snmp_sysdescr.xml +1554 -1429
- data/xml/snmp_sysobjid.xml +27 -27
- data/xml/ssh_banners.xml +27 -20
- data/xml/telnet_banners.xml +256 -57
- data/xml/tls_jarm.xml +48 -6
- data/xml/x11_banners.xml +3 -3
- data/xml/x509_issuers.xml +69 -2
- data/xml/x509_subjects.xml +144 -33
- metadata +24 -4
- data/lib/recog/verifier_factory.rb +0 -13
data/xml/x509_subjects.xml
CHANGED
@@ -69,12 +69,12 @@
|
|
69
69
|
|
70
70
|
<fingerprint pattern="^SERIALNUMBER=PID:([^ ]+) SN:([^,]+),CN=(?:[a-zA-Z0-9\-]+)-SEP([a-fA-F0-9]{12}),OU=[CV]TG,O=Cisco Systems Inc\.$">
|
71
71
|
<description>Cisco IP phone with serial number</description>
|
72
|
-
<example host.mac="B07D47D33A1C" hw.product="CP-8851"
|
73
|
-
<example host.mac="64D989000000" hw.product="CP-9951"
|
72
|
+
<example host.mac="B07D47D33A1C" hw.product="CP-8851" hw.serial_number="FCH1924AHCA">SERIALNUMBER=PID:CP-8851 SN:FCH1924AHCA,CN=CP-8851-SEPB07D47D33A1C,OU=CTG,O=Cisco Systems Inc.</example>
|
73
|
+
<example host.mac="64D989000000" hw.product="CP-9951" hw.serial_number="FCH15200000">SERIALNUMBER=PID:CP-9951 SN:FCH15200000,CN=CP-9951-SEP64D989000000,OU=VTG,O=Cisco Systems Inc.</example>
|
74
74
|
<param pos="0" name="hw.device" value="VoIP"/>
|
75
75
|
<param pos="0" name="hw.vendor" value="Cisco"/>
|
76
76
|
<param pos="1" name="hw.product"/>
|
77
|
-
<param pos="2" name="
|
77
|
+
<param pos="2" name="hw.serial_number"/>
|
78
78
|
<param pos="3" name="host.mac"/>
|
79
79
|
</fingerprint>
|
80
80
|
|
@@ -216,7 +216,7 @@
|
|
216
216
|
|
217
217
|
<fingerprint pattern="^CN=([A-Za-z0-9\_\-\.]+),OU=ISS,O=Hewlett-Packard Company,L=Houston,ST=Texas,C=US$">
|
218
218
|
<description>HP iLO</description>
|
219
|
-
<example>CN=SERVER-1231,OU=ISS,O=Hewlett-Packard Company,L=Houston,ST=Texas,C=US</example>
|
219
|
+
<example host.name="SERVER-1231">CN=SERVER-1231,OU=ISS,O=Hewlett-Packard Company,L=Houston,ST=Texas,C=US</example>
|
220
220
|
<param pos="0" name="hw.device" value="Lights Out Management"/>
|
221
221
|
<param pos="0" name="hw.vendor" value="HP"/>
|
222
222
|
<param pos="0" name="hw.family" value="iLO"/>
|
@@ -247,8 +247,8 @@
|
|
247
247
|
|
248
248
|
<fingerprint pattern="^CN=OA\-([a-fA-F0-9]+),OU=Onboard Administrator,">
|
249
249
|
<description>HP iLO (Onboard Administrator)</description>
|
250
|
-
<example>CN=OA-001F296E21A3,OU=Onboard Administrator,O=Corp.,L=Location,ST=N/A,C=US</example>
|
251
|
-
<example>CN=OA-80C16E999999,OU=Onboard Administrator,O=Hewlett-Packard</example>
|
250
|
+
<example host.mac="001F296E21A3">CN=OA-001F296E21A3,OU=Onboard Administrator,O=Corp.,L=Location,ST=N/A,C=US</example>
|
251
|
+
<example host.mac="80C16E999999">CN=OA-80C16E999999,OU=Onboard Administrator,O=Hewlett-Packard</example>
|
252
252
|
<param pos="0" name="hw.device" value="Lights Out Management"/>
|
253
253
|
<param pos="0" name="hw.vendor" value="HP"/>
|
254
254
|
<param pos="0" name="hw.family" value="iLO"/>
|
@@ -264,7 +264,7 @@
|
|
264
264
|
|
265
265
|
<fingerprint pattern="^CN=([A-Za-z0-9\_\-\.]+),OU=Hewlett Packard Enterprise Network Management Software \(SMH\),O=Hewlett Packard Enterprise,L=Houston,ST=Texas,C=US$">
|
266
266
|
<description>HP iLO - Enterprise Mgmt variant</description>
|
267
|
-
<example>CN=bigsrv99,OU=Hewlett Packard Enterprise Network Management Software (SMH),O=Hewlett Packard Enterprise,L=Houston,ST=Texas,C=US</example>
|
267
|
+
<example host.name="bigsrv99">CN=bigsrv99,OU=Hewlett Packard Enterprise Network Management Software (SMH),O=Hewlett Packard Enterprise,L=Houston,ST=Texas,C=US</example>
|
268
268
|
<param pos="0" name="hw.device" value="Lights Out Management"/>
|
269
269
|
<param pos="0" name="hw.vendor" value="HP"/>
|
270
270
|
<param pos="0" name="hw.family" value="iLO"/>
|
@@ -289,6 +289,7 @@
|
|
289
289
|
<param pos="0" name="os.vendor" value="Oracle"/>
|
290
290
|
<param pos="0" name="os.family" value="ILOM"/>
|
291
291
|
<param pos="0" name="os.product" value="ILOM"/>
|
292
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:oracle:integrated_lights_out_manager_firmware:-"/>
|
292
293
|
</fingerprint>
|
293
294
|
|
294
295
|
<fingerprint pattern="^CN=AMI,OU=Service Processors,O=American Megatrends Inc">
|
@@ -307,27 +308,27 @@
|
|
307
308
|
|
308
309
|
<fingerprint pattern="^CN=C-series CIMC,OU=PID:([^ ]+) SERIAL:([^,]+),O=Cisco">
|
309
310
|
<description>Cisco Integrated Management Controller</description>
|
310
|
-
<example
|
311
|
+
<example hw.serial_number="FCH18999AAA" cisco.imc_model="UCSC-C220-M3S">CN=C-series CIMC,OU=PID:UCSC-C220-M3S SERIAL:FCH18999AAA,O=Cisco Self Signed,L=San Jose,ST=California,C=US</example>
|
311
312
|
<param pos="0" name="hw.device" value="Lights Out Management"/>
|
312
313
|
<param pos="0" name="hw.vendor" value="Cisco"/>
|
313
314
|
<param pos="0" name="hw.product" value="IMC"/>
|
314
315
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
315
316
|
<param pos="0" name="os.family" value="Linux"/>
|
316
317
|
<param pos="0" name="os.product" value="IMC"/>
|
317
|
-
<param pos="2" name="
|
318
|
+
<param pos="2" name="hw.serial_number"/>
|
318
319
|
<param pos="1" name="cisco.imc_model"/>
|
319
320
|
</fingerprint>
|
320
321
|
|
321
322
|
<fingerprint pattern="^CN=C220-(FCH[^,]+),OU=null,O=Cisco Systems Inc">
|
322
323
|
<description>Cisco Integrated Management Controller C220</description>
|
323
|
-
<example
|
324
|
+
<example hw.serial_number="FCH17999AAA">CN=C220-FCH17999AAA,OU=null,O=Cisco Systems Inc.,L=San Jose,ST=California,C=US</example>
|
324
325
|
<param pos="0" name="hw.device" value="Lights Out Management"/>
|
325
326
|
<param pos="0" name="hw.vendor" value="Cisco"/>
|
326
327
|
<param pos="0" name="hw.product" value="IMC"/>
|
327
328
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
328
329
|
<param pos="0" name="os.family" value="Linux"/>
|
329
330
|
<param pos="0" name="os.product" value="IMC"/>
|
330
|
-
<param pos="1" name="
|
331
|
+
<param pos="1" name="hw.serial_number"/>
|
331
332
|
</fingerprint>
|
332
333
|
|
333
334
|
<fingerprint pattern="^CN=avocent.com,OU=AESS,O=Avocent,L=Sunrise,ST=FL,C=US$">
|
@@ -352,8 +353,8 @@
|
|
352
353
|
|
353
354
|
<fingerprint pattern="^CN=HP Jetdirect [a-zA-Z0-9]+,OU=([a-fA-F0-9]{12})\+OU=([a-zA-Z0-9]+),O=Hewlett-Packard Co\.$">
|
354
355
|
<description>HP Jet Direct - with host MAC and product</description>
|
355
|
-
<example host.mac="2C413883186A" hw.product="J8028E">CN=HP Jetdirect 38831831,OU=2C413883186A+OU=J8028E,O=Hewlett-Packard Co.</example>
|
356
|
-
<example os.product="J8016E">CN=HP Jetdirect FBFA31E7,OU=8851FBE33ABB+OU=J8016E,O=Hewlett-Packard Co.</example>
|
356
|
+
<example host.mac="2C413883186A" hw.product="J8028E" os.product="J8028E">CN=HP Jetdirect 38831831,OU=2C413883186A+OU=J8028E,O=Hewlett-Packard Co.</example>
|
357
|
+
<example os.product="J8016E" host.mac="8851FBE33ABB" hw.product="J8016E">CN=HP Jetdirect FBFA31E7,OU=8851FBE33ABB+OU=J8016E,O=Hewlett-Packard Co.</example>
|
357
358
|
<param pos="0" name="hw.device" value="Printer"/>
|
358
359
|
<param pos="0" name="hw.vendor" value="HP"/>
|
359
360
|
<param pos="0" name="hw.family" value="JetDirect"/>
|
@@ -407,12 +408,12 @@
|
|
407
408
|
|
408
409
|
<fingerprint pattern="^SERIALNUMBER=([a-zA-Z0-9]+),CN=DEVICE-vWLC,O=Cisco Virtual WLC$">
|
409
410
|
<description>Cisco vWLC</description>
|
410
|
-
<example
|
411
|
+
<example hw.serial_number="9C89M2088D1">SERIALNUMBER=9C89M2088D1,CN=DEVICE-vWLC,O=Cisco Virtual WLC</example>
|
411
412
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
412
413
|
<param pos="0" name="os.device" value="Wireless Controller"/>
|
413
414
|
<param pos="0" name="os.product" value="Wireless LAN Controller"/>
|
414
415
|
<param pos="0" name="os.cpe23" value="cpe:/o:cisco:wireless_lan_controller_software:-"/>
|
415
|
-
<param pos="1" name="
|
416
|
+
<param pos="1" name="hw.serial_number"/>
|
416
417
|
</fingerprint>
|
417
418
|
|
418
419
|
<fingerprint pattern="^CN=[a-zA-Z0-9\.\-\_]+,OU=DeviceSSL \(WebAdmin\),O=Cisco Systems Inc\.,C=US$">
|
@@ -503,7 +504,7 @@
|
|
503
504
|
|
504
505
|
<fingerprint pattern="^CN=([a-zA-Z0-9\.\-\_]+),OU=VMware ESX Server Default Certificate,O=VMware\\, Inc,L=Palo Alto,ST=California,C=US$">
|
505
506
|
<description>VMware ESX</description>
|
506
|
-
<example>CN=server99.,OU=VMware ESX Server Default Certificate,O=VMware\, Inc,L=Palo Alto,ST=California,C=US</example>
|
507
|
+
<example host.name="server99.">CN=server99.,OU=VMware ESX Server Default Certificate,O=VMware\, Inc,L=Palo Alto,ST=California,C=US</example>
|
507
508
|
<param pos="0" name="service.vendor" value="VMware"/>
|
508
509
|
<param pos="0" name="os.vendor" value="VMware"/>
|
509
510
|
<param pos="0" name="os.family" value="VMware ESX/ESXi"/>
|
@@ -588,7 +589,7 @@
|
|
588
589
|
<param pos="0" name="service.vendor" value="Traefik Labs"/>
|
589
590
|
<param pos="0" name="service.family" value="Traefik"/>
|
590
591
|
<param pos="0" name="service.product" value="Traefik Proxy"/>
|
591
|
-
<param pos="0" name="service.cpe23" value="cpe:/a:
|
592
|
+
<param pos="0" name="service.cpe23" value="cpe:/a:traefik:traefik:-"/>
|
592
593
|
</fingerprint>
|
593
594
|
|
594
595
|
<fingerprint pattern="^CN=default(?: [A-Z]+)?,OU=NS Internal,O=Citrix ANG,L=San Jose,ST=California,C=US$">
|
@@ -614,8 +615,8 @@
|
|
614
615
|
|
615
616
|
<fingerprint pattern="^CN=([a-zA-Z0-9]{5,12}) ([a-zA-Z0-9]{12}),OU=(?:Cast|Google TV),O=Google Inc,L=Mountain View,ST=California,C=US$">
|
616
617
|
<description>Google Chromecast</description>
|
617
|
-
<example
|
618
|
-
<example
|
618
|
+
<example host.mac_local="FA8FCA67413D" hw.serial_number="LVDZG5">CN=LVDZG5 FA8FCA67413D,OU=Cast,O=Google Inc,L=Mountain View,ST=California,C=US</example>
|
619
|
+
<example host.mac_local="FA8FCA7DE87D" hw.serial_number="YRBLE">CN=YRBLE FA8FCA7DE87D,OU=Google TV,O=Google Inc,L=Mountain View,ST=California,C=US</example>
|
619
620
|
<param pos="0" name="os.vendor" value="Google"/>
|
620
621
|
<param pos="0" name="os.product" value="Chrome OS"/>
|
621
622
|
<param pos="0" name="os.certainty" value="0.5"/>
|
@@ -624,7 +625,8 @@
|
|
624
625
|
<param pos="0" name="hw.vendor" value="Google"/>
|
625
626
|
<param pos="0" name="hw.product" value="Chromecast"/>
|
626
627
|
<param pos="0" name="hw.certainty" value="0.5"/>
|
627
|
-
<param pos="1" name="
|
628
|
+
<param pos="1" name="hw.serial_number"/>
|
629
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:google:chromecast:-"/>
|
628
630
|
<!-- This is the hotspot-mode MAC address (clear bit 2) -->
|
629
631
|
|
630
632
|
<param pos="2" name="host.mac_local"/>
|
@@ -632,14 +634,14 @@
|
|
632
634
|
|
633
635
|
<fingerprint pattern="^CN=([a-zA-Z0-9]{5,12}) ([a-zA-Z0-9]{12}),OU=Cast TV \(Vizio\),O=Google Inc,L=Mountain View,ST=California,C=US$">
|
634
636
|
<description>Vizio SmartTV (Android) with Google Cast</description>
|
635
|
-
<example
|
637
|
+
<example hw.serial_number="9V039WC9" host.mac_local="FA8FCA697898">CN=9V039WC9 FA8FCA697898,OU=Cast TV (Vizio),O=Google Inc,L=Mountain View,ST=California,C=US</example>
|
636
638
|
<param pos="0" name="os.vendor" value="Google"/>
|
637
639
|
<param pos="0" name="os.family" value="Linux"/>
|
638
640
|
<param pos="0" name="os.product" value="Android"/>
|
639
641
|
<param pos="0" name="os.cpe23" value="cpe:/o:google:android:-"/>
|
640
642
|
<param pos="0" name="hw.device" value="Smart TV"/>
|
641
643
|
<param pos="0" name="hw.vendor" value="Vizio"/>
|
642
|
-
<param pos="1" name="
|
644
|
+
<param pos="1" name="hw.serial_number"/>
|
643
645
|
<!-- This is the hotspot-mode MAC address (clear bit 2) -->
|
644
646
|
|
645
647
|
<param pos="2" name="host.mac_local"/>
|
@@ -878,8 +880,8 @@
|
|
878
880
|
|
879
881
|
<fingerprint pattern="^CN=([A-Za-z0-9]+),OU=FortiGate,O=Fortinet,L=Sunnyvale,ST=California,C=US$">
|
880
882
|
<description>Fortinet Gateway</description>
|
881
|
-
<example
|
882
|
-
<example
|
883
|
+
<example hw.serial_number="FG100ETK1800118">CN=FG100ETK1800118,OU=FortiGate,O=Fortinet,L=Sunnyvale,ST=California,C=US</example>
|
884
|
+
<example hw.serial_number="FGT30D3X15038375">CN=FGT30D3X15038375,OU=FortiGate,O=Fortinet,L=Sunnyvale,ST=California,C=US</example>
|
883
885
|
<param pos="0" name="hw.vendor" value="Fortinet"/>
|
884
886
|
<param pos="0" name="hw.device" value="Firewall"/>
|
885
887
|
<param pos="0" name="os.vendor" value="Fortinet"/>
|
@@ -887,12 +889,12 @@
|
|
887
889
|
<param pos="0" name="os.device" value="Firewall"/>
|
888
890
|
<param pos="0" name="os.product" value="FortiOS"/>
|
889
891
|
<param pos="0" name="os.cpe23" value="cpe:/o:fortinet:fortios:-"/>
|
890
|
-
<param pos="1" name="
|
892
|
+
<param pos="1" name="hw.serial_number"/>
|
891
893
|
</fingerprint>
|
892
894
|
|
893
895
|
<fingerprint pattern="^CN=([A-Za-z0-9]+),O=Fortinet Ltd\.$">
|
894
896
|
<description>Fortinet Gateway (Older)</description>
|
895
|
-
<example
|
897
|
+
<example hw.serial_number="FG100D3G13803999">CN=FG100D3G13803999,O=Fortinet Ltd.</example>
|
896
898
|
<param pos="0" name="hw.vendor" value="Fortinet"/>
|
897
899
|
<param pos="0" name="hw.device" value="Firewall"/>
|
898
900
|
<param pos="0" name="os.vendor" value="Fortinet"/>
|
@@ -900,7 +902,7 @@
|
|
900
902
|
<param pos="0" name="os.device" value="Firewall"/>
|
901
903
|
<param pos="0" name="os.product" value="FortiOS"/>
|
902
904
|
<param pos="0" name="os.cpe23" value="cpe:/o:fortinet:fortios:-"/>
|
903
|
-
<param pos="1" name="
|
905
|
+
<param pos="1" name="hw.serial_number"/>
|
904
906
|
</fingerprint>
|
905
907
|
|
906
908
|
<fingerprint pattern="^CN=FortiMail,OU=FortiMail,O=Fortinet,L=Sunnyvale,ST=California,C=US$">
|
@@ -1130,10 +1132,11 @@
|
|
1130
1132
|
<param pos="0" name="os.product" value="Linux"/>
|
1131
1133
|
</fingerprint>
|
1132
1134
|
|
1133
|
-
<fingerprint pattern="^CN=MAC([a-fA-F0-9]{12}),OU=([^,]+),O=Mercury Security Products\\, LLC,L=Long Beach,ST=CA,C=US
|
1135
|
+
<fingerprint pattern="^CN=MAC([a-fA-F0-9]{12}),OU=([^,]+),O=Mercury Security Products\\, LLC,L=Long Beach,ST=CA,C=US(?:,\S+)?$">
|
1134
1136
|
<description>Mercurity Security (now HID Global)</description>
|
1135
1137
|
<example hw.product="M5IC" host.mac="000FE507A1F1">CN=MAC000FE507A1F1,OU=M5IC,O=Mercury Security Products\, LLC,L=Long Beach,ST=CA,C=US</example>
|
1136
1138
|
<example hw.product="EP-1502" host.mac="000FE508BC71">CN=MAC000FE508BC71,OU=EP-1502,O=Mercury Security Products\, LLC,L=Long Beach,ST=CA,C=US</example>
|
1139
|
+
<example hw.product="LP-1501" host.mac="000FE5091111">CN=MAC000FE5091111,OU=LP-1501,O=Mercury Security Products\, LLC,L=Long Beach,ST=CA,C=US,2.5.4.4=#111111111111111111</example>
|
1137
1140
|
<param pos="0" name="hw.vendor" value="Mercury Security"/>
|
1138
1141
|
<param pos="0" name="hw.device" value="Access Control"/>
|
1139
1142
|
<param pos="1" name="host.mac"/>
|
@@ -1233,7 +1236,7 @@
|
|
1233
1236
|
|
1234
1237
|
<fingerprint pattern="^CN=Canon (iR-[a-zA-Z0-9\.\-\_]+)$">
|
1235
1238
|
<description>Canon iR-ADV Printer with product info</description>
|
1236
|
-
<example os.product="iR-ADV">CN=Canon iR-ADV</example>
|
1239
|
+
<example os.product="iR-ADV" hw.product="iR-ADV">CN=Canon iR-ADV</example>
|
1237
1240
|
<param pos="0" name="hw.device" value="Printer"/>
|
1238
1241
|
<param pos="0" name="hw.vendor" value="Canon"/>
|
1239
1242
|
<param pos="0" name="os.device" value="Printer"/>
|
@@ -1298,19 +1301,28 @@
|
|
1298
1301
|
|
1299
1302
|
<fingerprint pattern="^CN=Ruckus Wireless ZoneDirector SN-(\d+),O=Ruckus Wireless\\, Inc\.,ST=CA,C=US$">
|
1300
1303
|
<description>Ruckus Zone Director</description>
|
1301
|
-
<example
|
1304
|
+
<example hw.serial_number="221301007591">CN=Ruckus Wireless ZoneDirector SN-221301007591,O=Ruckus Wireless\, Inc.,ST=CA,C=US</example>
|
1302
1305
|
<param pos="0" name="hw.device" value="Wireless Controller"/>
|
1303
1306
|
<param pos="0" name="hw.vendor" value="Ruckus"/>
|
1304
1307
|
<param pos="0" name="hw.product" value="Zone Director"/>
|
1305
1308
|
<param pos="0" name="os.device" value="Wireless Controller"/>
|
1306
1309
|
<param pos="0" name="os.vendor" value="Ruckus"/>
|
1307
1310
|
<param pos="0" name="os.product" value="Zone Director"/>
|
1308
|
-
<param pos="1" name="
|
1311
|
+
<param pos="1" name="hw.serial_number"/>
|
1312
|
+
</fingerprint>
|
1313
|
+
|
1314
|
+
<fingerprint pattern="^CN=SN-(\d+),O=Ruckus Wireless Inc.,L=Sunnyvale,ST=California,C=US$">
|
1315
|
+
<description>Ruckus Wireless Access Point</description>
|
1316
|
+
<example hw.serial_number="010101010101">CN=SN-010101010101,O=Ruckus Wireless Inc.,L=Sunnyvale,ST=California,C=US</example>
|
1317
|
+
<param pos="0" name="hw.device" value="WAP"/>
|
1318
|
+
<param pos="0" name="hw.vendor" value="Ruckus"/>
|
1319
|
+
<param pos="0" name="hw.product" value="Access Point"/>
|
1320
|
+
<param pos="1" name="hw.serial_number"/>
|
1309
1321
|
</fingerprint>
|
1310
1322
|
|
1311
1323
|
<fingerprint pattern="^CN=DT([^\s]+) Series,O=NEC Corporation,ST=Tokyo,C=JP$">
|
1312
1324
|
<description>NEC DT Series IP Phone</description>
|
1313
|
-
<example>CN=DT800 Series,O=NEC Corporation,ST=Tokyo,C=JP</example>
|
1325
|
+
<example hw.product="800">CN=DT800 Series,O=NEC Corporation,ST=Tokyo,C=JP</example>
|
1314
1326
|
<param pos="0" name="os.vendor" value="NEC"/>
|
1315
1327
|
<param pos="0" name="os.device" value="VoIP"/>
|
1316
1328
|
<param pos="0" name="hw.vendor" value="NEC"/>
|
@@ -1459,9 +1471,10 @@
|
|
1459
1471
|
<param pos="0" name="hw.product" value="Sensor"/>
|
1460
1472
|
</fingerprint>
|
1461
1473
|
|
1462
|
-
<fingerprint pattern="^CN=HiveAP,OU=Default,O=Aerohive,ST=California,C=US$">
|
1474
|
+
<fingerprint pattern="^CN=HiveAP,OU=Default,O=Aerohive,(?:L=Sunnyvale,)?ST=California,C=US$">
|
1463
1475
|
<description>Aerohive Access Point</description>
|
1464
1476
|
<example>CN=HiveAP,OU=Default,O=Aerohive,ST=California,C=US</example>
|
1477
|
+
<example>CN=HiveAP,OU=Default,O=Aerohive,L=Sunnyvale,ST=California,C=US</example>
|
1465
1478
|
<param pos="0" name="hw.vendor" value="Aerohive"/>
|
1466
1479
|
<param pos="0" name="hw.device" value="WAP"/>
|
1467
1480
|
<param pos="0" name="hw.product" value="Access Point"/>
|
@@ -1644,4 +1657,102 @@
|
|
1644
1657
|
<param pos="1" name="host.name"/>
|
1645
1658
|
</fingerprint>
|
1646
1659
|
|
1660
|
+
<fingerprint pattern="^CN=Freebox Intermediate CA,O=Freebox,ST=France,C=FR$">
|
1661
|
+
<description>Freebox Device</description>
|
1662
|
+
<example>CN=Freebox Intermediate CA,O=Freebox,ST=France,C=FR</example>
|
1663
|
+
<param pos="0" name="hw.vendor" value="Freebox"/>
|
1664
|
+
</fingerprint>
|
1665
|
+
|
1666
|
+
<fingerprint pattern="^CN=TP-LINK CA,O=TP-LINK Technologies CO.\\, LTD.,L=Shenzhen,ST=Guangdong,C=CN(?:,\S+)?$">
|
1667
|
+
<description>TP-LINK Device</description>
|
1668
|
+
<example>CN=TP-LINK CA,O=TP-LINK Technologies CO.\, LTD.,L=Shenzhen,ST=Guangdong,C=CN,1.2.840.113549.1.9.1=#0c16736572766963654074702d6c696e6b2e636f6d2e636e</example>
|
1669
|
+
<param pos="0" name="hw.vendor" value="TP-LINK"/>
|
1670
|
+
</fingerprint>
|
1671
|
+
|
1672
|
+
<fingerprint pattern="^CN=BHA-([0-9a-fA-F]{12}),O=Bird Home Automation$">
|
1673
|
+
<description>Bird Home Automation</description>
|
1674
|
+
<example host.mac="0123456789AB">CN=BHA-0123456789AB,O=Bird Home Automation</example>
|
1675
|
+
<param pos="0" name="hw.device" value="Device"/>
|
1676
|
+
<param pos="0" name="hw.vendor" value="Bird Home Automation"/>
|
1677
|
+
<param pos="1" name="host.mac"/>
|
1678
|
+
</fingerprint>
|
1679
|
+
|
1680
|
+
<fingerprint pattern="^CN=\S+,OU=Media Server,O=Avaya Inc\.,C=US">
|
1681
|
+
<description>Avaya Media Server</description>
|
1682
|
+
<example>CN=192.168.0.3,OU=Media Server,O=Avaya Inc.,C=US</example>
|
1683
|
+
<param pos="0" name="os.vendor" value="Avaya"/>
|
1684
|
+
<param pos="0" name="os.device" value="Media Gateway"/>
|
1685
|
+
<param pos="0" name="os.product" value="Media Server"/>
|
1686
|
+
</fingerprint>
|
1687
|
+
|
1688
|
+
<fingerprint pattern="^CN=iSTAR Ultra">
|
1689
|
+
<description>iSTAR Ultra</description>
|
1690
|
+
<example>CN=iSTAR Ultra,OU=Access Control and Video Division,O=Johnson Controls,L=Westford,ST=Massachusetts,C=US</example>
|
1691
|
+
<param pos="0" name="os.vendor" value="Software House"/>
|
1692
|
+
<param pos="0" name="os.family" value="Linux"/>
|
1693
|
+
<param pos="0" name="os.product" value="{hw.product} Firmware"/>
|
1694
|
+
<param pos="0" name="hw.vendor" value="Software House"/>
|
1695
|
+
<param pos="0" name="hw.device" value="Access Control"/>
|
1696
|
+
<param pos="0" name="hw.family" value="iSTAR Door Controllers"/>
|
1697
|
+
<param pos="0" name="hw.product" value="iSTAR Ultra"/>
|
1698
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:swhouse:istar_ultra:-"/>
|
1699
|
+
</fingerprint>
|
1700
|
+
|
1701
|
+
<fingerprint pattern="^O=SpotteRF - NetworkedIO$">
|
1702
|
+
<description>SpotterRF</description>
|
1703
|
+
<example>O=SpotteRF - NetworkedIO</example>
|
1704
|
+
<param pos="0" name="os.vendor" value="SpotterRF"/>
|
1705
|
+
<param pos="0" name="os.family" value="Linux"/>
|
1706
|
+
<param pos="0" name="os.certainty" value="0.90"/>
|
1707
|
+
<param pos="0" name="hw.vendor" value="SpotterRF"/>
|
1708
|
+
<param pos="0" name="hw.device" value="Sensor"/>
|
1709
|
+
<param pos="0" name="hw.product" value="Drone Detector"/>
|
1710
|
+
</fingerprint>
|
1711
|
+
|
1712
|
+
<fingerprint pattern="(?i)^CN=.{0,1000}myboschcam.net,O=Bosch Sicherheitssysteme">
|
1713
|
+
<description>Bosch AutoDome IP Camera</description>
|
1714
|
+
<example>CN=local.myboschcam.net,O=Bosch Sicherheitssysteme GmbH,L=Grasbrunn,ST=Bayern,C=DE</example>
|
1715
|
+
<param pos="0" name="hw.vendor" value="Bosch"/>
|
1716
|
+
<param pos="0" name="hw.device" value="Web Cam"/>
|
1717
|
+
<param pos="0" name="hw.product" value="AutoDome"/>
|
1718
|
+
<param pos="0" name="hw.certainty" value="0.50"/>
|
1719
|
+
</fingerprint>
|
1720
|
+
|
1721
|
+
<fingerprint pattern="(?i)CN=(\w+),OU=BWI,O=Redline Communications Inc">
|
1722
|
+
<description>Redline Communication Radios</description>
|
1723
|
+
<example hw.product="an80i">CN=an80i,OU=BWI,O=Redline Communications Inc.,C=CA</example>
|
1724
|
+
<param pos="0" name="hw.vendor" value="Redline"/>
|
1725
|
+
<param pos="0" name="hw.device" value="WAP"/>
|
1726
|
+
<param pos="1" name="hw.product"/>
|
1727
|
+
</fingerprint>
|
1728
|
+
|
1729
|
+
<fingerprint pattern="(?i)CN=Vaddio Device,O=Vaddio,L=Minnetonka,ST=MN,C=US">
|
1730
|
+
<description>Vadio DocCom</description>
|
1731
|
+
<example>CN=Vaddio Device,O=Vaddio,L=Minnetonka,ST=MN,C=US</example>
|
1732
|
+
<param pos="0" name="hw.vendor" value="Vaddio"/>
|
1733
|
+
<param pos="0" name="hw.device" value="Web Cam"/>
|
1734
|
+
<param pos="0" name="hw.product" value="DocCam"/>
|
1735
|
+
<param pos="0" name="hw.certainty" value="0.50"/>
|
1736
|
+
</fingerprint>
|
1737
|
+
|
1738
|
+
<fingerprint pattern="(?i)CN=.{0,1000},OU=2N IP Intercoms,O=2N Telekomunikace a.s.,L=Prague,ST=Czech Republic,C=CZ">
|
1739
|
+
<description>2N IP Intercoms</description>
|
1740
|
+
<example>CN=11111111111d,OU=2N IP Intercoms,O=2N Telekomunikace a.s.,L=Prague,ST=Czech Republic,C=CZ</example>
|
1741
|
+
<param pos="0" name="hw.vendor" value="2N Telekomunikace"/>
|
1742
|
+
<param pos="0" name="hw.device" value="IP Camera"/>
|
1743
|
+
<param pos="0" name="hw.certainty" value="0.50"/>
|
1744
|
+
</fingerprint>
|
1745
|
+
|
1746
|
+
<fingerprint pattern="^CN=(.{1,256}),OU=PVE Cluster Node,O=Proxmox Virtual Environment$">
|
1747
|
+
<description>Proxmox open-source virtualization platform</description>
|
1748
|
+
<example host.name="pve.example.org">CN=pve.example.org,OU=PVE Cluster Node,O=Proxmox Virtual Environment</example>
|
1749
|
+
<param pos="1" name="host.name"/>
|
1750
|
+
<param pos="0" name="service.vendor" value="Proxmox"/>
|
1751
|
+
<param pos="0" name="service.product" value="Virtual Environment"/>
|
1752
|
+
<param pos="0" name="service.cpe23" value="cpe:/a:proxmox:virtual_environment:-"/>
|
1753
|
+
<param pos="0" name="os.vendor" value="Proxmox"/>
|
1754
|
+
<param pos="0" name="os.family" value="Linux"/>
|
1755
|
+
<param pos="0" name="os.product" value="Proxmox"/>
|
1756
|
+
</fingerprint>
|
1757
|
+
|
1647
1758
|
</fingerprints>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rapid7 Research
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -128,13 +128,19 @@ files:
|
|
128
128
|
- ".github/ISSUE_TEMPLATE/fingerprint_request.md"
|
129
129
|
- ".github/PULL_REQUEST_TEMPLATE"
|
130
130
|
- ".github/SECURITY.md"
|
131
|
+
- ".github/dependabot.yml"
|
131
132
|
- ".github/workflows/ci.yml"
|
133
|
+
- ".github/workflows/verify.yml"
|
132
134
|
- ".gitignore"
|
133
135
|
- ".rspec"
|
134
136
|
- ".ruby-gemset"
|
135
137
|
- ".ruby-version"
|
136
138
|
- ".snyk"
|
137
139
|
- ".travis.yml"
|
140
|
+
- ".vscode/bin/monitor-recog-fingerprints.sh"
|
141
|
+
- ".vscode/extensions.json"
|
142
|
+
- ".vscode/settings.json"
|
143
|
+
- ".vscode/tasks.json"
|
138
144
|
- ".yardopts"
|
139
145
|
- CONTRIBUTING.md
|
140
146
|
- COPYING
|
@@ -153,12 +159,14 @@ files:
|
|
153
159
|
- features/data/multiple_banners_fingerprints.xml
|
154
160
|
- features/data/no_tests.xml
|
155
161
|
- features/data/sample_banner.txt
|
162
|
+
- features/data/schema_failure.xml
|
156
163
|
- features/data/successful_tests.xml
|
157
164
|
- features/data/tests_with_failures.xml
|
158
165
|
- features/data/tests_with_warnings.xml
|
159
166
|
- features/match.feature
|
160
167
|
- features/support/aruba.rb
|
161
168
|
- features/support/env.rb
|
169
|
+
- features/support/hooks.rb
|
162
170
|
- features/verify.feature
|
163
171
|
- identifiers/README.md
|
164
172
|
- identifiers/fields.txt
|
@@ -178,13 +186,13 @@ files:
|
|
178
186
|
- lib/recog/fingerprint.rb
|
179
187
|
- lib/recog/fingerprint/regexp_factory.rb
|
180
188
|
- lib/recog/fingerprint/test.rb
|
189
|
+
- lib/recog/fingerprint_parse_error.rb
|
181
190
|
- lib/recog/formatter.rb
|
182
191
|
- lib/recog/match_reporter.rb
|
183
192
|
- lib/recog/matcher.rb
|
184
193
|
- lib/recog/matcher_factory.rb
|
185
194
|
- lib/recog/nizer.rb
|
186
195
|
- lib/recog/verifier.rb
|
187
|
-
- lib/recog/verifier_factory.rb
|
188
196
|
- lib/recog/verify_reporter.rb
|
189
197
|
- lib/recog/version.rb
|
190
198
|
- misc/convert_mysql_err
|
@@ -194,6 +202,10 @@ files:
|
|
194
202
|
- spec/data/best_os_match_1.yml
|
195
203
|
- spec/data/best_os_match_2.yml
|
196
204
|
- spec/data/best_service_match_1.yml
|
205
|
+
- spec/data/external_example_fingerprint.xml
|
206
|
+
- spec/data/external_example_fingerprint/hp_printer_ex_01.txt
|
207
|
+
- spec/data/external_example_fingerprint/hp_printer_ex_02.txt
|
208
|
+
- spec/data/external_example_illegal_path_fingerprint.xml
|
197
209
|
- spec/data/smb_native_os.txt
|
198
210
|
- spec/data/test_fingerprints.xml
|
199
211
|
- spec/data/verification_fingerprints.xml
|
@@ -207,10 +219,12 @@ files:
|
|
207
219
|
- spec/lib/recog/nizer_spec.rb
|
208
220
|
- spec/lib/recog/verify_reporter_spec.rb
|
209
221
|
- spec/spec_helper.rb
|
222
|
+
- tools/dev/hooks/pre-commit
|
210
223
|
- update_cpes.py
|
211
224
|
- xml/apache_modules.xml
|
212
225
|
- xml/apache_os.xml
|
213
226
|
- xml/architecture.xml
|
227
|
+
- xml/dhcp_vendor_class.xml
|
214
228
|
- xml/dns_versionbind.xml
|
215
229
|
- xml/favicons.xml
|
216
230
|
- xml/fingerprints.xsd
|
@@ -275,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
275
289
|
- !ruby/object:Gem::Version
|
276
290
|
version: '0'
|
277
291
|
requirements: []
|
278
|
-
rubygems_version: 3.0.
|
292
|
+
rubygems_version: 3.0.3
|
279
293
|
signing_key:
|
280
294
|
specification_version: 4
|
281
295
|
summary: Network service fingerprint database, classes, and utilities
|
@@ -285,16 +299,22 @@ test_files:
|
|
285
299
|
- features/data/multiple_banners_fingerprints.xml
|
286
300
|
- features/data/no_tests.xml
|
287
301
|
- features/data/sample_banner.txt
|
302
|
+
- features/data/schema_failure.xml
|
288
303
|
- features/data/successful_tests.xml
|
289
304
|
- features/data/tests_with_failures.xml
|
290
305
|
- features/data/tests_with_warnings.xml
|
291
306
|
- features/match.feature
|
292
307
|
- features/support/aruba.rb
|
293
308
|
- features/support/env.rb
|
309
|
+
- features/support/hooks.rb
|
294
310
|
- features/verify.feature
|
295
311
|
- spec/data/best_os_match_1.yml
|
296
312
|
- spec/data/best_os_match_2.yml
|
297
313
|
- spec/data/best_service_match_1.yml
|
314
|
+
- spec/data/external_example_fingerprint.xml
|
315
|
+
- spec/data/external_example_fingerprint/hp_printer_ex_01.txt
|
316
|
+
- spec/data/external_example_fingerprint/hp_printer_ex_02.txt
|
317
|
+
- spec/data/external_example_illegal_path_fingerprint.xml
|
298
318
|
- spec/data/smb_native_os.txt
|
299
319
|
- spec/data/test_fingerprints.xml
|
300
320
|
- spec/data/verification_fingerprints.xml
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'recog/verifier'
|
2
|
-
require 'recog/formatter'
|
3
|
-
require 'recog/verify_reporter'
|
4
|
-
|
5
|
-
module Recog
|
6
|
-
module VerifierFactory
|
7
|
-
def self.build(options)
|
8
|
-
formatter = Formatter.new(options, $stdout)
|
9
|
-
reporter = VerifyReporter.new(options, formatter)
|
10
|
-
Verifier.new(options.fingerprints, reporter)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|