recog 2.3.23 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
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