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
data/bin/recog_export DELETED
@@ -1,81 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
4
- require 'optparse'
5
- require 'ostruct'
6
- require 'recog'
7
-
8
- def squash_lines(str)
9
- str.split(/\n/).join(' ').gsub(/\s+/, ' ')
10
- end
11
-
12
- def export_text(options)
13
- end
14
-
15
- def export_ruby(options)
16
- $stdout.puts "# Recog fingerprint database export [ #{File.basename(options.xml_file)} ] on #{Time.now.to_s}"
17
- $stdout.puts "fp_str = '' # Set this value to the match string"
18
- $stdout.puts "fp_match = {} # Match results are stored here"
19
- $stdout.puts ""
20
- $stdout.puts "case fp_str"
21
- options.db.fingerprints.each do |fp|
22
- puts " # #{squash_lines fp.name}"
23
- puts " when /#{fp.regex.to_s}/"
24
- fp.tests.each do |test|
25
- puts " # Example: #{squash_lines test}"
26
- end
27
- fp.params.each_pair do |k,v|
28
- if v[0] == 0
29
- puts " fp_match[#{k.inspect}] = #{v[1].inspect}"
30
- else
31
- puts " fp_match[#{k.inspect}] = $#{v[0].to_s}"
32
- end
33
- end
34
- puts ""
35
- end
36
- $stdout.puts "end"
37
- end
38
-
39
-
40
- options = OpenStruct.new(etype: :ruby)
41
-
42
- option_parser = OptionParser.new do |opts|
43
- opts.banner = "Usage: #{$0} [options] XML_FINGERPRINTS_FILE"
44
- opts.separator "Exports an XML fingerprint database to another format."
45
- opts.separator ""
46
- opts.separator "Options"
47
-
48
- opts.on("-t", "--type type",
49
- "Choose a type of export.",
50
- " [r]uby (default - export a ruby case statement with regular expressions)",
51
- " [t]ext (export a text description of the fingerprints)") do |etype|
52
- case etype.downcase
53
- when /^r/
54
- options.etype = :ruby
55
- when /^t/
56
- options.etype = :text
57
- end
58
- end
59
-
60
- opts.on("-h", "--help", "Show this message.") do
61
- puts opts
62
- exit
63
- end
64
- end
65
- option_parser.parse!(ARGV)
66
-
67
- if ARGV.count != 1
68
- puts option_parser
69
- exit
70
- end
71
-
72
- options.xml_file = ARGV.shift
73
- options.db = Recog::DB.new(options.xml_file)
74
-
75
- case options.etype
76
- when :ruby
77
- export_ruby(options)
78
- when :text
79
- export_text(options)
80
- end
81
-
@@ -1,163 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
4
- require 'optparse'
5
- require 'ostruct'
6
- require 'recog'
7
-
8
- def load_identifiers(path)
9
- res = {}
10
- File.readlines(path).map{|line| line.strip}.each do |ident|
11
- res[ident] = true
12
- end
13
- return res
14
- end
15
-
16
- def write_identifiers(vals, path)
17
- res = []
18
- vals.each_pair do |k,v|
19
- res = res.push(k)
20
- end
21
- res = res.map{|x| x.strip}.select{|x| x.length > 0}.sort.uniq
22
- File.write(path, res.join("\n") + "\n")
23
- end
24
-
25
- bdir = File.expand_path(File.join(File.dirname(__FILE__), "..", "identifiers"))
26
-
27
- options = OpenStruct.new(write: false)
28
- option_parser = OptionParser.new do |opts|
29
- opts.banner = "Usage: #{$0} [options] XML_FINGERPRINT_FILE1 ..."
30
- opts.separator "Verifies that each fingerprint asserts known identifiers."
31
- opts.separator ""
32
- opts.separator "Options"
33
-
34
- opts.on("-w", "--write") do
35
- options.write = true
36
- end
37
-
38
- opts.on("-h", "--help", "Show this message.") do
39
- puts opts
40
- exit
41
- end
42
- end
43
- option_parser.parse!(ARGV)
44
-
45
- if ARGV.empty?
46
- $stderr.puts 'Missing XML fingerprint files'
47
- puts option_parser
48
- exit(1)
49
- end
50
-
51
- # Load the unique identifiers
52
- vendors = load_identifiers(File.join(bdir, "vendor.txt"))
53
- fields = load_identifiers(File.join(bdir, "fields.txt"))
54
- os_arch = load_identifiers(File.join(bdir, "os_architecture.txt"))
55
- os_prod = load_identifiers(File.join(bdir, "os_product.txt"))
56
- os_family = load_identifiers(File.join(bdir, "os_family.txt"))
57
- os_device = load_identifiers(File.join(bdir, "os_device.txt"))
58
- hw_prod = load_identifiers(File.join(bdir, "hw_product.txt"))
59
- hw_family = load_identifiers(File.join(bdir, "hw_family.txt"))
60
- hw_device = load_identifiers(File.join(bdir, "hw_device.txt"))
61
- svc_prod = load_identifiers(File.join(bdir, "service_product.txt"))
62
- svc_family = load_identifiers(File.join(bdir, "service_family.txt"))
63
-
64
- missing_count = 0
65
-
66
- ARGV.each do |arg|
67
- Dir.glob(arg).each do |file|
68
- ndb = Recog::DB.new(file)
69
- ndb.fingerprints.each do |f|
70
- f.params.each do |k,v|
71
- paramIndex, val = v
72
- if ! fields[k]
73
- puts "FIELD MISSING: #{k}"
74
- missing_count += 1
75
- fields[k] = true
76
- end
77
- next if paramIndex != 0
78
- next if val.index("{") != nil
79
- next if val.strip == ""
80
- case k
81
- when "os.vendor", "service.vendor", "service.component.vendor", "hw.vendor"
82
- if ! vendors[val]
83
- puts "VENDOR MISSING: #{val}"
84
- missing_count += 1
85
- vendors[val] = true
86
- end
87
- when "os.arch"
88
- if ! os_arch[val]
89
- puts "OS ARCH MISSING: #{val}"
90
- missing_count += 1
91
- os_arch[val] = true
92
- end
93
- when "os.product"
94
- if ! os_prod[val]
95
- puts "OS PRODUCT MISSING: #{val}"
96
- missing_count += 1
97
- os_prod[val] = true
98
- end
99
- when "os.family"
100
- if ! os_family[val]
101
- puts "OS FAMILY MISSING: #{val}"
102
- missing_count += 1
103
- os_family[val] = true
104
- end
105
- when "os.device"
106
- if ! os_device[val]
107
- puts "OS DEVICE MISSING: #{val}"
108
- missing_count += 1
109
- os_device[val] = true
110
- end
111
- when "hw.product"
112
- if ! hw_prod[val]
113
- puts "HW PRODUCT MISSING: #{val}"
114
- missing_count += 1
115
- hw_prod[val] = true
116
- end
117
- when "hw.family"
118
- if ! hw_family[val]
119
- puts "HW FAMILY MISSING: #{val}"
120
- missing_count += 1
121
- hw_family[val] = true
122
- end
123
- when "hw.device"
124
- if ! hw_device[val]
125
- puts "HW DEVICE MISSING: #{val}"
126
- missing_count += 1
127
- hw_device[val] = true
128
- end
129
- when "service.product", "service.component.product"
130
- if ! svc_prod[val]
131
- puts "SERVICE PRODUCT MISSING: #{val}"
132
- missing_count += 1
133
- svc_prod[val] = true
134
- end
135
- when "service.family"
136
- if ! svc_family[val]
137
- puts "SERVICE FAMILY MISSING: #{val}"
138
- missing_count += 1
139
- svc_family[val] = true
140
- end
141
- end
142
- end
143
- end
144
- end
145
- end
146
-
147
- if options.write
148
- # Write back the unique identifiers
149
- write_identifiers(vendors, File.join(bdir, "vendor.txt"))
150
- write_identifiers(fields, File.join(bdir, "fields.txt"))
151
- write_identifiers(os_arch, File.join(bdir, "os_architecture.txt"))
152
- write_identifiers(os_prod, File.join(bdir, "os_product.txt"))
153
- write_identifiers(os_family, File.join(bdir, "os_family.txt"))
154
- write_identifiers(os_device, File.join(bdir, "os_device.txt"))
155
- write_identifiers(hw_prod, File.join(bdir, "hw_product.txt"))
156
- write_identifiers(hw_family, File.join(bdir, "hw_family.txt"))
157
- write_identifiers(hw_device, File.join(bdir, "hw_device.txt"))
158
- write_identifiers(svc_prod, File.join(bdir, "service_product.txt"))
159
- write_identifiers(svc_family, File.join(bdir, "service_family.txt"))
160
- end
161
-
162
- exit_code = (missing_count > 0 ? 1 : 0)
163
- exit(exit_code)
data/bin/recog_verify DELETED
@@ -1,98 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
4
- require 'nokogiri'
5
- require 'optparse'
6
- require 'ostruct'
7
- require 'recog'
8
- require 'recog/formatter'
9
- require 'recog/verifier'
10
- require 'recog/verify_reporter'
11
-
12
- options = OpenStruct.new(color: false, detail: false, quiet: false, warnings: true, schema: nil)
13
-
14
- option_parser = OptionParser.new do |opts|
15
- opts.banner = "Usage: #{$0} [options] XML_FINGERPRINT_FILE1 ..."
16
- opts.separator "Verifies that each fingerprint passes its internal tests."
17
- opts.separator ""
18
- opts.separator "Options"
19
-
20
- opts.on("-f", "--format FORMATTER",
21
- "Choose a formatter.",
22
- " [s]ummary (default - failure/warning msgs and summary)",
23
- " [q]uiet (configured failure/warning msgs only)",
24
- " [d]etail (fingerprint name with tests and expanded summary)") do |format|
25
- if format.start_with? 'd'
26
- options.detail = true
27
- end
28
- if format.start_with? 'q'
29
- options.quiet = true
30
- end
31
- end
32
-
33
- opts.on("-c", "--color", "Enable color in the output.") do
34
- options.color = true
35
- end
36
-
37
- opts.on("--[no-]warnings", "Track warnings") do |o|
38
- options.warnings = o
39
- end
40
-
41
- opts.on("--schema-location SCHEMA_FILE", "Location of the Recog XSD file. If not specified, validation will not be run.") do |schema_file|
42
- options.schema = Nokogiri::XML::Schema(File.read(schema_file))
43
- end
44
-
45
- opts.on("-h", "--help", "Show this message.") do
46
- puts opts
47
- exit
48
- end
49
- end
50
- option_parser.parse!(ARGV)
51
-
52
- if ARGV.empty?
53
- $stderr.puts 'Missing XML fingerprint files'
54
- puts option_parser
55
- exit(1)
56
- end
57
-
58
- warnings = 0
59
- failures = 0
60
- formatter = Recog::Formatter.new(options, $stdout)
61
- ARGV.each do |arg|
62
- Dir.glob(arg).each do |file|
63
- # Create a new reporter per XML file to hold context on success/warn/fails
64
- reporter = Recog::VerifyReporter.new(options, formatter, file)
65
-
66
- begin
67
- # Validate the XML database against the recog schema first, if requested
68
- if options.schema
69
- errors = options.schema.validate(Nokogiri::XML(File.read(file)))
70
- if errors.size > 0
71
- reporter.report(0) do
72
- errors.each do |error|
73
- reporter.failure(error.message, error.line)
74
- end
75
- end
76
- # Skip validation of individual fingerprints since the XML itself
77
- # is likely malformed.
78
- next
79
- end
80
- end
81
-
82
- # Now read the XML file directly and validate the fingerprints
83
- # themselves
84
- db = Recog::DB.new(file)
85
- verifier = Recog::Verifier.new(db, reporter)
86
- verifier.verify
87
- rescue Recog::FingerprintParseError => e
88
- reporter.failure(e.message, e.line_number)
89
- rescue => e
90
- reporter.failure(e.message)
91
- ensure
92
- failures += reporter.failure_count
93
- warnings += reporter.warning_count
94
- end
95
- end
96
- end
97
-
98
- exit failures + warnings
data/cpe-remap.yaml DELETED
@@ -1,374 +0,0 @@
1
- mappings:
2
- # The following section contains CPE application or 'a' remappings. These will
3
- # ONLY be used for mapping Recog 'service' attributes.
4
- a:
5
- akamai:
6
- products:
7
- ghost: akamaighost
8
- amazon:
9
- products:
10
- s3: amazon_simple_storage_service
11
- cloudfront_load_balancer: amazon_cloudfront
12
- apache:
13
- products:
14
- httpd: http_server
15
- aprelium_technologies:
16
- vendor: aprelium
17
- alt-n:
18
- vendor: altn
19
- aruba_networks:
20
- vendor: arubanetworks
21
- atlassian:
22
- products:
23
- confluence: confluence_server
24
- bea:
25
- products:
26
- weblogic: weblogic_server
27
- blue_coat:
28
- vendor: bluecoat
29
- carnegie_mellon_university:
30
- vendor: cmu
31
- products:
32
- cyrus_imap: cyrus_imap_server
33
- centos_webpanel:
34
- vendor: centos-webpanel
35
- check_point:
36
- vendor: checkpoint
37
- cherokee_project:
38
- vendor: cherokee-project
39
- cisco:
40
- products:
41
- apic: application_policy_infrastructure_controller
42
- cloudflare:
43
- products:
44
- cloudflare_load_balancer: load_balancing
45
- cpanel:
46
- products:
47
- cpanel_service_daemon: cpanel
48
- crushftp:
49
- products:
50
- crushftp_web_interface: crushftp
51
- cz.nic:
52
- vendor: knot-dns
53
- drupal:
54
- products:
55
- cms: drupal
56
- embedthis:
57
- products:
58
- goahead_webserver: goahead
59
- envoy_proxy:
60
- vendor: envoyproxy
61
- f5:
62
- products:
63
- big-ip: big-ip_local_traffic_manager
64
- big-ip_ltm: big-ip_local_traffic_manager
65
- fedora_project:
66
- vendor: fedoraproject
67
- google:
68
- products:
69
- google_web_services: web_server
70
- ibm:
71
- products:
72
- lotus_domino: lotus_domino_server
73
- ibm_domino: lotus_domino
74
- ignite_realtime:
75
- vendor: igniterealtime
76
- intel:
77
- products:
78
- intel(r)_active_management_technology: active_management_technology
79
- intel(r)_standard_manageability: standard_manageability
80
- jamf:
81
- products:
82
- jamf_pro: jamf
83
- kibana:
84
- vendor: elasticsearch
85
- kubernetes:
86
- products:
87
- nginx_ingress_controller: ingress-nginx
88
- kodi:
89
- products:
90
- media_server: kodi
91
- kong:
92
- vendor: konghq
93
- products:
94
- gateway: kong_gateway
95
- litespeed_technologies:
96
- vendor: litespeedtech
97
- lotus:
98
- vendor: ibm
99
- lynx_technology:
100
- vendor: lynxtechnology
101
- products:
102
- twonky_media_server: twonky_server
103
- mailenable:
104
- products:
105
- mail_server: mailenable
106
- manageengine:
107
- vendor: zohocorp
108
- products:
109
- adaudit_plus: manageengine_adaudit_plus
110
- desktop_central: manageengine_desktop_central
111
- opmanager: manageengine_opmanager
112
- microsoft:
113
- products:
114
- active_directory_controller: active_directory
115
- exchange_server_5.5: exchange_server
116
- exchange_2000_server: exchange_server
117
- exchange_2003_server: exchange_server
118
- exchange_2007_server: exchange_server
119
- lightweight_directory_server: active_directory_lightweight_directory_service
120
- pws: personal_web_server
121
- mod_ssl:
122
- vendor: modssl
123
- mod_wsgi:
124
- vendor: modwsgi
125
- # NIST took the vendor name from the website but apparently missed the `.in`
126
- # in moinmo.in was part of the name
127
- moinmoin:
128
- vendor: moinmo
129
- mort_bay:
130
- vendor: mortbay
131
- munin:
132
- vendor: munin-monitoring
133
- nginx:
134
- vendor: f5
135
- nlnet_labs:
136
- vendor: nlnetlabs
137
- products:
138
- dnsd: name_server_daemon
139
- net-snmp:
140
- products:
141
- snmp_agent: net-snmp
142
- owncloud:
143
- products:
144
- owncloud_server: owncloud
145
- parallels:
146
- products:
147
- plesk: parallels_plesk_panel
148
- phoenix_contact:
149
- vendor: phoenixcontact
150
- plesk:
151
- vendor: parallels
152
- proftpd_project:
153
- vendor: proftpd
154
- progress:
155
- products:
156
- openedge_explorer: openedge
157
- pulse_secure:
158
- vendor: pulsesecure
159
- realvnc_ltd.:
160
- vendor: realvnc
161
- red_hat:
162
- vendor: redhat
163
- products:
164
- cygwin_x_server_project: cygwin
165
- jboss_as: jboss_wildfly_application_server
166
- jboss_eap: jboss_enterprise_application_platform
167
- jbossweb: jboss_web_framework_kit
168
- red_hat_directory_server: directory_server
169
- rundeck:
170
- vendor: pagerduty
171
- serv-u:
172
- vendor: solarwinds
173
- squid_cache:
174
- vendor: squid-cache
175
- ssh_communications_security:
176
- vendor: ssh
177
- products:
178
- ssh_tectia_server: tectia_server
179
- standard_networks:
180
- vendor: ipswitch
181
- swagger:
182
- vendor: smartbear
183
- synology:
184
- products:
185
- dsm: diskstation_manager
186
- tightvnc:
187
- products:
188
- desktop: tightvnc
189
- tor_project:
190
- vendor: torproject
191
- traefik_labs:
192
- vendor: traefik
193
- products:
194
- traefik_proxy: traefik
195
- twistedmatrix:
196
- products:
197
- twisted_web: twistedweb
198
- ubiquiti:
199
- vendor: ui
200
- vandyke_software:
201
- vendor: vandyke
202
- vmware:
203
- products:
204
- zimbra: zimbra_desktop
205
- vcenter: vcenter_server
206
- x.org:
207
- products:
208
- x.org_x11: x11
209
- xiongmai_technology:
210
- vendor: xiongmaitech
211
- zaphoyd_studios:
212
- vendor: zaphoyd
213
- products:
214
- websocket++: websocketpp
215
-
216
- # The following section contains CPE operating system or 'o' remappings. These will
217
- # ONLY be used for mapping Recog 'os' attributes.
218
- o:
219
- alpine:
220
- vendor: alpinelinux
221
- products:
222
- linux: alpine_linux
223
- apple:
224
- products:
225
- ios: iphone_os
226
- mac_os: macos
227
- brocade:
228
- vendor: broadcom
229
- products:
230
- fabric_os: fabric_operating_system
231
- centos:
232
- products:
233
- linux: centos
234
- check_point:
235
- vendor: checkpoint
236
- cisco:
237
- products:
238
- adaptive_security_appliance: adaptive_security_appliance_software
239
- mds_9000: mds_9000_san-os
240
- nam: network_analysis_module_software
241
- pix: pix_firewall_software
242
- telepresence: telepresence_video_communication_server_software
243
- vpn_3000_concentrator: vpn_3000_concentrator_series_software
244
- wireless_lan_controller: wireless_lan_controller_software
245
- citrix:
246
- products:
247
- netscaler: netscaler_firmware
248
- netscaler_gateway: netscaler_gateway_firmware
249
- cumulus:
250
- vendor: cumulusnetworks
251
- data_domain:
252
- vendor: dell
253
- products:
254
- dd_os: emc_data_domain_os
255
- debian:
256
- products:
257
- linux: debian_linux
258
- eltex:
259
- vendor: eltex-co
260
- fedora_project:
261
- vendor: fedoraproject
262
- hp:
263
- products:
264
- ilo: integrated_lights-out_firmware
265
- ilo_firmware: integrated_lights-out_firmware
266
- ilo_2: integrated_lights-out_2_firmware
267
- ilo_3: integrated_lights-out_3_firmware
268
- ilo_4: integrated_lights-out_4_firmware
269
- ilo_5: integrated_lights-out_5_firmware
270
- tru64_unix: tru64
271
- ibm:
272
- products:
273
- os/400: os_400
274
- i5/os: i5os
275
- juniper:
276
- products:
277
- junos_os: junos
278
- linux:
279
- products:
280
- linux: linux_kernel
281
- microsoft:
282
- products:
283
- windows_server_2003_datacenter_edition: windows_server_2003
284
- windows_server_2003_r2: windows_server_2003
285
- windows_2008_r2: windows_server_2008
286
- windows_server_2008_datacenter_edition: windows_server_2008
287
- windows_server_2008_r2: windows_server_2008
288
- windows_server_2008_r2_datacenter_edition: windows_server_2008
289
- windows_server_2012_r2: windows_server_2012
290
- nt: windows_nt
291
- windows_nt_desktop: windows_nt
292
- windows_nt_server: windows_nt
293
- windows_server_2000: windows_2000
294
- windows_2000_server: windows_2000
295
- windows_2000_datacenter_server: windows_2000
296
- oracle:
297
- products:
298
- ilom: integrated_lights_out_manager_firmware
299
- palo_alto_networks:
300
- vendor: paloaltonetworks
301
- phoenix_contact:
302
- vendor: phoenixcontact
303
- red_hat:
304
- vendor: redhat
305
- software_house:
306
- vendor: swhouse
307
- sun:
308
- products:
309
- solaris: sunos
310
- ubiquiti:
311
- vendor: ui
312
- ubuntu:
313
- vendor: canonical
314
- products:
315
- linux: ubuntu_linux
316
- vmware:
317
- products:
318
- photon_linux: photon_os
319
- vmware_esx_server: esx
320
- vmware_esxi_server: esxi
321
- wind_river:
322
- vendor: windriver
323
- xiongmai_technology:
324
- vendor: xiongmaitech
325
-
326
- # The following section contains CPE hardware or 'h' remappings. These will
327
- # ONLY be used for mapping Recog 'hw' attributes.
328
- h:
329
- apple:
330
- products:
331
- imac_(retina_4k_21.5-inch_2019): imac
332
- imac_(retina_5k_27-inch_2017): imac
333
- imac_(retina_5k_27-inch_2019): imac
334
- imac_(retina_5k_27-inch_2020): imac
335
- macbook_air_(13-inch_2017): macbook_air
336
- macbook_air_(m1_2020): macbook_air
337
- macbook_air_(retina_13-inch_2018): macbook_air
338
- macbook_air_(retina_13-inch_2019): macbook_air
339
- macbook_air_(retina_13-inch_2020): macbook_air
340
- macbook_pro_(13-inch_2018_four_thunderbolt_3_ports): macbook_pro
341
- macbook_pro_(13-inch_2019_two_thunderbolt_3_ports): macbook_pro
342
- macbook_pro_(13-inch_2020): macbook_pro
343
- macbook_pro_(13-inch_m1_2020): macbook_pro
344
- macbook_pro_(15-inch_2018): macbook_pro
345
- macbook_pro_(15-inch_2019): macbook_pro
346
- macbook_pro_(16-inch_2019): macbook_pro
347
- macbook_pro_(retina_13-inch_early_2015): macbook_pro
348
- macbook_pro_(retina_15-inch_mid_2015): macbook_pro
349
- cisco:
350
- products:
351
- nam: network_analysis_module
352
- citrix:
353
- products:
354
- netscaler_sdx_gateway: netscaler_sdx
355
- eltex:
356
- vendor: eltex-co
357
- emc:
358
- products:
359
- celerra: celerra_network_attached_storage
360
- hp:
361
- products:
362
- ilo: integrated_lights-out
363
- kace:
364
- vendor: dell
365
- products:
366
- k1000: kace_k1000_systems_management_appliance
367
- phoenix_contact:
368
- vendor: phoenixcontact
369
- software_house:
370
- vendor: swhouse
371
- tandberg:
372
- vendor: cisco
373
- ubiquiti:
374
- vendor: ui