recog 2.3.21 → 2.3.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/verify.yml +89 -0
  4. data/CONTRIBUTING.md +6 -0
  5. data/README.md +17 -0
  6. data/bin/recog_standardize +28 -13
  7. data/bin/recog_verify +1 -2
  8. data/cpe-remap.yaml +13 -0
  9. data/features/verify.feature +14 -14
  10. data/identifiers/fields.txt +5 -4
  11. data/identifiers/hw_device.txt +6 -0
  12. data/identifiers/hw_family.txt +8 -0
  13. data/identifiers/hw_product.txt +51 -0
  14. data/identifiers/os_family.txt +1 -0
  15. data/identifiers/os_product.txt +10 -0
  16. data/identifiers/service_product.txt +12 -0
  17. data/identifiers/vendor.txt +49 -0
  18. data/lib/recog/db.rb +2 -1
  19. data/lib/recog/fingerprint.rb +18 -5
  20. data/lib/recog/verifier.rb +5 -5
  21. data/lib/recog/verifier_factory.rb +3 -3
  22. data/lib/recog/verify_reporter.rb +14 -4
  23. data/lib/recog/version.rb +1 -1
  24. data/spec/lib/fingerprint_self_test_spec.rb +1 -0
  25. data/spec/lib/recog/verify_reporter_spec.rb +69 -0
  26. data/tools/dev/hooks/pre-commit +21 -0
  27. data/update_cpes.py +1 -1
  28. data/xml/apache_os.xml +38 -38
  29. data/xml/dhcp_vendor_class.xml +206 -0
  30. data/xml/favicons.xml +148 -42
  31. data/xml/ftp_banners.xml +30 -16
  32. data/xml/h323_callresp.xml +99 -99
  33. data/xml/hp_pjl_id.xml +3 -3
  34. data/xml/html_title.xml +502 -25
  35. data/xml/http_cookies.xml +64 -56
  36. data/xml/http_servers.xml +74 -14
  37. data/xml/http_wwwauth.xml +107 -38
  38. data/xml/imap_banners.xml +3 -3
  39. data/xml/mdns_device-info_txt.xml +389 -26
  40. data/xml/mysql_banners.xml +1 -1
  41. data/xml/nntp_banners.xml +3 -3
  42. data/xml/ntp_banners.xml +64 -64
  43. data/xml/operating_system.xml +3 -3
  44. data/xml/pop_banners.xml +7 -7
  45. data/xml/rsh_resp.xml +3 -3
  46. data/xml/sip_banners.xml +27 -0
  47. data/xml/sip_user_agents.xml +54 -1
  48. data/xml/smtp_banners.xml +15 -15
  49. data/xml/smtp_ehlo.xml +1 -1
  50. data/xml/smtp_help.xml +10 -10
  51. data/xml/smtp_noop.xml +2 -2
  52. data/xml/snmp_sysdescr.xml +325 -200
  53. data/xml/snmp_sysobjid.xml +25 -25
  54. data/xml/ssh_banners.xml +7 -5
  55. data/xml/telnet_banners.xml +155 -20
  56. data/xml/tls_jarm.xml +26 -4
  57. data/xml/x509_issuers.xml +36 -0
  58. data/xml/x509_subjects.xml +136 -35
  59. metadata +7 -3
data/xml/html_title.xml CHANGED
@@ -322,7 +322,7 @@
322
322
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
323
323
  </fingerprint>
324
324
 
325
- <fingerprint pattern="^(?:NETIASPOT Management Console|Konsola zarzdzania NETIASPOT)$">
325
+ <fingerprint pattern="^NETIASPOT Management Console|Konsola zarzdzania NETIASPOT$">
326
326
  <description>Netia Spot wireless router</description>
327
327
  <example>Konsola zarzdzania NETIASPOT</example>
328
328
  <example>NETIASPOT Management Console</example>
@@ -464,6 +464,14 @@
464
464
  <param pos="0" name="os.vendor" value="Synology"/>
465
465
  </fingerprint>
466
466
 
467
+ <fingerprint pattern="^Synology.nbsp;Router.nbsp;-.nbsp;synology$">
468
+ <description>Synology Router</description>
469
+ <example>Synology&amp;nbsp;Router&amp;nbsp;-&amp;nbsp;synology</example>
470
+ <param pos="0" name="hw.vendor" value="Synology"/>
471
+ <param pos="0" name="hw.device" value="Router"/>
472
+ <param pos="0" name="hw.certainty" value="0.7"/>
473
+ </fingerprint>
474
+
467
475
  <fingerprint pattern="^Web Filter Block Override$">
468
476
  <description>Fortinet FortiGate/Fortiguard Web Filter</description>
469
477
  <example>Web Filter Block Override</example>
@@ -477,6 +485,19 @@
477
485
  <param pos="0" name="hw.device" value="Firewall"/>
478
486
  </fingerprint>
479
487
 
488
+ <fingerprint pattern="^FortiGate$">
489
+ <description>Fortinet FortiGate Network Firewall</description>
490
+ <example>FortiGate</example>
491
+ <param pos="0" name="os.vendor" value="Fortinet"/>
492
+ <param pos="0" name="os.family" value="FortiOS"/>
493
+ <param pos="0" name="os.product" value="FortiOS"/>
494
+ <param pos="0" name="os.device" value="Firewall"/>
495
+ <param pos="0" name="os.cpe23" value="cpe:/o:fortinet:fortios:-"/>
496
+ <param pos="0" name="hw.vendor" value="Fortinet"/>
497
+ <param pos="0" name="hw.family" value="FortiGate"/>
498
+ <param pos="0" name="hw.device" value="Firewall"/>
499
+ </fingerprint>
500
+
480
501
  <!-- Various products by Ubiquiti networks -->
481
502
 
482
503
  <fingerprint pattern="^Ubiquiti Networks$">
@@ -539,7 +560,7 @@
539
560
  <param pos="0" name="service.cpe23" value="cpe:/a:ui:unifi_video:-"/>
540
561
  </fingerprint>
541
562
 
542
- <fingerprint pattern="^(?:UniFi NVR: Software Portal|airVision: \[NVR\] - Software Portal)$">
563
+ <fingerprint pattern="^UniFi NVR: Software Portal|airVision: \[NVR\] - Software Portal$">
543
564
  <description>UniFi NVR for recording from UniFi video cameras</description>
544
565
  <example>UniFi NVR: Software Portal</example>
545
566
  <example>airVision: [NVR] - Software Portal</example>
@@ -549,6 +570,14 @@
549
570
  <param pos="0" name="hw.device" value="DVR"/>
550
571
  </fingerprint>
551
572
 
573
+ <fingerprint pattern="^Welcome to AmpliFi$">
574
+ <description>Ubiquiti AmpliFi Router</description>
575
+ <example>Welcome to AmpliFi</example>
576
+ <param pos="0" name="hw.vendor" value="Ubiquiti"/>
577
+ <param pos="0" name="hw.product" value="AmpliFi"/>
578
+ <param pos="0" name="hw.device" value="Router"/>
579
+ </fingerprint>
580
+
552
581
  <!-- Various products by Zyxel -->
553
582
 
554
583
  <fingerprint pattern="^USG60$">
@@ -627,7 +656,17 @@
627
656
  <param pos="0" name="hw.device" value="Router"/>
628
657
  </fingerprint>
629
658
 
630
- <fingerprint pattern="^(?:Welcome to nginx!|Test Page for the Nginx HTTP Server)$">
659
+ <fingerprint pattern="^MikroTik SwOS$">
660
+ <description>MikroTik SwOS switch configuration page</description>
661
+ <example>MikroTik SwOS</example>
662
+ <param pos="0" name="os.vendor" value="MikroTik"/>
663
+ <param pos="0" name="os.device" value="Switch"/>
664
+ <param pos="0" name="os.product" value="SwOS"/>
665
+ <param pos="0" name="hw.vendor" value="MikroTik"/>
666
+ <param pos="0" name="hw.device" value="Switch"/>
667
+ </fingerprint>
668
+
669
+ <fingerprint pattern="^Welcome to nginx!|Test Page for the Nginx HTTP Server$">
631
670
  <description>Default OS-agnostic nginx</description>
632
671
  <example>Welcome to nginx!</example>
633
672
  <example>Test Page for the Nginx HTTP Server</example>
@@ -708,9 +747,10 @@
708
747
  <param pos="1" name="hw.product"/>
709
748
  </fingerprint>
710
749
 
711
- <fingerprint pattern="^Netgear Prosafe Plus Switch$">
750
+ <fingerprint pattern="(?i)^Netgear Prosafe Plus Switch$">
712
751
  <description>Netgear Prosafe Plus Switch</description>
713
752
  <example>Netgear Prosafe Plus Switch</example>
753
+ <example>NETGEAR ProSAFE Plus Switch</example>
714
754
  <param pos="0" name="os.vendor" value="Netgear"/>
715
755
  <param pos="0" name="os.device" value="Switch"/>
716
756
  <param pos="0" name="os.product" value="Prosafe Firmware"/>
@@ -733,6 +773,37 @@
733
773
  <param pos="0" name="os.product" value="NET+OS"/>
734
774
  </fingerprint>
735
775
 
776
+ <fingerprint pattern="^(?:TransPort )?(WR\S+) \(SN: (\d+)\) Configuration and Management$">
777
+ <description>Digi Cellular Routers</description>
778
+ <example hw.product="WR44v2" hw.serial_number="888111" digi.serial_number="888111">WR44v2 (SN: 888111) Configuration and Management</example>
779
+ <example hw.product="WR21" hw.serial_number="888111" digi.serial_number="888111">WR21 (SN: 888111) Configuration and Management</example>
780
+ <example hw.product="WR44v2" hw.serial_number="888111" digi.serial_number="888111">TransPort WR44v2 (SN: 888111) Configuration and Management</example>
781
+ <example hw.product="WR44RR" hw.serial_number="888111" digi.serial_number="888111">TransPort WR44RR (SN: 888111) Configuration and Management</example>
782
+ <example hw.product="WR44" hw.serial_number="888111" digi.serial_number="888111">TransPort WR44 (SN: 888111) Configuration and Management</example>
783
+ <param pos="0" name="hw.vendor" value="Digi"/>
784
+ <param pos="0" name="hw.device" value="Router"/>
785
+ <param pos="1" name="hw.product"/>
786
+ <param pos="2" name="digi.serial_number"/>
787
+ <param pos="2" name="hw.serial_number"/>
788
+ </fingerprint>
789
+
790
+ <fingerprint pattern="^Digi (\S+) - ([a-fA-F0-9]{12})">
791
+ <description>Digi TX Cellular Routers</description>
792
+ <example hw.product="TX54-Dual-Cellular" host.mac="0040FF100000">Digi TX54-Dual-Cellular - 0040FF100000</example>
793
+ <param pos="0" name="hw.vendor" value="Digi"/>
794
+ <param pos="0" name="hw.device" value="Router"/>
795
+ <param pos="1" name="hw.product"/>
796
+ <param pos="2" name="host.mac"/>
797
+ </fingerprint>
798
+
799
+ <fingerprint pattern="^Digi Configuration and Management$">
800
+ <description>Digi Cellular Routers (Generic)</description>
801
+ <example>Digi Configuration and Management</example>
802
+ <param pos="0" name="hw.vendor" value="Digi"/>
803
+ <param pos="0" name="hw.device" value="Router"/>
804
+ <param pos="0" name="hw.certainty" value="0.25"/>
805
+ </fingerprint>
806
+
736
807
  <fingerprint pattern="^NPort Web Console$">
737
808
  <description>Moxa NPort Terminal Servers</description>
738
809
  <example>NPort Web Console</example>
@@ -751,6 +822,14 @@
751
822
  <param pos="1" name="hw.product"/>
752
823
  </fingerprint>
753
824
 
825
+ <fingerprint pattern="^Lantronix WEB-Manager$">
826
+ <description>Lantronix UDS terminal server</description>
827
+ <example>Lantronix WEB-Manager</example>
828
+ <param pos="0" name="hw.vendor" value="Lantronix"/>
829
+ <param pos="0" name="hw.device" value="Device Server"/>
830
+ <param pos="0" name="hw.product" value="UDS"/>
831
+ </fingerprint>
832
+
754
833
  <fingerprint pattern="^(KN\S+) - Cover$">
755
834
  <description>ATEN KVM over IP</description>
756
835
  <example hw.product="KN4140v">KN4140v - Cover</example>
@@ -1173,6 +1252,23 @@
1173
1252
  <param pos="1" name="hw.serial_number"/>
1174
1253
  </fingerprint>
1175
1254
 
1255
+ <fingerprint pattern="^Agilent E5810 \(([a-fA-F0-9-]{17})\)$">
1256
+ <description>Agilent E5810 Instrument Gateway Device</description>
1257
+ <example host.mac="00-30-D3-01-01-01">Agilent E5810 (00-30-D3-01-01-01)</example>
1258
+ <param pos="0" name="hw.vendor" value="Agilent"/>
1259
+ <param pos="0" name="hw.device" value="Test Instrument"/>
1260
+ <param pos="0" name="hw.product" value="E5810 Gateway Device"/>
1261
+ <param pos="1" name="host.mac"/>
1262
+ </fingerprint>
1263
+
1264
+ <fingerprint pattern="^LXI - Agilent Technologies - N1913A - EPM Series Power Meter$">
1265
+ <description>Agilent N1913A EPM Series Power Meter</description>
1266
+ <example>LXI - Agilent Technologies - N1913A - EPM Series Power Meter</example>
1267
+ <param pos="0" name="hw.vendor" value="Agilent"/>
1268
+ <param pos="0" name="hw.device" value="Test Instrument"/>
1269
+ <param pos="0" name="hw.product" value="N1913A Power Meter"/>
1270
+ </fingerprint>
1271
+
1176
1272
  <fingerprint pattern="^Polycom - Configuration Utility$">
1177
1273
  <description>Polycom IP Phone</description>
1178
1274
  <example>Polycom - Configuration Utility</example>
@@ -1206,6 +1302,15 @@
1206
1302
  <param pos="1" name="hw.product"/>
1207
1303
  </fingerprint>
1208
1304
 
1305
+ <fingerprint pattern="^(SPA\S+) Device Information \(SEP(\S+)\)$">
1306
+ <description>Cisco IP Phone - SPA504G</description>
1307
+ <example hw.product="SPA504G" host.mac="0123456789ab">SPA504G Device Information (SEP0123456789ab)</example>
1308
+ <param pos="0" name="hw.vendor" value="Cisco"/>
1309
+ <param pos="0" name="hw.device" value="VoIP"/>
1310
+ <param pos="1" name="hw.product"/>
1311
+ <param pos="2" name="host.mac"/>
1312
+ </fingerprint>
1313
+
1209
1314
  <fingerprint pattern="^Cisco (?:SPA Configuration|IP Phone)$">
1210
1315
  <description>Cisco IP Phone </description>
1211
1316
  <example>Cisco SPA Configuration</example>
@@ -1322,6 +1427,14 @@
1322
1427
  <param pos="0" name="hw.cpe23" value="cpe:/h:cisco:wireless_lan_controller:-"/>
1323
1428
  </fingerprint>
1324
1429
 
1430
+ <fingerprint pattern="^Cisco ASDM (\S+)$">
1431
+ <description>Cisco Adaptive Security Device Manager Application</description>
1432
+ <example service.version="6.4(7)">Cisco ASDM 6.4(7)</example>
1433
+ <param pos="0" name="service.vendor" value="Cisco"/>
1434
+ <param pos="0" name="service.product" value="ASDM"/>
1435
+ <param pos="1" name="service.version"/>
1436
+ </fingerprint>
1437
+
1325
1438
  <fingerprint pattern="^Duo Access Gateway$">
1326
1439
  <description>Duo Access Gateway</description>
1327
1440
  <example>Duo Access Gateway</example>
@@ -1474,6 +1587,36 @@
1474
1587
  <param pos="0" name="os.product" value="SmartServer"/>
1475
1588
  </fingerprint>
1476
1589
 
1590
+ <!-- Various products by Avocent -->
1591
+
1592
+ <fingerprint pattern="^Avocent AutoView ([^/$]+)">
1593
+ <description>Avocent AutoView KVM</description>
1594
+ <example hw.model="3100">Avocent AutoView 3100/3200</example>
1595
+ <example hw.model="3050">Avocent AutoView 3050</example>
1596
+ <param pos="0" name="hw.vendor" value="Avocent"/>
1597
+ <param pos="0" name="hw.device" value="KVM"/>
1598
+ <param pos="1" name="hw.model"/>
1599
+ <param pos="0" name="hw.product" value="AutoView {hw.model}"/>
1600
+ </fingerprint>
1601
+
1602
+ <!-- Various products by Aerohive -->
1603
+
1604
+ <fingerprint pattern="^Aerohive HiveUI$">
1605
+ <description>Aerohive Access Point</description>
1606
+ <example>Aerohive HiveUI</example>
1607
+ <param pos="0" name="hw.vendor" value="Aerohive"/>
1608
+ <param pos="0" name="hw.device" value="WAP"/>
1609
+ </fingerprint>
1610
+
1611
+ <!-- Various products by Ruckus -->
1612
+
1613
+ <fingerprint pattern="^Ruckus Wireless Admin$">
1614
+ <description>Ruckus Wireless Access Point</description>
1615
+ <example>Ruckus Wireless Admin</example>
1616
+ <param pos="0" name="hw.vendor" value="Ruckus"/>
1617
+ <param pos="0" name="hw.device" value="WAP"/>
1618
+ </fingerprint>
1619
+
1477
1620
  <!-- Various ICS/OT -->
1478
1621
 
1479
1622
  <fingerprint pattern="^CTI (25\S+) Main Menu$">
@@ -1702,7 +1845,7 @@
1702
1845
  <param pos="0" name="service.cpe23" value="cpe:/a:realvnc:realvnc:-"/>
1703
1846
  </fingerprint>
1704
1847
 
1705
- <fingerprint pattern="^.{0,1024} \[Jenkins\]$">
1848
+ <fingerprint pattern="^.{0,1000} \[Jenkins\]$">
1706
1849
  <description>Jenkins Customized Dashboard</description>
1707
1850
  <example>Continuous Integrations [Jenkins]</example>
1708
1851
  <example>Dashboard [Jenkins]</example>
@@ -2044,7 +2187,7 @@
2044
2187
  <description>Pure Storage Appliance</description>
2045
2188
  <example>Pure Storage Login</example>
2046
2189
  <param pos="0" name="hw.vendor" value="Pure Storage"/>
2047
- <param pos="0" name="hw.device" value="NAS"/>
2190
+ <param pos="0" name="hw.device" value="Storage Appliance"/>
2048
2191
  <param pos="0" name="hw.product" value="Appliance"/>
2049
2192
  </fingerprint>
2050
2193
 
@@ -2227,7 +2370,7 @@
2227
2370
  <param pos="0" name="hw.product" value="Network Node"/>
2228
2371
  </fingerprint>
2229
2372
 
2230
- <fingerprint pattern="^(?:S2 Netbox Login|Home - NetBox)$">
2373
+ <fingerprint pattern="^S2 Netbox Login|Home - NetBox$">
2231
2374
  <description>S2 Netbox Appliance</description>
2232
2375
  <example>S2 Netbox Login</example>
2233
2376
  <example>Home - NetBox</example>
@@ -2279,7 +2422,7 @@
2279
2422
  <param pos="0" name="service.cpe23" value="cpe:/a:ibm:tivoli_storage_flashcopy_manager:-"/>
2280
2423
  </fingerprint>
2281
2424
 
2282
- <fingerprint pattern="^(?:Jupyter Notebook|JupyterLab|Home Page - Select or create a notebook)$">
2425
+ <fingerprint pattern="^Jupyter Notebook|JupyterLab|Home Page - Select or create a notebook$">
2283
2426
  <description>Jupyter Notebook Server</description>
2284
2427
  <example>Jupyter Notebook</example>
2285
2428
  <example>JupyterLab</example>
@@ -2324,7 +2467,7 @@
2324
2467
  <param pos="0" name="service.product" value="Network Monitor"/>
2325
2468
  </fingerprint>
2326
2469
 
2327
- <fingerprint pattern="^(?:BrightSign&amp;reg;|BrightSign Applications|Diagnostics Web Server)$">
2470
+ <fingerprint pattern="^BrightSign&amp;reg;|BrightSign Applications|Diagnostics Web Server$">
2328
2471
  <description>BrightSign Controller</description>
2329
2472
  <example>BrightSign&amp;reg;</example>
2330
2473
  <example>BrightSign Applications</example>
@@ -2345,7 +2488,7 @@
2345
2488
  <param pos="0" name="hw.device" value="WAP"/>
2346
2489
  </fingerprint>
2347
2490
 
2348
- <fingerprint pattern="^(?:DD System Manager|System Manager)$">
2491
+ <fingerprint pattern="^DD System Manager|System Manager$">
2349
2492
  <description>Data Domain System Manager</description>
2350
2493
  <example>DD System Manager</example>
2351
2494
  <example>System Manager</example>
@@ -2398,7 +2541,7 @@
2398
2541
  <param pos="0" name="service.cpe23" value="cpe:/a:influxdata:influxdb:2.0"/>
2399
2542
  </fingerprint>
2400
2543
 
2401
- <fingerprint pattern="^(?:Sign in . GitLab|GitLab|GitLab is not responding)$">
2544
+ <fingerprint pattern="^Sign in . GitLab|GitLab|GitLab is not responding$">
2402
2545
  <description>GitLab</description>
2403
2546
  <example>Sign in · GitLab</example>
2404
2547
  <example>GitLab is not responding</example>
@@ -2409,7 +2552,7 @@
2409
2552
  <param pos="0" name="service.cpe23" value="cpe:/a:gitlab:gitlab:-"/>
2410
2553
  </fingerprint>
2411
2554
 
2412
- <fingerprint pattern="^(?:GitHub Enterprise|Setup GitHub Enterprise|GitHub Enterprise preflight check)$">
2555
+ <fingerprint pattern="^GitHub Enterprise|Setup GitHub Enterprise|GitHub Enterprise preflight check$">
2413
2556
  <description>GitHub Enterprise</description>
2414
2557
  <example>GitHub Enterprise</example>
2415
2558
  <example>Setup GitHub Enterprise</example>
@@ -2418,7 +2561,7 @@
2418
2561
  <param pos="0" name="service.product" value="Enterprise"/>
2419
2562
  </fingerprint>
2420
2563
 
2421
- <fingerprint pattern="^(?:SAP NetWeaver Application Server Java|SAP&amp;#x20;NetWeaver&amp;#x20;Portal|Loading Portal\.\.\.)$">
2564
+ <fingerprint pattern="^SAP NetWeaver Application Server Java|SAP&amp;#x20;NetWeaver&amp;#x20;Portal|Loading Portal\.\.\.$">
2422
2565
  <description>SAP NetWeaver Portal</description>
2423
2566
  <example>SAP NetWeaver Application Server Java</example>
2424
2567
  <example>SAP&amp;#x20;NetWeaver&amp;#x20;Portal</example>
@@ -2437,7 +2580,7 @@
2437
2580
  <param pos="0" name="service.cpe23" value="cpe:/a:lansweeper:lansweeper:-"/>
2438
2581
  </fingerprint>
2439
2582
 
2440
- <fingerprint pattern="^(?:Celery Flower|Flower)$">
2583
+ <fingerprint pattern="^Celery Flower|Flower$">
2441
2584
  <description>Celery Flower Dashboard</description>
2442
2585
  <example>Celery Flower</example>
2443
2586
  <example>Flower</example>
@@ -2577,7 +2720,7 @@
2577
2720
  <param pos="0" name="service.cpe23" value="cpe:/a:apache:flink:-"/>
2578
2721
  </fingerprint>
2579
2722
 
2580
- <fingerprint pattern="^(?:Twonky|Twonky Server|TwonkyMedia|TwonkyMedia server media browser)$">
2723
+ <fingerprint pattern="^Twonky|Twonky Server|TwonkyMedia|TwonkyMedia server media browser$">
2581
2724
  <description>Twonky Server</description>
2582
2725
  <example>Twonky</example>
2583
2726
  <example>Twonky Server</example>
@@ -2622,7 +2765,7 @@
2622
2765
  <param pos="0" name="service.cpe23" value="cpe:/a:sabnzbd:sabnzbd:-"/>
2623
2766
  </fingerprint>
2624
2767
 
2625
- <fingerprint pattern="^(?:Zabbix|.*: Zabbix)$">
2768
+ <fingerprint pattern="^Zabbix|.*: Zabbix$">
2626
2769
  <description>Zabbix</description>
2627
2770
  <example>Zabbix</example>
2628
2771
  <example>appliance: Zabbix</example>
@@ -2644,7 +2787,7 @@
2644
2787
  <param pos="0" name="os.cpe23" value="cpe:/o:dd-wrt:dd-wrt:{os.version}"/>
2645
2788
  </fingerprint>
2646
2789
 
2647
- <fingerprint pattern="^(?:Apache Druid|Druid Console|Legacy Coordinator Console)$">
2790
+ <fingerprint pattern="^Apache Druid|Druid Console|Legacy Coordinator Console$">
2648
2791
  <description>Apache Druid</description>
2649
2792
  <example>Apache Druid</example>
2650
2793
  <example>Legacy Coordinator Console</example>
@@ -2731,7 +2874,7 @@
2731
2874
  <example>Rundeck - Login</example>
2732
2875
  <param pos="0" name="service.vendor" value="Rundeck"/>
2733
2876
  <param pos="0" name="service.product" value="Rundeck"/>
2734
- <param pos="0" name="service.cpe23" value="cpe:/a:rundeck:rundeck:-"/>
2877
+ <param pos="0" name="service.cpe23" value="cpe:/a:pagerduty:rundeck:-"/>
2735
2878
  </fingerprint>
2736
2879
 
2737
2880
  <fingerprint pattern="^CrushFTP WebInterface$">
@@ -2854,7 +2997,7 @@
2854
2997
  <param pos="0" name="service.cpe23" value="cpe:/a:solarwinds:virtualization_manager:-"/>
2855
2998
  </fingerprint>
2856
2999
 
2857
- <fingerprint pattern="^(?:Gitea: .*|LocalRepo|TurnKey Gitea)$">
3000
+ <fingerprint pattern="^Gitea: .*|LocalRepo|TurnKey Gitea$">
2858
3001
  <description>Gitea</description>
2859
3002
  <example>Gitea: Git with a cup of tea</example>
2860
3003
  <example>TurnKey Gitea</example>
@@ -2942,7 +3085,7 @@
2942
3085
  <param pos="0" name="service.cpe23" value="cpe:/a:rstudio:connect:-"/>
2943
3086
  </fingerprint>
2944
3087
 
2945
- <fingerprint pattern="^(?:TurnKey Moodle|New Site)$">
3088
+ <fingerprint pattern="^TurnKey Moodle|New Site$">
2946
3089
  <description>Moodle</description>
2947
3090
  <example>TurnKey Moodle</example>
2948
3091
  <example>New Site</example>
@@ -2981,7 +3124,7 @@
2981
3124
  <param pos="0" name="service.cpe23" value="cpe:/a:atlassian:jira:-"/>
2982
3125
  </fingerprint>
2983
3126
 
2984
- <fingerprint pattern="^(?:Welcome to XAMPP|XAMPP for Linux)">
3127
+ <fingerprint pattern="^Welcome to XAMPP|XAMPP for Linux">
2985
3128
  <description>XAMPP Server</description>
2986
3129
  <example>Welcome to XAMPP</example>
2987
3130
  <example>XAMPP for Linux</example>
@@ -3006,7 +3149,7 @@
3006
3149
  <param pos="0" name="service.cpe23" value="cpe:/a:kodi:kodi:-"/>
3007
3150
  </fingerprint>
3008
3151
 
3009
- <fingerprint pattern="^(?:Drupal|TurnKey Drupal\d+|Select an installation profile)$">
3152
+ <fingerprint pattern="^Drupal|TurnKey Drupal\d+|Select an installation profile$">
3010
3153
  <description>Drupal CMS</description>
3011
3154
  <example>Drupal</example>
3012
3155
  <example>TurnKey Drupal8</example>
@@ -3086,9 +3229,9 @@
3086
3229
  <param pos="0" name="service.product" value="Media Server"/>
3087
3230
  </fingerprint>
3088
3231
 
3089
- <fingerprint pattern="^proxmox - Proxmox Virtual Environment$">
3232
+ <fingerprint pattern="^.{1,256} - Proxmox Virtual Environment$">
3090
3233
  <description>Proxmox open-source virtualization platform</description>
3091
- <example>proxmox - Proxmox Virtual Environment</example>
3234
+ <example>hypervisor - Proxmox Virtual Environment</example>
3092
3235
  <param pos="0" name="service.vendor" value="Proxmox"/>
3093
3236
  <param pos="0" name="service.product" value="Virtual Environment"/>
3094
3237
  <param pos="0" name="service.cpe23" value="cpe:/a:proxmox:virtual_environment:-"/>
@@ -3108,7 +3251,7 @@
3108
3251
  <fingerprint pattern="Lifesize&amp;reg;$">
3109
3252
  <description>Lifesize TelePresence</description>
3110
3253
  <example>Lifesize&amp;reg;</example>
3111
- <example>400 - Bad Request Lifesize&amp;reg;</example>
3254
+ <example>400 - Bad Request Lifesize&amp;reg;</example>
3112
3255
  <param pos="0" name="hw.vendor" value="Lifesize"/>
3113
3256
  <param pos="0" name="hw.device" value="Video Conferencing"/>
3114
3257
  <param pos="0" name="hw.product" value="TelePresence"/>
@@ -3247,4 +3390,338 @@
3247
3390
  <param pos="0" name="service.cpe23" value="cpe:/a:moinmo:moinmoin:-"/>
3248
3391
  </fingerprint>
3249
3392
 
3393
+ <fingerprint pattern="^(\w+) - BlackBox Management Console$">
3394
+ <description>BlackBox Management Console</description>
3395
+ <example host.name="ABC123">ABC123 - BlackBox Management Console</example>
3396
+ <param pos="0" name="hw.vendor" value="BlackBox"/>
3397
+ <param pos="0" name="hw.device" value="Device Server"/>
3398
+ <param pos="0" name="hw.product" value="BlackBox"/>
3399
+ <param pos="1" name="host.name"/>
3400
+ </fingerprint>
3401
+
3402
+ <fingerprint pattern="^Shelly Color Bulb$">
3403
+ <description>Shelly Smart Bulb</description>
3404
+ <example>Shelly Color Bulb</example>
3405
+ <param pos="0" name="os.vendor" value="Cesanta"/>
3406
+ <param pos="0" name="os.product" value="Mongoose OS"/>
3407
+ <param pos="0" name="os.cpe23" value="cpe:/o:cesanta:mongoose_os:-"/>
3408
+ <param pos="0" name="hw.vendor" value="Shelly"/>
3409
+ <param pos="0" name="hw.device" value="Light Bulb"/>
3410
+ <param pos="0" name="hw.product" value="Color Bulb"/>
3411
+ </fingerprint>
3412
+
3413
+ <fingerprint pattern="^Shelly (Plug|Dimmer(?: 2)?|Switch)$">
3414
+ <description>Shelly Plug/Dimmer/Switch Devices</description>
3415
+ <example hw.product="Plug">Shelly Plug</example>
3416
+ <example hw.product="Dimmer">Shelly Dimmer</example>
3417
+ <example hw.product="Dimmer 2">Shelly Dimmer 2</example>
3418
+ <example hw.product="Switch">Shelly Switch</example>
3419
+ <param pos="0" name="os.vendor" value="Cesanta"/>
3420
+ <param pos="0" name="os.product" value="Mongoose OS"/>
3421
+ <param pos="0" name="os.cpe23" value="cpe:/o:cesanta:mongoose_os:-"/>
3422
+ <param pos="0" name="hw.vendor" value="Shelly"/>
3423
+ <param pos="0" name="hw.device" value="Device"/>
3424
+ <param pos="1" name="hw.product"/>
3425
+ </fingerprint>
3426
+
3427
+ <fingerprint pattern="^Shelly[ ]?(RGBW2|1L)$">
3428
+ <description>Shelly Lighting Controller</description>
3429
+ <example hw.product="RGBW2">Shelly RGBW2</example>
3430
+ <example hw.product="1L">Shelly1L</example>
3431
+ <param pos="0" name="os.vendor" value="Cesanta"/>
3432
+ <param pos="0" name="os.product" value="Mongoose OS"/>
3433
+ <param pos="0" name="os.cpe23" value="cpe:/o:cesanta:mongoose_os:-"/>
3434
+ <param pos="0" name="hw.vendor" value="Shelly"/>
3435
+ <param pos="0" name="hw.device" value="Device"/>
3436
+ <param pos="1" name="hw.product"/>
3437
+ </fingerprint>
3438
+
3439
+ <fingerprint pattern="^TinyGS Configuration$">
3440
+ <description>TinyGS LoRa Ground Station Software</description>
3441
+ <example>TinyGS Configuration</example>
3442
+ <param pos="0" name="service.product" value="TinyGS"/>
3443
+ </fingerprint>
3444
+
3445
+ <fingerprint pattern="^WLED$">
3446
+ <description>WLED Controlled Device</description>
3447
+ <example>WLED</example>
3448
+ <param pos="0" name="service.vendor" value="Aircookie"/>
3449
+ <param pos="0" name="service.product" value="WLED"/>
3450
+ <param pos="0" name="service.device" value="Device"/>
3451
+ </fingerprint>
3452
+
3453
+ <fingerprint pattern="^Freebox OS (?:.*)$">
3454
+ <description>Freebox OS on Freebox Set-top Box Devices</description>
3455
+ <example>Freebox OS :: Identification</example>
3456
+ <param pos="0" name="os.vendor" value="Freebox"/>
3457
+ <param pos="0" name="os.product" value="Freebox OS"/>
3458
+ <param pos="0" name="hw.vendor" value="Freebox"/>
3459
+ <param pos="0" name="hw.device" value="Device"/>
3460
+ </fingerprint>
3461
+
3462
+ <fingerprint pattern="^HP UPS Network Module$">
3463
+ <description>HP RT3000 G2 UPS</description>
3464
+ <example>HP UPS Network Module</example>
3465
+ <param pos="0" name="hw.vendor" value="HP"/>
3466
+ <param pos="0" name="hw.device" value="UPS"/>
3467
+ </fingerprint>
3468
+
3469
+ <fingerprint pattern="^UniFi Network$">
3470
+ <description>Ubiquiti UniFi Network Application</description>
3471
+ <example>UniFi Network</example>
3472
+ <param pos="0" name="service.vendor" value="Ubiquiti"/>
3473
+ <param pos="0" name="service.product" value="UniFi"/>
3474
+ <param pos="0" name="service.device" value="Device"/>
3475
+ <param pos="0" name="service.cpe23" value="cpe:/a:ui:unifi:-"/>
3476
+ </fingerprint>
3477
+
3478
+ <fingerprint pattern="^Login to AdminDroid Office 365 Reporter$">
3479
+ <description>AdminDroid Office 365 Reporter Application</description>
3480
+ <example>Login to AdminDroid Office 365 Reporter</example>
3481
+ <param pos="0" name="service.vendor" value="AdminDroid"/>
3482
+ <param pos="0" name="service.product" value="Office 365 Reporter"/>
3483
+ </fingerprint>
3484
+
3485
+ <fingerprint pattern="^Nanoleaf Firmware Upload$">
3486
+ <description>Nanoleaf LED Lighting</description>
3487
+ <example>Nanoleaf Firmware Upload</example>
3488
+ <param pos="0" name="hw.vendor" value="Nanoleaf"/>
3489
+ <param pos="0" name="hw.device" value="Device"/>
3490
+ </fingerprint>
3491
+
3492
+ <fingerprint pattern="^GoGogate - LAN$">
3493
+ <description>GoGogate Garage Door Opener</description>
3494
+ <example>GoGogate - LAN</example>
3495
+ <param pos="0" name="hw.vendor" value="GoGogate"/>
3496
+ <param pos="0" name="hw.device" value="Device"/>
3497
+ </fingerprint>
3498
+
3499
+ <fingerprint pattern="^ASUS Login$">
3500
+ <description>ASUS Router/Network Device</description>
3501
+ <example>ASUS Login</example>
3502
+ <param pos="0" name="hw.vendor" value="Asus"/>
3503
+ <param pos="0" name="hw.device" value="Device"/>
3504
+ </fingerprint>
3505
+
3506
+ <fingerprint pattern="^GigaBlue Quad Plus - OpenWebif$">
3507
+ <description>GigaBlue Quad Plus Satellite TV Receiver</description>
3508
+ <example>GigaBlue Quad Plus - OpenWebif</example>
3509
+ <param pos="0" name="hw.vendor" value="GigaBlue"/>
3510
+ <param pos="0" name="hw.device" value="Device"/>
3511
+ <param pos="0" name="hw.product" value="Quad Plus Receiver"/>
3512
+ </fingerprint>
3513
+
3514
+ <fingerprint pattern="^Barix Instreamer Instreamer$">
3515
+ <description>Barix Instreamer</description>
3516
+ <example>Barix Instreamer Instreamer</example>
3517
+ <param pos="0" name="hw.vendor" value="Barix"/>
3518
+ <param pos="0" name="hw.device" value="Audio Encoder"/>
3519
+ <param pos="0" name="hw.product" value="Instreamer"/>
3520
+ </fingerprint>
3521
+
3522
+ <fingerprint pattern="^Tracker Display$">
3523
+ <description>SpotterRF</description>
3524
+ <example>Tracker Display</example>
3525
+ <param pos="0" name="os.vendor" value="SpotterRF"/>
3526
+ <param pos="0" name="os.family" value="Linux"/>
3527
+ <param pos="0" name="os.certainty" value="0.90"/>
3528
+ <param pos="0" name="hw.vendor" value="SpotterRF"/>
3529
+ <param pos="0" name="hw.device" value="Sensor"/>
3530
+ <param pos="0" name="hw.product" value="Drone Detector"/>
3531
+ </fingerprint>
3532
+
3533
+ <fingerprint pattern="^Polycom (DMA \d+)$">
3534
+ <description>Polycom DMA 7000</description>
3535
+ <example hw.product="DMA 7000">Polycom DMA 7000</example>
3536
+ <param pos="0" name="hw.vendor" value="Polycom"/>
3537
+ <param pos="0" name="hw.device" value="VoIP"/>
3538
+ <param pos="1" name="hw.product"/>
3539
+ </fingerprint>
3540
+
3541
+ <fingerprint pattern="^VVX(\d{3})$">
3542
+ <description>Polycom VVX VoIP Phones</description>
3543
+ <example hw.model="250">VVX250</example>
3544
+ <param pos="0" name="hw.vendor" value="Polycom"/>
3545
+ <param pos="0" name="hw.device" value="VoIP"/>
3546
+ <param pos="1" name="hw.model"/>
3547
+ <param pos="0" name="hw.product" value="VVX {hw.model}"/>
3548
+ </fingerprint>
3549
+
3550
+ <fingerprint pattern="^(OBi[23]\d{2})">
3551
+ <description>Poly OBI Analog Telephone Adapter</description>
3552
+ <example hw.product="OBi200">OBi200</example>
3553
+ <param pos="0" name="hw.vendor" value="Poly"/>
3554
+ <param pos="0" name="hw.device" value="VoIP"/>
3555
+ <param pos="1" name="hw.product"/>
3556
+ </fingerprint>
3557
+
3558
+ <fingerprint pattern="^Alpha Technologies$">
3559
+ <description>Alpha Technologies Novus UPS</description>
3560
+ <example>Alpha Technologies</example>
3561
+ <param pos="0" name="hw.vendor" value="Alpha Technologies"/>
3562
+ <param pos="0" name="hw.device" value="Power Device"/>
3563
+ <param pos="0" name="hw.product" value="Novus UPS"/>
3564
+ </fingerprint>
3565
+
3566
+ <fingerprint pattern="^Network Management Card$">
3567
+ <description>Eaton UPS Network Card</description>
3568
+ <example>Network Management Card</example>
3569
+ <param pos="0" name="hw.vendor" value="Eaton"/>
3570
+ <param pos="0" name="hw.device" value="Power Device"/>
3571
+ <param pos="0" name="hw.product" value="UPS"/>
3572
+ <param pos="0" name="hw.certainty" value="0.5"/>
3573
+ </fingerprint>
3574
+
3575
+ <fingerprint pattern="^UPS Properties$">
3576
+ <description>APC UPS Network Card</description>
3577
+ <example>UPS Properties</example>
3578
+ <param pos="0" name="hw.vendor" value="APC"/>
3579
+ <param pos="0" name="hw.device" value="Power Device"/>
3580
+ <param pos="0" name="hw.product" value="UPS"/>
3581
+ <param pos="0" name="hw.certainty" value="0.5"/>
3582
+ </fingerprint>
3583
+
3584
+ <fingerprint pattern="^HP ([\w ]+) PostScript">
3585
+ <description>HP Printer</description>
3586
+ <example hw.product="Designjet T1200">HP Designjet T1200 PostScript - Supplies</example>
3587
+ <param pos="0" name="hw.vendor" value="HP"/>
3588
+ <param pos="0" name="hw.family" value="JetDirect"/>
3589
+ <param pos="0" name="hw.device" value="Printer"/>
3590
+ <param pos="1" name="hw.product"/>
3591
+ </fingerprint>
3592
+
3593
+ <fingerprint pattern="^Radio Configuration/Diagnostic Utility$">
3594
+ <description>ProSoft RadioLinx</description>
3595
+ <example>Radio Configuration/Diagnostic Utility</example>
3596
+ <param pos="0" name="hw.vendor" value="ProSoft Technology"/>
3597
+ <param pos="0" name="hw.device" value="WAP"/>
3598
+ <param pos="0" name="hw.product" value="RadioLinx"/>
3599
+ <param pos="0" name="hw.certainty" value="0.5"/>
3600
+ </fingerprint>
3601
+
3602
+ <fingerprint pattern="^Welcome to ntopng$">
3603
+ <description>ntopng Network Analysis Application</description>
3604
+ <example>Welcome to ntopng</example>
3605
+ <param pos="0" name="service.vendor" value="ntop"/>
3606
+ <param pos="0" name="service.product" value="ntopng"/>
3607
+ <param pos="0" name="service.cpe23" value="cpe:/a:ntop:ntopng:-"/>
3608
+ </fingerprint>
3609
+
3610
+ <fingerprint pattern="^FreeNAS$">
3611
+ <description>iXsystems FreeNAS</description>
3612
+ <example>FreeNAS</example>
3613
+ <param pos="0" name="service.vendor" value="iXsystems"/>
3614
+ <param pos="0" name="service.product" value="FreeNAS"/>
3615
+ <param pos="0" name="os.vendor" value="iXsystems"/>
3616
+ <param pos="0" name="os.family" value="FreeBSD"/>
3617
+ <param pos="0" name="os.product" value="FreeNAS Firmware"/>
3618
+ <param pos="0" name="os.cpe23" value="cpe:/o:ixsystems:freenas_firmware:-"/>
3619
+ </fingerprint>
3620
+
3621
+ <fingerprint pattern="^Xerox (.{1,1000}) - \d+\.\d+\.\d+\.\d+$">
3622
+ <description>Xerox Color Printer</description>
3623
+ <example hw.product="Color 570">Xerox Color 570 - 100.100.100.101</example>
3624
+ <param pos="0" name="hw.vendor" value="Xerox"/>
3625
+ <param pos="0" name="hw.device" value="Printer"/>
3626
+ <param pos="1" name="hw.product"/>
3627
+ </fingerprint>
3628
+
3629
+ <fingerprint pattern="^Web Smart Switch$">
3630
+ <description>3Com Switch</description>
3631
+ <example>Web Smart Switch</example>
3632
+ <param pos="0" name="hw.vendor" value="3Com"/>
3633
+ <param pos="0" name="hw.device" value="Switch"/>
3634
+ </fingerprint>
3635
+
3636
+ <fingerprint pattern="^(Quantum) - (Scalar i\d+) Login Screen$">
3637
+ <description>Quantum Scalar Tape Library</description>
3638
+ <example hw.vendor="Quantum" hw.product="Scalar i80">Quantum - Scalar i80 Login Screen</example>
3639
+ <param pos="0" name="hw.device" value="Tape Library"/>
3640
+ <param pos="1" name="hw.vendor"/>
3641
+ <param pos="2" name="hw.product"/>
3642
+ </fingerprint>
3643
+
3644
+ <fingerprint pattern="^Printer Administration$">
3645
+ <description>Weidmüller Printer</description>
3646
+ <example>Printer Administration</example>
3647
+ <param pos="0" name="hw.vendor" value="Weidmüller"/>
3648
+ <param pos="0" name="hw.device" value="Printer"/>
3649
+ </fingerprint>
3650
+
3651
+ <fingerprint pattern="^Machine Identification - (MX-\S+)$">
3652
+ <description>Sharp MX Printer</description>
3653
+ <example hw.product="MX-3071">Machine Identification - MX-3071</example>
3654
+ <param pos="0" name="hw.vendor" value="Sharp"/>
3655
+ <param pos="0" name="hw.device" value="Printer"/>
3656
+ <param pos="1" name="hw.product"/>
3657
+ </fingerprint>
3658
+
3659
+ <fingerprint pattern="^Remote UI: Login: (MF\S+):">
3660
+ <description>Canon MF Printer</description>
3661
+ <example hw.product="MF632C/634C">Remote UI: Login: MF632C/634C: MF632C/634C</example>
3662
+ <param pos="0" name="hw.vendor" value="Canon"/>
3663
+ <param pos="0" name="hw.device" value="Printer"/>
3664
+ <param pos="1" name="hw.product"/>
3665
+ <param pos="0" name="hw.certainty" value="0.8"/>
3666
+ </fingerprint>
3667
+
3668
+ <fingerprint pattern="^Network Video Recorder Login$">
3669
+ <description>Nuuo NVR</description>
3670
+ <example>Network Video Recorder Login</example>
3671
+ <param pos="0" name="hw.vendor" value="Nuuo"/>
3672
+ <param pos="0" name="hw.device" value="DVR"/>
3673
+ </fingerprint>
3674
+
3675
+ <fingerprint pattern="^Evolis Printer$">
3676
+ <description>Evolis Printer</description>
3677
+ <example>Evolis Printer</example>
3678
+ <param pos="0" name="hw.vendor" value="Evolis"/>
3679
+ <param pos="0" name="hw.device" value="Printer"/>
3680
+ </fingerprint>
3681
+
3682
+ <fingerprint pattern="^WyzeOutdoorPlug - ">
3683
+ <description>Wyze Plug Outdoor</description>
3684
+ <example>WyzeOutdoorPlug - Main Menu</example>
3685
+ <param pos="0" name="hw.vendor" value="Wyze"/>
3686
+ <param pos="0" name="hw.device" value="Device"/>
3687
+ <param pos="0" name="hw.product" value="Plug Outdoor"/>
3688
+ </fingerprint>
3689
+
3690
+ <fingerprint pattern="^Aptinex IOT Relay Module - (\d+ Channel) (Rev\S+)?">
3691
+ <description>Aptinex Relay Controller</description>
3692
+ <example aptinex.model="4 Channel" os.version="Rev1.1">Aptinex IOT Relay Module - 4 Channel Rev1.1</example>
3693
+ <param pos="0" name="os.vendor" value="Aptinex"/>
3694
+ <param pos="0" name="hw.vendor" value="Aptinex"/>
3695
+ <param pos="0" name="hw.device" value="Relay Controller"/>
3696
+ <param pos="0" name="hw.product" value="{aptinex.model} Relay Controller"/>
3697
+ <param pos="1" name="aptinex.model"/>
3698
+ <param pos="2" name="os.version"/>
3699
+ </fingerprint>
3700
+
3701
+ <fingerprint pattern="^Diagnoser - Bobcatminer Diagnostic Dashboard$">
3702
+ <description>Bobcat Helium Miner</description>
3703
+ <example>Diagnoser - Bobcatminer Diagnostic Dashboard</example>
3704
+ <param pos="0" name="hw.vendor" value="Bobcat"/>
3705
+ <param pos="0" name="hw.device" value="Device"/>
3706
+ <param pos="0" name="hw.product" value="Helium Miner"/>
3707
+ </fingerprint>
3708
+
3709
+ <fingerprint pattern="^LORIX Manager$">
3710
+ <description>Wifx LORIX One</description>
3711
+ <example>LORIX Manager</example>
3712
+ <param pos="0" name="os.vendor" value="Wifx"/>
3713
+ <param pos="0" name="os.product" value="LORIX OS"/>
3714
+ <param pos="0" name="hw.vendor" value="Wifx"/>
3715
+ <param pos="0" name="hw.device" value="Device"/>
3716
+ <param pos="0" name="hw.product" value="LORIX ONE"/>
3717
+ </fingerprint>
3718
+
3719
+ <fingerprint pattern="^ETERNUS$">
3720
+ <description>Fujitsu ETERNUS Storage Appliance</description>
3721
+ <example>ETERNUS</example>
3722
+ <param pos="0" name="hw.vendor" value="Fujitsu"/>
3723
+ <param pos="0" name="hw.device" value="Storage Appliance"/>
3724
+ <param pos="0" name="hw.product" value="Eternus"/>
3725
+ </fingerprint>
3726
+
3250
3727
  </fingerprints>