recog 2.3.21 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +42 -16
  4. data/Rakefile +2 -9
  5. data/lib/recog/db.rb +2 -1
  6. data/lib/recog/db_manager.rb +1 -1
  7. data/lib/recog/fingerprint.rb +33 -6
  8. data/lib/recog/fingerprint_parse_error.rb +10 -0
  9. data/lib/recog/verifier.rb +9 -9
  10. data/lib/recog/verify_reporter.rb +17 -6
  11. data/lib/recog/version.rb +1 -1
  12. data/{bin → recog/bin}/recog_match +0 -1
  13. data/{xml → recog/xml}/apache_modules.xml +0 -0
  14. data/{xml → recog/xml}/apache_os.xml +98 -56
  15. data/{xml → recog/xml}/architecture.xml +15 -1
  16. data/recog/xml/dhcp_vendor_class.xml +206 -0
  17. data/{xml → recog/xml}/dns_versionbind.xml +16 -13
  18. data/{xml → recog/xml}/favicons.xml +297 -47
  19. data/{xml → recog/xml}/fingerprints.xsd +9 -1
  20. data/{xml → recog/xml}/ftp_banners.xml +160 -156
  21. data/{xml → recog/xml}/h323_callresp.xml +101 -101
  22. data/{xml → recog/xml}/hp_pjl_id.xml +84 -84
  23. data/{xml → recog/xml}/html_title.xml +727 -34
  24. data/{xml → recog/xml}/http_cookies.xml +160 -77
  25. data/{xml → recog/xml}/http_servers.xml +556 -283
  26. data/{xml → recog/xml}/http_wwwauth.xml +190 -75
  27. data/{xml → recog/xml}/imap_banners.xml +5 -5
  28. data/{xml → recog/xml}/ldap_searchresult.xml +0 -0
  29. data/{xml → recog/xml}/mdns_device-info_txt.xml +389 -26
  30. data/{xml → recog/xml}/mdns_workstation_txt.xml +0 -0
  31. data/{xml → recog/xml}/mysql_banners.xml +1 -1
  32. data/{xml → recog/xml}/mysql_error.xml +0 -0
  33. data/{xml → recog/xml}/nntp_banners.xml +11 -8
  34. data/{xml → recog/xml}/ntp_banners.xml +97 -97
  35. data/{xml → recog/xml}/operating_system.xml +95 -80
  36. data/{xml → recog/xml}/pop_banners.xml +23 -23
  37. data/{xml → recog/xml}/rsh_resp.xml +3 -3
  38. data/{xml → recog/xml}/rtsp_servers.xml +0 -0
  39. data/{xml → recog/xml}/sip_banners.xml +43 -5
  40. data/{xml → recog/xml}/sip_user_agents.xml +175 -27
  41. data/{xml → recog/xml}/smb_native_lm.xml +5 -5
  42. data/{xml → recog/xml}/smb_native_os.xml +25 -25
  43. data/{xml → recog/xml}/smtp_banners.xml +147 -146
  44. data/{xml → recog/xml}/smtp_debug.xml +0 -0
  45. data/{xml → recog/xml}/smtp_ehlo.xml +1 -1
  46. data/{xml → recog/xml}/smtp_expn.xml +0 -0
  47. data/{xml → recog/xml}/smtp_help.xml +11 -11
  48. data/{xml → recog/xml}/smtp_mailfrom.xml +0 -0
  49. data/{xml → recog/xml}/smtp_noop.xml +2 -2
  50. data/{xml → recog/xml}/smtp_quit.xml +0 -0
  51. data/{xml → recog/xml}/smtp_rcptto.xml +0 -0
  52. data/{xml → recog/xml}/smtp_rset.xml +0 -0
  53. data/{xml → recog/xml}/smtp_turn.xml +0 -0
  54. data/{xml → recog/xml}/smtp_vrfy.xml +0 -0
  55. data/{xml → recog/xml}/snmp_sysdescr.xml +1570 -1430
  56. data/{xml → recog/xml}/snmp_sysobjid.xml +38 -27
  57. data/{xml → recog/xml}/ssh_banners.xml +16 -10
  58. data/{xml → recog/xml}/telnet_banners.xml +238 -21
  59. data/{xml → recog/xml}/tls_jarm.xml +56 -6
  60. data/{xml → recog/xml}/x11_banners.xml +3 -3
  61. data/{xml → recog/xml}/x509_issuers.xml +49 -1
  62. data/{xml → recog/xml}/x509_subjects.xml +139 -38
  63. data/recog.gemspec +9 -5
  64. data/spec/data/external_example_fingerprint/hp_printer_ex_01.txt +1 -0
  65. data/spec/data/external_example_fingerprint/hp_printer_ex_02.txt +1 -0
  66. data/spec/data/external_example_fingerprint.xml +8 -0
  67. data/spec/data/external_example_illegal_path_fingerprint.xml +7 -0
  68. data/spec/lib/recog/db_spec.rb +84 -61
  69. data/spec/lib/recog/fingerprint_spec.rb +4 -4
  70. data/spec/lib/recog/verify_reporter_spec.rb +73 -4
  71. data/spec/spec_helper.rb +4 -0
  72. metadata +65 -134
  73. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -37
  74. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  75. data/.github/ISSUE_TEMPLATE/fingerprint_request.md +0 -27
  76. data/.github/PULL_REQUEST_TEMPLATE +0 -24
  77. data/.github/SECURITY.md +0 -35
  78. data/.github/workflows/ci.yml +0 -26
  79. data/.gitignore +0 -23
  80. data/.rspec +0 -3
  81. data/.ruby-gemset +0 -1
  82. data/.ruby-version +0 -1
  83. data/.snyk +0 -10
  84. data/.travis.yml +0 -25
  85. data/CONTRIBUTING.md +0 -270
  86. data/bin/recog_cleanup +0 -16
  87. data/bin/recog_export +0 -81
  88. data/bin/recog_standardize +0 -148
  89. data/bin/recog_verify +0 -64
  90. data/cpe-remap.yaml +0 -343
  91. data/features/data/failing_banners_fingerprints.xml +0 -20
  92. data/features/data/matching_banners_fingerprints.xml +0 -23
  93. data/features/data/multiple_banners_fingerprints.xml +0 -32
  94. data/features/data/no_tests.xml +0 -3
  95. data/features/data/sample_banner.txt +0 -2
  96. data/features/data/successful_tests.xml +0 -18
  97. data/features/data/tests_with_failures.xml +0 -20
  98. data/features/data/tests_with_warnings.xml +0 -17
  99. data/features/match.feature +0 -36
  100. data/features/support/aruba.rb +0 -3
  101. data/features/support/env.rb +0 -6
  102. data/features/verify.feature +0 -48
  103. data/identifiers/README.md +0 -70
  104. data/identifiers/fields.txt +0 -104
  105. data/identifiers/hw_device.txt +0 -78
  106. data/identifiers/hw_family.txt +0 -113
  107. data/identifiers/hw_product.txt +0 -410
  108. data/identifiers/os_architecture.txt +0 -10
  109. data/identifiers/os_device.txt +0 -75
  110. data/identifiers/os_family.txt +0 -233
  111. data/identifiers/os_product.txt +0 -340
  112. data/identifiers/service_family.txt +0 -249
  113. data/identifiers/service_product.txt +0 -752
  114. data/identifiers/vendor.txt +0 -798
  115. data/lib/recog/verifier_factory.rb +0 -13
  116. data/misc/convert_mysql_err +0 -61
  117. data/misc/order.xsl +0 -17
  118. data/requirements.txt +0 -2
  119. data/spec/lib/fingerprint_self_test_spec.rb +0 -174
  120. data/update_cpes.py +0 -250
@@ -156,8 +156,8 @@
156
156
 
157
157
  <fingerprint pattern="^Windows Server \(R\) 2008 (\w+|\w+ \w+|\w+ \w+ \w+)(?: (?:with|without) Hyper-V|) (\d+) (Service Pack \d+)(?:, v\.\d+)?$">
158
158
  <description>Windows Server 2008</description>
159
- <example os.edition="Enterprise" os.version="Service Pack 1">Windows Server (R) 2008 Enterprise without Hyper-V 6001 Service Pack 1</example>
160
- <example os.edition="Enterprise" os.version="Service Pack 2">Windows Server (R) 2008 Enterprise 6002 Service Pack 2, v.275</example>
159
+ <example os.edition="Enterprise" os.version="Service Pack 1" os.build="6001">Windows Server (R) 2008 Enterprise without Hyper-V 6001 Service Pack 1</example>
160
+ <example os.edition="Enterprise" os.version="Service Pack 2" os.build="6002">Windows Server (R) 2008 Enterprise 6002 Service Pack 2, v.275</example>
161
161
  <param pos="0" name="os.certainty" value="1.0"/>
162
162
  <param pos="0" name="os.vendor" value="Microsoft"/>
163
163
  <param pos="0" name="os.product" value="Windows Server 2008"/>
@@ -169,7 +169,7 @@
169
169
 
170
170
  <fingerprint pattern="^Windows \(R\) Web Server 2008 (\d+) (Service Pack \d+)$">
171
171
  <description>Windows Web Server 2008 (SP)</description>
172
- <example os.edition="Web" os.version="Service Pack 2">Windows (R) Web Server 2008 6002 Service Pack 2</example>
172
+ <example os.edition="Web" os.version="Service Pack 2" os.build="6002">Windows (R) Web Server 2008 6002 Service Pack 2</example>
173
173
  <param pos="0" name="os.certainty" value="1.0"/>
174
174
  <param pos="0" name="os.vendor" value="Microsoft"/>
175
175
  <param pos="0" name="os.product" value="Windows Server 2008"/>
@@ -181,7 +181,7 @@
181
181
 
182
182
  <fingerprint pattern="^Windows \(R\) Web Server 2008 (\d+)$">
183
183
  <description>Windows Web Server 2008</description>
184
- <example>Windows (R) Web Server 2008 6002</example>
184
+ <example os.build="6002">Windows (R) Web Server 2008 6002</example>
185
185
  <param pos="0" name="os.certainty" value="1.0"/>
186
186
  <param pos="0" name="os.vendor" value="Microsoft"/>
187
187
  <param pos="0" name="os.product" value="Windows Server 2008"/>
@@ -217,7 +217,7 @@
217
217
 
218
218
  <fingerprint pattern="^Windows Server 2008 HPC Edition (\d+) (Service Pack \d+)$">
219
219
  <description>Windows Server 2008 HPC</description>
220
- <example>Windows Server 2008 HPC Edition 7601 Service Pack 1</example>
220
+ <example os.build="7601" os.version="Service Pack 1">Windows Server 2008 HPC Edition 7601 Service Pack 1</example>
221
221
  <param pos="0" name="os.certainty" value="1.0"/>
222
222
  <param pos="0" name="os.vendor" value="Microsoft"/>
223
223
  <param pos="0" name="os.product" value="Windows Server 2008"/>
@@ -229,7 +229,7 @@
229
229
 
230
230
  <fingerprint pattern="^Windows Server 2008 HPC Edition (\d+)$">
231
231
  <description>Windows Web Server 2008 HPC</description>
232
- <example>Windows Server 2008 HPC Edition 7600</example>
232
+ <example os.build="7600">Windows Server 2008 HPC Edition 7600</example>
233
233
  <param pos="0" name="os.certainty" value="1.0"/>
234
234
  <param pos="0" name="os.vendor" value="Microsoft"/>
235
235
  <param pos="0" name="os.product" value="Windows Server 2008"/>
@@ -242,8 +242,8 @@
242
242
 
243
243
  <fingerprint pattern="^Windows Server 2008 R2 (\w+|\w+ \w+|\w+ \w+ \w+) (\d+) (Service Pack \d+)(?:, v\.\d+)?$">
244
244
  <description>Windows Server 2008 R2</description>
245
- <example>Windows Server 2008 R2 Enterprise 7601 Service Pack 1</example>
246
- <example>Windows Server 2008 R2 Standard 7601 Service Pack 1</example>
245
+ <example os.edition="Enterprise" os.build="7601" os.version="Service Pack 1">Windows Server 2008 R2 Enterprise 7601 Service Pack 1</example>
246
+ <example os.edition="Standard" os.build="7601" os.version="Service Pack 1">Windows Server 2008 R2 Standard 7601 Service Pack 1</example>
247
247
  <param pos="0" name="os.certainty" value="1.0"/>
248
248
  <param pos="0" name="os.vendor" value="Microsoft"/>
249
249
  <param pos="0" name="os.product" value="Windows Server 2008 R2"/>
@@ -255,9 +255,9 @@
255
255
 
256
256
  <fingerprint pattern="^Windows Server 2008 R2 (\w+|\w+ \w+|\w+ \w+ \w+) (\d+)$">
257
257
  <description>Windows Server 2008 R2 without Service Pack</description>
258
- <example os.edition="Enterprise">Windows Server 2008 R2 Enterprise 7600</example>
259
- <example os.edition="Standard">Windows Server 2008 R2 Standard 7600</example>
260
- <example os.edition="Datacenter">Windows Server 2008 R2 Datacenter 7600</example>
258
+ <example os.edition="Enterprise" os.build="7600">Windows Server 2008 R2 Enterprise 7600</example>
259
+ <example os.edition="Standard" os.build="7600">Windows Server 2008 R2 Standard 7600</example>
260
+ <example os.edition="Datacenter" os.build="7600">Windows Server 2008 R2 Datacenter 7600</example>
261
261
  <param pos="0" name="os.certainty" value="1.0"/>
262
262
  <param pos="0" name="os.vendor" value="Microsoft"/>
263
263
  <param pos="0" name="os.product" value="Windows Server 2008 R2"/>
@@ -268,7 +268,7 @@
268
268
 
269
269
  <fingerprint pattern="^Windows Web Server 2008 R2 (\d+) (Service Pack \d+)$">
270
270
  <description>Windows Server 2008 R2 Web</description>
271
- <example os.version="Service Pack 1">Windows Web Server 2008 R2 7601 Service Pack 1</example>
271
+ <example os.version="Service Pack 1" os.build="7601">Windows Web Server 2008 R2 7601 Service Pack 1</example>
272
272
  <param pos="0" name="os.certainty" value="1.0"/>
273
273
  <param pos="0" name="os.vendor" value="Microsoft"/>
274
274
  <param pos="0" name="os.product" value="Windows Server 2008 R2"/>
@@ -280,7 +280,7 @@
280
280
 
281
281
  <fingerprint pattern="^Windows Web Server 2008 R2 (\d+)$">
282
282
  <description>Windows Web Server 2008 R2 Web</description>
283
- <example>Windows Web Server 2008 R2 7600</example>
283
+ <example os.build="7600">Windows Web Server 2008 R2 7600</example>
284
284
  <param pos="0" name="os.certainty" value="1.0"/>
285
285
  <param pos="0" name="os.vendor" value="Microsoft"/>
286
286
  <param pos="0" name="os.product" value="Windows Server 2008 R2"/>
@@ -378,7 +378,7 @@
378
378
 
379
379
  <fingerprint pattern="^Windows Vista \(TM\) (\w+|\w+ \w+|\w+ \w+ \w+) (\d+) (Service Pack \d+)$">
380
380
  <description>Windows Vista (SP)</description>
381
- <example os.edition="Home Premium" os.version="Service Pack 2">Windows Vista (TM) Home Premium 6002 Service Pack 2</example>
381
+ <example os.edition="Home Premium" os.version="Service Pack 2" os.build="6002">Windows Vista (TM) Home Premium 6002 Service Pack 2</example>
382
382
  <param pos="0" name="os.certainty" value="1.0"/>
383
383
  <param pos="0" name="os.vendor" value="Microsoft"/>
384
384
  <param pos="0" name="os.product" value="Windows Vista"/>
@@ -390,7 +390,7 @@
390
390
 
391
391
  <fingerprint pattern="^Windows Vista \(TM\) (\w+|\w+ \w+|\w+ \w+ \w+) (\d+)$">
392
392
  <description>Windows Vista</description>
393
- <example os.edition="Home Premium">Windows Vista (TM) Home Premium 6000</example>
393
+ <example os.edition="Home Premium" os.build="6000">Windows Vista (TM) Home Premium 6000</example>
394
394
  <param pos="0" name="os.certainty" value="1.0"/>
395
395
  <param pos="0" name="os.vendor" value="Microsoft"/>
396
396
  <param pos="0" name="os.product" value="Windows Vista"/>
@@ -401,9 +401,9 @@
401
401
 
402
402
  <fingerprint pattern="^(Windows (?:7|8|8\.1)(?:| RT)) (\w+|\w+ \w+|\w+ \w+ \w+) (\d+) (Service Pack \d+)(?:, v\.\d+)?$">
403
403
  <description>Windows 7/8 (SP + Edition)</description>
404
- <example os.edition="Enterprise" os.version="Service Pack 1">Windows 7 Enterprise 7601 Service Pack 1</example>
405
- <example os.edition="Starter" os.version="Service Pack 1">Windows 7 Starter 7601 Service Pack 1</example>
406
- <example os.edition="Ultimate" os.build="7601" os.version="Service Pack 1">Windows 7 Ultimate 7601 Service Pack 1, v.178</example>
404
+ <example os.edition="Enterprise" os.version="Service Pack 1" os.product="Windows 7" os.build="7601">Windows 7 Enterprise 7601 Service Pack 1</example>
405
+ <example os.edition="Starter" os.version="Service Pack 1" os.product="Windows 7" os.build="7601">Windows 7 Starter 7601 Service Pack 1</example>
406
+ <example os.edition="Ultimate" os.build="7601" os.version="Service Pack 1" os.product="Windows 7">Windows 7 Ultimate 7601 Service Pack 1, v.178</example>
407
407
  <param pos="0" name="os.certainty" value="1.0"/>
408
408
  <param pos="0" name="os.vendor" value="Microsoft"/>
409
409
  <param pos="1" name="os.product"/>
@@ -414,7 +414,7 @@
414
414
 
415
415
  <fingerprint pattern="^(Windows (?:7|8|8\.1)(?:| RT)) (\d+) (Service Pack \d+)$">
416
416
  <description>Windows 7/8 (SP)</description>
417
- <example os.version="Service Pack 1">Windows 7 7601 Service Pack 1</example>
417
+ <example os.version="Service Pack 1" os.product="Windows 7" os.build="7601">Windows 7 7601 Service Pack 1</example>
418
418
  <param pos="0" name="os.certainty" value="1.0"/>
419
419
  <param pos="0" name="os.vendor" value="Microsoft"/>
420
420
  <param pos="1" name="os.product"/>
@@ -424,9 +424,9 @@
424
424
 
425
425
  <fingerprint pattern="^(Windows (?:7|8|8\.1)(?:| RT)) (\w+|\w+ \w+|\w+ \w+ \w+) (\d+)$">
426
426
  <description>Windows 7/8 (Edition)</description>
427
- <example os.edition="Enterprise">Windows 7 Enterprise 7600</example>
428
- <example os.edition="Enterprise">Windows 8.1 Enterprise 9600</example>
429
- <example os.edition="Enterprise">Windows 8 Enterprise 9200</example>
427
+ <example os.edition="Enterprise" os.product="Windows 7" os.build="7600">Windows 7 Enterprise 7600</example>
428
+ <example os.edition="Enterprise" os.product="Windows 8.1" os.build="9600">Windows 8.1 Enterprise 9600</example>
429
+ <example os.edition="Enterprise" os.product="Windows 8" os.build="9200">Windows 8 Enterprise 9200</example>
430
430
  <param pos="0" name="os.certainty" value="1.0"/>
431
431
  <param pos="0" name="os.vendor" value="Microsoft"/>
432
432
  <param pos="1" name="os.product"/>
@@ -436,7 +436,7 @@
436
436
 
437
437
  <fingerprint pattern="^(Windows (?:7|8|8\.1)(?:| RT)) (\d+)$">
438
438
  <description>Windows 7/8</description>
439
- <example>Windows 8 9200</example>
439
+ <example os.product="Windows 8" os.build="9200">Windows 8 9200</example>
440
440
  <param pos="0" name="os.certainty" value="1.0"/>
441
441
  <param pos="0" name="os.vendor" value="Microsoft"/>
442
442
  <param pos="1" name="os.product"/>
@@ -508,7 +508,7 @@
508
508
 
509
509
  <fingerprint pattern="^Windows Server 2012 (\w+|\w+ \w+|\w+ \w+ \w+) (\d+)$">
510
510
  <description>Windows Server 2012</description>
511
- <example>Windows Server 2012 Standard 9200</example>
511
+ <example os.edition="Standard" os.build="9200">Windows Server 2012 Standard 9200</example>
512
512
  <param pos="0" name="os.certainty" value="1.0"/>
513
513
  <param pos="0" name="os.vendor" value="Microsoft"/>
514
514
  <param pos="0" name="os.product" value="Windows Server 2012"/>
@@ -637,7 +637,7 @@
637
637
 
638
638
  <fingerprint pattern="^EMC-SNAS:T([\d\.]+)?$">
639
639
  <description>EMC Celerra</description>
640
- <example service.version="7.1.80.7">EMC-SNAS:T7.1.80.7</example>
640
+ <example service.version="7.1.80.7" os.version="7.1.80.7">EMC-SNAS:T7.1.80.7</example>
641
641
  <param pos="0" name="service.vendor" value="EMC"/>
642
642
  <param pos="0" name="service.product" value="Celerra"/>
643
643
  <param pos="1" name="service.version"/>