recog 2.3.23 → 3.0.1

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.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +25 -16
  4. data/Rakefile +2 -9
  5. data/lib/recog/db_manager.rb +1 -1
  6. data/lib/recog/version.rb +1 -1
  7. data/{bin → recog/bin}/recog_match +0 -1
  8. data/{xml → recog/xml}/apache_modules.xml +0 -0
  9. data/{xml → recog/xml}/apache_os.xml +0 -0
  10. data/{xml → recog/xml}/architecture.xml +0 -0
  11. data/{xml → recog/xml}/dhcp_vendor_class.xml +9 -9
  12. data/{xml → recog/xml}/dns_versionbind.xml +0 -0
  13. data/{xml → recog/xml}/favicons.xml +63 -1
  14. data/{xml → recog/xml}/fingerprints.xsd +0 -0
  15. data/{xml → recog/xml}/ftp_banners.xml +0 -0
  16. data/{xml → recog/xml}/h323_callresp.xml +0 -0
  17. data/{xml → recog/xml}/hp_pjl_id.xml +0 -0
  18. data/{xml → recog/xml}/html_title.xml +47 -0
  19. data/{xml → recog/xml}/http_cookies.xml +19 -0
  20. data/{xml → recog/xml}/http_servers.xml +74 -1
  21. data/{xml → recog/xml}/http_wwwauth.xml +13 -0
  22. data/{xml → recog/xml}/imap_banners.xml +0 -0
  23. data/{xml → recog/xml}/ldap_searchresult.xml +0 -0
  24. data/{xml → recog/xml}/mdns_device-info_txt.xml +0 -0
  25. data/{xml → recog/xml}/mdns_workstation_txt.xml +0 -0
  26. data/{xml → recog/xml}/mysql_banners.xml +0 -0
  27. data/{xml → recog/xml}/mysql_error.xml +0 -0
  28. data/{xml → recog/xml}/nntp_banners.xml +0 -0
  29. data/{xml → recog/xml}/ntp_banners.xml +0 -0
  30. data/{xml → recog/xml}/operating_system.xml +0 -0
  31. data/{xml → recog/xml}/pop_banners.xml +0 -0
  32. data/{xml → recog/xml}/rsh_resp.xml +0 -0
  33. data/{xml → recog/xml}/rtsp_servers.xml +0 -0
  34. data/{xml → recog/xml}/sip_banners.xml +0 -0
  35. data/{xml → recog/xml}/sip_user_agents.xml +0 -0
  36. data/{xml → recog/xml}/smb_native_lm.xml +0 -0
  37. data/{xml → recog/xml}/smb_native_os.xml +0 -0
  38. data/{xml → recog/xml}/smtp_banners.xml +0 -0
  39. data/{xml → recog/xml}/smtp_debug.xml +0 -0
  40. data/{xml → recog/xml}/smtp_ehlo.xml +0 -0
  41. data/{xml → recog/xml}/smtp_expn.xml +0 -0
  42. data/{xml → recog/xml}/smtp_help.xml +0 -0
  43. data/{xml → recog/xml}/smtp_mailfrom.xml +0 -0
  44. data/{xml → recog/xml}/smtp_noop.xml +0 -0
  45. data/{xml → recog/xml}/smtp_quit.xml +0 -0
  46. data/{xml → recog/xml}/smtp_rcptto.xml +0 -0
  47. data/{xml → recog/xml}/smtp_rset.xml +0 -0
  48. data/{xml → recog/xml}/smtp_turn.xml +0 -0
  49. data/{xml → recog/xml}/smtp_vrfy.xml +0 -0
  50. data/{xml → recog/xml}/snmp_sysdescr.xml +21 -6
  51. data/{xml → recog/xml}/snmp_sysobjid.xml +11 -0
  52. data/{xml → recog/xml}/ssh_banners.xml +0 -0
  53. data/{xml → recog/xml}/telnet_banners.xml +34 -1
  54. data/{xml → recog/xml}/tls_jarm.xml +8 -0
  55. data/{xml → recog/xml}/x11_banners.xml +0 -0
  56. data/{xml → recog/xml}/x509_issuers.xml +13 -2
  57. data/{xml → recog/xml}/x509_subjects.xml +0 -0
  58. data/recog.gemspec +9 -5
  59. data/spec/spec_helper.rb +4 -0
  60. metadata +56 -145
  61. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -37
  62. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  63. data/.github/ISSUE_TEMPLATE/fingerprint_request.md +0 -27
  64. data/.github/PULL_REQUEST_TEMPLATE +0 -24
  65. data/.github/SECURITY.md +0 -35
  66. data/.github/dependabot.yml +0 -8
  67. data/.github/workflows/ci.yml +0 -26
  68. data/.github/workflows/verify.yml +0 -89
  69. data/.gitignore +0 -23
  70. data/.rspec +0 -3
  71. data/.ruby-gemset +0 -1
  72. data/.ruby-version +0 -1
  73. data/.snyk +0 -10
  74. data/.travis.yml +0 -25
  75. data/.vscode/bin/monitor-recog-fingerprints.sh +0 -54
  76. data/.vscode/extensions.json +0 -5
  77. data/.vscode/settings.json +0 -8
  78. data/.vscode/tasks.json +0 -77
  79. data/CONTRIBUTING.md +0 -278
  80. data/bin/recog_cleanup +0 -16
  81. data/bin/recog_export +0 -81
  82. data/bin/recog_standardize +0 -163
  83. data/bin/recog_verify +0 -98
  84. data/cpe-remap.yaml +0 -374
  85. data/features/data/failing_banners_fingerprints.xml +0 -20
  86. data/features/data/matching_banners_fingerprints.xml +0 -23
  87. data/features/data/multiple_banners_fingerprints.xml +0 -32
  88. data/features/data/no_tests.xml +0 -3
  89. data/features/data/sample_banner.txt +0 -2
  90. data/features/data/schema_failure.xml +0 -4
  91. data/features/data/successful_tests.xml +0 -18
  92. data/features/data/tests_with_failures.xml +0 -26
  93. data/features/data/tests_with_warnings.xml +0 -17
  94. data/features/match.feature +0 -36
  95. data/features/support/aruba.rb +0 -3
  96. data/features/support/env.rb +0 -6
  97. data/features/support/hooks.rb +0 -9
  98. data/features/verify.feature +0 -112
  99. data/identifiers/README.md +0 -70
  100. data/identifiers/fields.txt +0 -105
  101. data/identifiers/hw_device.txt +0 -86
  102. data/identifiers/hw_family.txt +0 -121
  103. data/identifiers/hw_product.txt +0 -463
  104. data/identifiers/os_architecture.txt +0 -10
  105. data/identifiers/os_device.txt +0 -77
  106. data/identifiers/os_family.txt +0 -235
  107. data/identifiers/os_product.txt +0 -357
  108. data/identifiers/service_family.txt +0 -249
  109. data/identifiers/service_product.txt +0 -778
  110. data/identifiers/vendor.txt +0 -859
  111. data/misc/convert_mysql_err +0 -61
  112. data/misc/order.xsl +0 -17
  113. data/requirements.txt +0 -2
  114. data/spec/lib/fingerprint_self_test_spec.rb +0 -175
  115. data/tools/dev/hooks/pre-commit +0 -21
  116. data/update_cpes.py +0 -343
@@ -749,6 +749,21 @@
749
749
  <param pos="0" name="os.device" value="WAP"/>
750
750
  </fingerprint>
751
751
 
752
+ <!--======================================================================
753
+ Aruba Networks
754
+ =======================================================================-->
755
+
756
+ <fingerprint pattern="^Aruba\s(JL\d+A)\s(\d+[A-Z]?)\S+\sSwitch.+ROM\s([A-Z]+(?:\.\d+)+)">
757
+ <description>HP Aruba Network Switch</description>
758
+ <example hw.model="JL256A" hw.product="2930F" os.version="WC.16.01.0010">Aruba JL256A 2930F-48G-PoE+-4SFP+ Switch, revision WC.16.11.0004, ROM WC.16.01.0010</example>
759
+ <param pos="0" name="os.vendor" value="Aruba Networks"/>
760
+ <param pos="3" name="os.version"/>
761
+ <param pos="0" name="hw.vendor" value="Aruba Networks"/>
762
+ <param pos="2" name="hw.product"/>
763
+ <param pos="1" name="hw.model"/>
764
+ <param pos="0" name="hw.device" value="Switch"/>
765
+ </fingerprint>
766
+
752
767
  <!--======================================================================
753
768
  Asentria
754
769
  =======================================================================-->
@@ -1951,7 +1966,7 @@ Copyright (c) 1995-2005 by Cisco Systems
1951
1966
  <example os.product="136T">DELL PowerVault 136T</example>
1952
1967
  <param pos="0" name="os.vendor" value="Dell"/>
1953
1968
  <param pos="0" name="os.family" value="PowerVault"/>
1954
- <param pos="0" name="os.device" value="Tape library"/>
1969
+ <param pos="0" name="os.device" value="Tape Library"/>
1955
1970
  <param pos="1" name="os.product"/>
1956
1971
  </fingerprint>
1957
1972
 
@@ -2028,7 +2043,7 @@ Copyright (c) 1995-2005 by Cisco Systems
2028
2043
  <param pos="0" name="os.vendor" value="Dell"/>
2029
2044
  <param pos="0" name="os.family" value="PowerVault"/>
2030
2045
  <param pos="0" name="os.product" value="PowerVault"/>
2031
- <param pos="0" name="os.device" value="Tape library"/>
2046
+ <param pos="0" name="os.device" value="Tape Library"/>
2032
2047
  </fingerprint>
2033
2048
 
2034
2049
  <!--======================================================================
@@ -5672,11 +5687,11 @@ Copyright (c) 1995-2005 by Cisco Systems
5672
5687
  =======================================================================-->
5673
5688
 
5674
5689
  <fingerprint pattern="^PARADYNE T1 DSU/CSU; model: ([^;]+); S/W Release: ([^;]+);">
5675
- <description>Paradyne CSU/DSU</description>
5690
+ <description>Paradyne DSU/CSU</description>
5676
5691
  <example os.product="3165-A4-210" os.version="05.01.16">PARADYNE T1 DSU/CSU; model: 3165-A4-210; S/W Release: 05.01.16; H/W CCA1: 3996-82C; Serial number: 5796841</example>
5677
5692
  <param pos="0" name="os.certainty" value="1.0"/>
5678
5693
  <param pos="0" name="os.vendor" value="Paradyne"/>
5679
- <param pos="0" name="os.device" value="CSU/DSU"/>
5694
+ <param pos="0" name="os.device" value="DSU/CSU"/>
5680
5695
  <param pos="1" name="os.product"/>
5681
5696
  <param pos="2" name="os.version"/>
5682
5697
  </fingerprint>
@@ -6446,8 +6461,8 @@ Copyright (c) 1995-2005 by Cisco Systems
6446
6461
  <example os.product="GE Series " os.version="V5 R3.10404.0">HiPath Wireless Access Controller - GE Series , System Version V5 R3.10404.0</example>
6447
6462
  <example os.product="V2110" os.version="08.01.01.0251">HiPath Wireless Access Controller - V2110, System Version 08.01.01.0251</example>
6448
6463
  <param pos="0" name="os.vendor" value="Siemens"/>
6449
- <param pos="0" name="os.device" value="HiPath"/>
6450
- <param pos="0" name="os.family" value="WAP"/>
6464
+ <param pos="0" name="os.family" value="HiPath"/>
6465
+ <param pos="0" name="os.device" value="WAP"/>
6451
6466
  <param pos="1" name="os.product"/>
6452
6467
  <param pos="2" name="os.version"/>
6453
6468
  </fingerprint>
@@ -472,4 +472,15 @@
472
472
  <param pos="0" name="service.cpe23" value="cpe:/a:net-snmp:net-snmp:-"/>
473
473
  </fingerprint>
474
474
 
475
+ <fingerprint pattern="^1\.3\.6\.1\.4\.1\.11\.2\.3\.7\.11\.181\.21\sAruba\s(JL\d+A)\s(\d+[A-Z]?)\S+\sSwitch.+ROM\s([A-Z]+(?:\.\d+)+)">
476
+ <description>HP Aruba Network Switch</description>
477
+ <example hw.model="JL256A" hw.product="2930F" os.version="WC.16.01.0010">1.3.6.1.4.1.11.2.3.7.11.181.21 Aruba JL256A 2930F-48G-PoE+-4SFP+ Switch, revision WC.16.11.0004, ROM WC.16.01.0010</example>
478
+ <param pos="0" name="os.vendor" value="Aruba Networks"/>
479
+ <param pos="3" name="os.version"/>
480
+ <param pos="0" name="hw.vendor" value="Aruba Networks"/>
481
+ <param pos="2" name="hw.product"/>
482
+ <param pos="1" name="hw.model"/>
483
+ <param pos="0" name="hw.device" value="Switch"/>
484
+ </fingerprint>
485
+
475
486
  </fingerprints>
File without changes
@@ -1095,7 +1095,7 @@
1095
1095
  </example>
1096
1096
  <param pos="0" name="os.vendor" value="Red Hat"/>
1097
1097
  <param pos="0" name="os.family" value="Linux"/>
1098
- <param pos="0" name="os.device" value="Linux"/>
1098
+ <param pos="0" name="os.product" value="Linux"/>
1099
1099
  <param pos="1" name="os.version"/>
1100
1100
  </fingerprint>
1101
1101
 
@@ -2294,4 +2294,37 @@
2294
2294
  <param pos="0" name="os.product" value="Fermentrack"/>
2295
2295
  </fingerprint>
2296
2296
 
2297
+ <fingerprint pattern="(?m)^Welcome to the SIGMA Spectrum Diagnostic Terminal(?:\r|\n)*Wireless Battery Module \(802\.11[abgn\/]+\)(?:\r|\n)*MAC Address: ((?:[0-9a-f]{2}-?){6}) SW: \d+[\sD]*\d+\s*(?:\r|\n)*Sigma Spectrum SN: (\d+) SW: v([\d.]+)(?:\r|\n)*Radio up since: [\w\s:]+(?:\r|\n)*login:\s*$">
2298
+ <description>Baxter SIGMA Spectrum Infusion System with Wireless Battery Module</description>
2299
+ <!--
2300
+ Welcome to the SIGMA Spectrum Diagnostic Terminal
2301
+
2302
+ Wireless Battery Module (802.11a/b/g/n)
2303
+ MAC Address: 00-40-9d-12-34-56 SW: 20 D29
2304
+ Sigma Spectrum SN: 1234567 SW: v8.00.01
2305
+ Radio up since: Fri Mar 1 03:14:24 2019
2306
+
2307
+ login:
2308
+ -->
2309
+
2310
+ <example host.mac="00-40-9d-12-34-56" hw.serial_number="1234567" os.version="8.00.01" _encoding="base64">
2311
+ V2VsY29tZSB0byB0aGUgU0lHTUEgU3BlY3RydW0gRGlhZ25vc3RpYyBUZXJtaW5hbA0KDQpXa
2312
+ XJlbGVzcyBCYXR0ZXJ5IE1vZHVsZSAoODAyLjExYS9iL2cvbikNCk1BQyBBZGRyZXNzOiAwMC
2313
+ 00MC05ZC0xMi0zNC01NiBTVzogMjAgRDI5DQpTaWdtYSBTcGVjdHJ1bSBTTjogMTIzNDU2NyB
2314
+ TVzogdjguMDAuMDENClJhZGlvIHVwIHNpbmNlOiBGcmkgTWFyICAxIDAzOjE0OjI0IDIwMTkN
2315
+ Cg0KbG9naW46IA==
2316
+ </example>
2317
+ <param pos="0" name="os.vendor" value="Baxter"/>
2318
+ <param pos="0" name="os.product" value="SIGMA Spectrum Infusion System Firmware"/>
2319
+ <param pos="0" name="os.device" value="Medical"/>
2320
+ <param pos="3" name="os.version"/>
2321
+ <param pos="0" name="os.cpe23" value="cpe:/o:baxter:sigma_spectrum_infusion_system_firmware:{os.version}"/>
2322
+ <param pos="0" name="hw.vendor" value="Baxter"/>
2323
+ <param pos="0" name="hw.product" value="SIGMA Spectrum Infusion System"/>
2324
+ <param pos="0" name="hw.device" value="Medical"/>
2325
+ <param pos="2" name="hw.serial_number"/>
2326
+ <param pos="0" name="hw.cpe23" value="cpe:/h:baxter:sigma_spectrum_infusion_system:-"/>
2327
+ <param pos="1" name="host.mac"/>
2328
+ </fingerprint>
2329
+
2297
2330
  </fingerprints>
@@ -179,4 +179,12 @@
179
179
  <param pos="0" name="os.device" value="Printer"/>
180
180
  </fingerprint>
181
181
 
182
+ <fingerprint pattern="^27d27d27d00027d00041d41d00041dea7155aeeb5fe0855bcdf1e51aa692cd$">
183
+ <description>openHAB - open-source home automation</description>
184
+ <example>27d27d27d00027d00041d41d00041dea7155aeeb5fe0855bcdf1e51aa692cd</example>
185
+ <param pos="0" name="service.vendor" value="openHAB"/>
186
+ <param pos="0" name="service.product" value="openHAB"/>
187
+ <param pos="0" name="service.cpe23" value="cpe:/a:openhab:openhab:-"/>
188
+ </fingerprint>
189
+
182
190
  </fingerprints>
File without changes
@@ -227,7 +227,7 @@
227
227
  <fingerprint pattern="^CN=Temporary CA [a-fA-F0-9]{8}\-[a-fA-F0-9]{4}\-[a-fA-F0-9]{4}\-[a-fA-F0-9]{4}\-[a-fA-F0-9]{12},OU=Temporary CA">
228
228
  <description>Cisco Video Communication Server</description>
229
229
  <example>CN=Temporary CA 218131fe-8af4-11e7-aa6e-9950d6bbaf74,OU=Temporary CA 218131fe-8af4-11e7-aa6e-9950d6bbaf74,O=Temporary CA 218131fe-8af4-11e7-aa6e-9950d6bbaf74</example>
230
- <param pos="0" name="hw.device" value="Video Conference"/>
230
+ <param pos="0" name="hw.device" value="Video Conferencing"/>
231
231
  <param pos="0" name="hw.vendor" value="Cisco"/>
232
232
  <param pos="0" name="hw.product" value="TelePresence"/>
233
233
  </fingerprint>
@@ -363,7 +363,7 @@
363
363
  <description>Avaya Video Conferencing Device - CU360</description>
364
364
  <example hw.serial_number="11YT11111111">CN=Avaya cu360 11YT11111111</example>
365
365
  <param pos="0" name="hw.vendor" value="Avaya"/>
366
- <param pos="0" name="hw.device" value="Video Conference"/>
366
+ <param pos="0" name="hw.device" value="Video Conferencing"/>
367
367
  <param pos="0" name="hw.product" value="CU360"/>
368
368
  <param pos="1" name="hw.serial_number"/>
369
369
  </fingerprint>
@@ -394,4 +394,15 @@
394
394
  <param pos="2" name="host.mac"/>
395
395
  </fingerprint>
396
396
 
397
+ <fingerprint pattern="^CN=Proxmox Virtual Environment,OU=[a-f0-9-]+,O=PVE Cluster Manager CA$">
398
+ <description>Proxmox open-source virtualization platform</description>
399
+ <example>CN=Proxmox Virtual Environment,OU=dd69676f-e203-490e-b040-79b75ed6a9d7,O=PVE Cluster Manager CA</example>
400
+ <param pos="0" name="service.vendor" value="Proxmox"/>
401
+ <param pos="0" name="service.product" value="Virtual Environment"/>
402
+ <param pos="0" name="service.cpe23" value="cpe:/a:proxmox:virtual_environment:-"/>
403
+ <param pos="0" name="os.vendor" value="Proxmox"/>
404
+ <param pos="0" name="os.family" value="Linux"/>
405
+ <param pos="0" name="os.product" value="Proxmox"/>
406
+ </fingerprint>
407
+
397
408
  </fingerprints>
File without changes
data/recog.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.email = [
13
13
  'research@rapid7.com'
14
14
  ]
15
- s.homepage = "https://www.github.com/rapid7/recog"
15
+ s.homepage = "https://www.github.com/rapid7/recog-ruby"
16
16
  s.summary = %q{Network service fingerprint database, classes, and utilities}
17
17
  s.description = %q{
18
18
  Recog is a framework for identifying products, services, operating systems, and hardware by matching
@@ -20,9 +20,14 @@ Gem::Specification.new do |s|
20
20
  information from web server banners, snmp system description fields, and a whole lot more.
21
21
  }.gsub(/\s+/, ' ').strip
22
22
 
23
- s.files = `git ls-files`.split("\n")
24
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
+ s.bindir = 'recog/bin'
24
+ s.files = %w(Gemfile Rakefile COPYING LICENSE README.md recog.gemspec .yardopts) +
25
+ Dir.glob('lib/**/*.rb') +
26
+ Dir.glob('spec/**/*') +
27
+ Dir.glob('recog/xml/*') +
28
+ Dir.glob('recog/bin/recog_match')
29
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
30
+ s.executables = s.files.grep(%r{^recog/bin/}).map{ |f| File.basename(f) }
26
31
  s.require_paths = ['lib']
27
32
 
28
33
  # ---- Dependencies ----
@@ -36,7 +41,6 @@ Gem::Specification.new do |s|
36
41
  # markdown formatting for yard
37
42
  s.add_development_dependency 'redcarpet'
38
43
  end
39
- s.add_development_dependency 'cucumber'
40
44
  s.add_development_dependency 'aruba'
41
45
  s.add_development_dependency 'simplecov'
42
46
 
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,10 @@
1
+ FINGERPRINT_DIR = File.expand_path(File.join('..', 'recog', 'xml'), __dir__)
2
+
3
+ # setup code coverage
1
4
  require 'simplecov'
2
5
  SimpleCov.start
3
6
 
7
+ require 'rspec'
4
8
  # This file was generated by the `rspec --init` command. Conventionally, all
5
9
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
6
10
  # The generated `.rspec` file contains `--require spec_helper` which will cause this
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.23
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rapid7 Research
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: recog/bin
10
10
  cert_chain: []
11
- date: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: cucumber
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: aruba
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -115,71 +101,16 @@ description: Recog is a framework for identifying products, services, operating
115
101
  email:
116
102
  - research@rapid7.com
117
103
  executables:
118
- - recog_cleanup
119
- - recog_export
120
104
  - recog_match
121
- - recog_standardize
122
- - recog_verify
123
105
  extensions: []
124
106
  extra_rdoc_files: []
125
107
  files:
126
- - ".github/ISSUE_TEMPLATE/bug_report.md"
127
- - ".github/ISSUE_TEMPLATE/feature_request.md"
128
- - ".github/ISSUE_TEMPLATE/fingerprint_request.md"
129
- - ".github/PULL_REQUEST_TEMPLATE"
130
- - ".github/SECURITY.md"
131
- - ".github/dependabot.yml"
132
- - ".github/workflows/ci.yml"
133
- - ".github/workflows/verify.yml"
134
- - ".gitignore"
135
- - ".rspec"
136
- - ".ruby-gemset"
137
- - ".ruby-version"
138
- - ".snyk"
139
- - ".travis.yml"
140
- - ".vscode/bin/monitor-recog-fingerprints.sh"
141
- - ".vscode/extensions.json"
142
- - ".vscode/settings.json"
143
- - ".vscode/tasks.json"
144
108
  - ".yardopts"
145
- - CONTRIBUTING.md
146
109
  - COPYING
147
110
  - Gemfile
148
111
  - LICENSE
149
112
  - README.md
150
113
  - Rakefile
151
- - bin/recog_cleanup
152
- - bin/recog_export
153
- - bin/recog_match
154
- - bin/recog_standardize
155
- - bin/recog_verify
156
- - cpe-remap.yaml
157
- - features/data/failing_banners_fingerprints.xml
158
- - features/data/matching_banners_fingerprints.xml
159
- - features/data/multiple_banners_fingerprints.xml
160
- - features/data/no_tests.xml
161
- - features/data/sample_banner.txt
162
- - features/data/schema_failure.xml
163
- - features/data/successful_tests.xml
164
- - features/data/tests_with_failures.xml
165
- - features/data/tests_with_warnings.xml
166
- - features/match.feature
167
- - features/support/aruba.rb
168
- - features/support/env.rb
169
- - features/support/hooks.rb
170
- - features/verify.feature
171
- - identifiers/README.md
172
- - identifiers/fields.txt
173
- - identifiers/hw_device.txt
174
- - identifiers/hw_family.txt
175
- - identifiers/hw_product.txt
176
- - identifiers/os_architecture.txt
177
- - identifiers/os_device.txt
178
- - identifiers/os_family.txt
179
- - identifiers/os_product.txt
180
- - identifiers/service_family.txt
181
- - identifiers/service_product.txt
182
- - identifiers/vendor.txt
183
114
  - lib/recog.rb
184
115
  - lib/recog/db.rb
185
116
  - lib/recog/db_manager.rb
@@ -195,10 +126,58 @@ files:
195
126
  - lib/recog/verifier.rb
196
127
  - lib/recog/verify_reporter.rb
197
128
  - lib/recog/version.rb
198
- - misc/convert_mysql_err
199
- - misc/order.xsl
200
129
  - recog.gemspec
201
- - requirements.txt
130
+ - recog/bin/recog_match
131
+ - recog/xml/apache_modules.xml
132
+ - recog/xml/apache_os.xml
133
+ - recog/xml/architecture.xml
134
+ - recog/xml/dhcp_vendor_class.xml
135
+ - recog/xml/dns_versionbind.xml
136
+ - recog/xml/favicons.xml
137
+ - recog/xml/fingerprints.xsd
138
+ - recog/xml/ftp_banners.xml
139
+ - recog/xml/h323_callresp.xml
140
+ - recog/xml/hp_pjl_id.xml
141
+ - recog/xml/html_title.xml
142
+ - recog/xml/http_cookies.xml
143
+ - recog/xml/http_servers.xml
144
+ - recog/xml/http_wwwauth.xml
145
+ - recog/xml/imap_banners.xml
146
+ - recog/xml/ldap_searchresult.xml
147
+ - recog/xml/mdns_device-info_txt.xml
148
+ - recog/xml/mdns_workstation_txt.xml
149
+ - recog/xml/mysql_banners.xml
150
+ - recog/xml/mysql_error.xml
151
+ - recog/xml/nntp_banners.xml
152
+ - recog/xml/ntp_banners.xml
153
+ - recog/xml/operating_system.xml
154
+ - recog/xml/pop_banners.xml
155
+ - recog/xml/rsh_resp.xml
156
+ - recog/xml/rtsp_servers.xml
157
+ - recog/xml/sip_banners.xml
158
+ - recog/xml/sip_user_agents.xml
159
+ - recog/xml/smb_native_lm.xml
160
+ - recog/xml/smb_native_os.xml
161
+ - recog/xml/smtp_banners.xml
162
+ - recog/xml/smtp_debug.xml
163
+ - recog/xml/smtp_ehlo.xml
164
+ - recog/xml/smtp_expn.xml
165
+ - recog/xml/smtp_help.xml
166
+ - recog/xml/smtp_mailfrom.xml
167
+ - recog/xml/smtp_noop.xml
168
+ - recog/xml/smtp_quit.xml
169
+ - recog/xml/smtp_rcptto.xml
170
+ - recog/xml/smtp_rset.xml
171
+ - recog/xml/smtp_turn.xml
172
+ - recog/xml/smtp_vrfy.xml
173
+ - recog/xml/snmp_sysdescr.xml
174
+ - recog/xml/snmp_sysobjid.xml
175
+ - recog/xml/ssh_banners.xml
176
+ - recog/xml/telnet_banners.xml
177
+ - recog/xml/tls_jarm.xml
178
+ - recog/xml/x11_banners.xml
179
+ - recog/xml/x509_issuers.xml
180
+ - recog/xml/x509_subjects.xml
202
181
  - spec/data/best_os_match_1.yml
203
182
  - spec/data/best_os_match_2.yml
204
183
  - spec/data/best_service_match_1.yml
@@ -210,7 +189,6 @@ files:
210
189
  - spec/data/test_fingerprints.xml
211
190
  - spec/data/verification_fingerprints.xml
212
191
  - spec/data/whitespaced_fingerprint.xml
213
- - spec/lib/fingerprint_self_test_spec.rb
214
192
  - spec/lib/recog/db_spec.rb
215
193
  - spec/lib/recog/fingerprint/regexp_factory_spec.rb
216
194
  - spec/lib/recog/fingerprint_spec.rb
@@ -219,59 +197,7 @@ files:
219
197
  - spec/lib/recog/nizer_spec.rb
220
198
  - spec/lib/recog/verify_reporter_spec.rb
221
199
  - spec/spec_helper.rb
222
- - tools/dev/hooks/pre-commit
223
- - update_cpes.py
224
- - xml/apache_modules.xml
225
- - xml/apache_os.xml
226
- - xml/architecture.xml
227
- - xml/dhcp_vendor_class.xml
228
- - xml/dns_versionbind.xml
229
- - xml/favicons.xml
230
- - xml/fingerprints.xsd
231
- - xml/ftp_banners.xml
232
- - xml/h323_callresp.xml
233
- - xml/hp_pjl_id.xml
234
- - xml/html_title.xml
235
- - xml/http_cookies.xml
236
- - xml/http_servers.xml
237
- - xml/http_wwwauth.xml
238
- - xml/imap_banners.xml
239
- - xml/ldap_searchresult.xml
240
- - xml/mdns_device-info_txt.xml
241
- - xml/mdns_workstation_txt.xml
242
- - xml/mysql_banners.xml
243
- - xml/mysql_error.xml
244
- - xml/nntp_banners.xml
245
- - xml/ntp_banners.xml
246
- - xml/operating_system.xml
247
- - xml/pop_banners.xml
248
- - xml/rsh_resp.xml
249
- - xml/rtsp_servers.xml
250
- - xml/sip_banners.xml
251
- - xml/sip_user_agents.xml
252
- - xml/smb_native_lm.xml
253
- - xml/smb_native_os.xml
254
- - xml/smtp_banners.xml
255
- - xml/smtp_debug.xml
256
- - xml/smtp_ehlo.xml
257
- - xml/smtp_expn.xml
258
- - xml/smtp_help.xml
259
- - xml/smtp_mailfrom.xml
260
- - xml/smtp_noop.xml
261
- - xml/smtp_quit.xml
262
- - xml/smtp_rcptto.xml
263
- - xml/smtp_rset.xml
264
- - xml/smtp_turn.xml
265
- - xml/smtp_vrfy.xml
266
- - xml/snmp_sysdescr.xml
267
- - xml/snmp_sysobjid.xml
268
- - xml/ssh_banners.xml
269
- - xml/telnet_banners.xml
270
- - xml/tls_jarm.xml
271
- - xml/x11_banners.xml
272
- - xml/x509_issuers.xml
273
- - xml/x509_subjects.xml
274
- homepage: https://www.github.com/rapid7/recog
200
+ homepage: https://www.github.com/rapid7/recog-ruby
275
201
  licenses: []
276
202
  metadata: {}
277
203
  post_install_message:
@@ -289,25 +215,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
215
  - !ruby/object:Gem::Version
290
216
  version: '0'
291
217
  requirements: []
292
- rubygems_version: 3.0.3
218
+ rubygems_version: 3.1.6
293
219
  signing_key:
294
220
  specification_version: 4
295
221
  summary: Network service fingerprint database, classes, and utilities
296
222
  test_files:
297
- - features/data/failing_banners_fingerprints.xml
298
- - features/data/matching_banners_fingerprints.xml
299
- - features/data/multiple_banners_fingerprints.xml
300
- - features/data/no_tests.xml
301
- - features/data/sample_banner.txt
302
- - features/data/schema_failure.xml
303
- - features/data/successful_tests.xml
304
- - features/data/tests_with_failures.xml
305
- - features/data/tests_with_warnings.xml
306
- - features/match.feature
307
- - features/support/aruba.rb
308
- - features/support/env.rb
309
- - features/support/hooks.rb
310
- - features/verify.feature
311
223
  - spec/data/best_os_match_1.yml
312
224
  - spec/data/best_os_match_2.yml
313
225
  - spec/data/best_service_match_1.yml
@@ -319,7 +231,6 @@ test_files:
319
231
  - spec/data/test_fingerprints.xml
320
232
  - spec/data/verification_fingerprints.xml
321
233
  - spec/data/whitespaced_fingerprint.xml
322
- - spec/lib/fingerprint_self_test_spec.rb
323
234
  - spec/lib/recog/db_spec.rb
324
235
  - spec/lib/recog/fingerprint/regexp_factory_spec.rb
325
236
  - spec/lib/recog/fingerprint_spec.rb
@@ -1,37 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
-
5
- ---
6
-
7
- **Describe the bug**
8
- A clear and concise description of what the bug is.
9
-
10
- **To Reproduce**
11
- Steps to reproduce the behavior:
12
-
13
- 1. Do this...
14
- 2. Do that...
15
- 3. Then something happens...
16
-
17
- Code that reproduces the behavior: <!-- This is optional -->
18
- ```ruby
19
- # paste code here, or create a gist, or link to public code snippet
20
- ```
21
-
22
- Matcher that reproduces the behavior: <!-- This is optional -->
23
- ```xml
24
- <!-- paste matcher xml here, or create a gist, or link to public code snippet -->
25
- ```
26
-
27
- **Expected behavior**
28
- A clear and concise description of what you expected to happen.
29
-
30
-
31
- **Environment (please complete the following information):**
32
- - Operating System:
33
- - Ruby Version:
34
- - Recog Version:
35
-
36
- **Additional context**
37
- Add any other context about the problem here.
@@ -1,17 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
-
5
- ---
6
-
7
- **Is your feature request related to a problem? Please describe.**
8
- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
-
10
- **Describe the solution you'd like**
11
- A clear and concise description of what you want to happen.
12
-
13
- **Describe alternatives you've considered**
14
- A clear and concise description of any alternative solutions or features you've considered.
15
-
16
- **Additional context**
17
- Add any other context or screenshots about the feature request here.
@@ -1,27 +0,0 @@
1
- ---
2
- name: Fingerprint request
3
- about: Request new fingerprint coverage
4
-
5
- ---
6
-
7
- **Request for new fingerprint(s) for a product**
8
- Briefly describe the product to be fingerprinted, including vendor and version information.
9
- <!-- Include links to relevant public documentation from the vendor or other sources, if available -->
10
-
11
- **Provide details about the product**
12
- What protocol(s) can be used to retrieve identifiable information about the product?
13
- <!-- Examples: Telnet, SSH, SNMP, SMTP, HTTP(S), Vendor Proprietary Protocol -->
14
-
15
- What information can be collected on each protocol?
16
- <!-- Example: HTTP Server banner: nginx/0.8.53 -->
17
-
18
- What request, command, and/or payload can be used to retrieve information on each protocol?
19
- <!-- Use code fences like the below example to preserve formatting -->
20
- ```
21
- HTTP HEAD /
22
-
23
- HTTP GET /info.php
24
- ```
25
-
26
- **Example banner(s) with specific version info**
27
- <!-- Paste raw text here, using code fences to preserve formatting if needed-->
@@ -1,24 +0,0 @@
1
- ## Description
2
- A detailed description of your changes.
3
-
4
-
5
- ## Motivation and Context
6
- Explanation of why these changes are being proposed, including any links to other relevant issues or pull requests.
7
-
8
-
9
- ## How Has This Been Tested?
10
- A clear and concise description of your changes were tested.
11
-
12
-
13
- ## Types of changes
14
- <!--- What types of changes does your code introduce? Remove any that do not apply: -->
15
- - Bug fix (non-breaking change which fixes an issue)
16
- - New feature (non-breaking change which adds functionality)
17
- - Breaking change (fix or feature that would cause existing functionality to change)
18
-
19
-
20
- ## Checklist:
21
- <!--- After submitting the PR, check all of the boxes that apply. -->
22
- - [ ] I have updated the documentation accordingly (or changes are not required).
23
- - [ ] I have added tests to cover my changes (or new tests are not required).
24
- - [ ] All new and existing tests passed.
data/.github/SECURITY.md DELETED
@@ -1,35 +0,0 @@
1
- # Reporting security issues
2
-
3
- Thanks for your interest in making Recog more secure! If you feel
4
- that you have found a security issue involving Metasploit, Meterpreter,
5
- Recog, or any other Rapid7 open source project, you are welcome to let
6
- us know in the way that's most comfortable for you.
7
-
8
- ## Via ZenDesk
9
-
10
- You can click on the big blue button at [Rapid7's Vulnerability
11
- Disclosure][r7-vulns] page, which will get you to our general
12
- vulnerability reporting system. While this does require a (free) ZenDesk
13
- account to use, you'll get regular updates on your issue as our software
14
- support teams work through it. As it happens [that page][r7-vulns] also
15
- will tell you what to expect when it comes to reporting vulns, how fast
16
- we'll fix and respond, and all the rest, so it's a pretty good read
17
- regardless.
18
-
19
- ## Via email
20
-
21
- If you're more of a traditionalist, you can email your finding to
22
- security@rapid7.com. If you like, you can use our [PGP key][pgp] to
23
- encrypt your messages, but we certainly don't mind cleartext reports
24
- over email.
25
-
26
- ## NOT via GitHub Issues
27
-
28
- Please don't! Disclosing security vulnerabilities to public bug trackers
29
- is kind of mean, even when it's well-intentioned, since you end up
30
- dropping 0-day on pretty much everyone right out of the gate. We'd prefer
31
- you didn't!
32
-
33
- [r7-vulns]:https://www.rapid7.com/security/disclosure/
34
- [pgp]:https://keybase.io/rapid7/pgp_keys.asc?fingerprint=9a90aea0576cbcafa39c502ba5e16807959d3eda
35
-
@@ -1,8 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: bundler
4
- directory: "/"
5
- schedule:
6
- interval: daily
7
- time: "11:00"
8
- open-pull-requests-limit: 10