recog 3.1.1 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/Gemfile +6 -0
- data/Rakefile +7 -5
- data/lib/recog/db.rb +67 -68
- data/lib/recog/db_manager.rb +22 -21
- data/lib/recog/fingerprint/regexp_factory.rb +10 -13
- data/lib/recog/fingerprint/test.rb +9 -8
- data/lib/recog/fingerprint.rb +252 -262
- data/lib/recog/fingerprint_parse_error.rb +3 -1
- data/lib/recog/formatter.rb +41 -39
- data/lib/recog/match_reporter.rb +82 -83
- data/lib/recog/matcher.rb +37 -40
- data/lib/recog/matcher_factory.rb +7 -6
- data/lib/recog/nizer.rb +218 -224
- data/lib/recog/verifier.rb +30 -28
- data/lib/recog/verify_reporter.rb +69 -73
- data/lib/recog/version.rb +3 -1
- data/lib/recog.rb +2 -0
- data/recog/bin/recog_match +21 -20
- data/recog/xml/apache_modules.xml +2 -0
- data/recog/xml/dhcp_vendor_class.xml +1 -1
- data/recog/xml/favicons.xml +133 -1
- data/recog/xml/ftp_banners.xml +1 -1
- data/recog/xml/html_title.xml +140 -1
- data/recog/xml/http_cookies.xml +20 -2
- data/recog/xml/http_servers.xml +38 -17
- data/recog/xml/http_wwwauth.xml +17 -4
- data/recog/xml/mdns_device-info_txt.xml +49 -15
- data/recog/xml/sip_banners.xml +0 -2
- data/recog/xml/sip_user_agents.xml +1 -1
- data/recog/xml/snmp_sysdescr.xml +1 -2
- data/recog/xml/ssh_banners.xml +8 -0
- data/recog/xml/telnet_banners.xml +3 -2
- data/recog/xml/tls_jarm.xml +1 -1
- data/recog/xml/x11_banners.xml +1 -0
- data/recog/xml/x509_issuers.xml +1 -1
- data/recog/xml/x509_subjects.xml +0 -1
- data/recog.gemspec +14 -13
- data/spec/lib/recog/db_spec.rb +37 -36
- data/spec/lib/recog/fingerprint/regexp_factory_spec.rb +19 -20
- data/spec/lib/recog/fingerprint_spec.rb +44 -42
- data/spec/lib/recog/formatter_spec.rb +20 -18
- data/spec/lib/recog/match_reporter_spec.rb +35 -30
- data/spec/lib/recog/nizer_spec.rb +85 -101
- data/spec/lib/recog/verify_reporter_spec.rb +45 -44
- data/spec/spec_helper.rb +2 -1
- data.tar.gz.sig +1 -3
- metadata +3 -3
- metadata.gz.sig +0 -0
@@ -381,6 +381,7 @@
|
|
381
381
|
<param pos="0" name="hw.family" value="MacBook Pro"/>
|
382
382
|
<param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2017, Four Thunderbolt 3 ports)"/>
|
383
383
|
<param pos="0" name="hw.device" value="Laptop"/>
|
384
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
|
384
385
|
</fingerprint>
|
385
386
|
|
386
387
|
<fingerprint pattern="^model=MacBookPro14,1$">
|
@@ -394,6 +395,7 @@
|
|
394
395
|
<param pos="0" name="hw.family" value="MacBook Pro"/>
|
395
396
|
<param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)"/>
|
396
397
|
<param pos="0" name="hw.device" value="Laptop"/>
|
398
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
|
397
399
|
</fingerprint>
|
398
400
|
|
399
401
|
<fingerprint pattern="^model=MacBookPro13,3$">
|
@@ -433,6 +435,7 @@
|
|
433
435
|
<param pos="0" name="hw.family" value="MacBook Pro"/>
|
434
436
|
<param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)"/>
|
435
437
|
<param pos="0" name="hw.device" value="Laptop"/>
|
438
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
|
436
439
|
</fingerprint>
|
437
440
|
|
438
441
|
<fingerprint pattern="^model=MacBookPro12,1$">
|
@@ -1357,6 +1360,7 @@
|
|
1357
1360
|
<param pos="0" name="hw.family" value="iMac"/>
|
1358
1361
|
<param pos="0" name="hw.product" value="iMac (Retina 4K, 21.5-inch, 2017)"/>
|
1359
1362
|
<param pos="0" name="hw.device" value="Desktop"/>
|
1363
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:imac:-"/>
|
1360
1364
|
</fingerprint>
|
1361
1365
|
|
1362
1366
|
<fingerprint pattern="^model=iMac18,1$">
|
@@ -1396,6 +1400,7 @@
|
|
1396
1400
|
<param pos="0" name="hw.family" value="iMac"/>
|
1397
1401
|
<param pos="0" name="hw.product" value="iMac (Retina 4K, 21.5-inch, Late 2015)"/>
|
1398
1402
|
<param pos="0" name="hw.device" value="Desktop"/>
|
1403
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:imac:-"/>
|
1399
1404
|
</fingerprint>
|
1400
1405
|
|
1401
1406
|
<fingerprint pattern="^model=iMac16,1$">
|
@@ -2096,6 +2101,7 @@
|
|
2096
2101
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2097
2102
|
<param pos="0" name="hw.product" value="iPhone 13 Pro Max"/>
|
2098
2103
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2104
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_13_pro_max:-"/>
|
2099
2105
|
</fingerprint>
|
2100
2106
|
|
2101
2107
|
<fingerprint pattern="^model=(?:D63AP|iPhone14,2)$">
|
@@ -2110,6 +2116,7 @@
|
|
2110
2116
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2111
2117
|
<param pos="0" name="hw.product" value="iPhone 13 Pro"/>
|
2112
2118
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2119
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_13_pro:-"/>
|
2113
2120
|
</fingerprint>
|
2114
2121
|
|
2115
2122
|
<fingerprint pattern="^model=(?:D16AP|iPhone14,4)$">
|
@@ -2124,6 +2131,7 @@
|
|
2124
2131
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2125
2132
|
<param pos="0" name="hw.product" value="iPhone 13 mini"/>
|
2126
2133
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2134
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_13_mini:-"/>
|
2127
2135
|
</fingerprint>
|
2128
2136
|
|
2129
2137
|
<fingerprint pattern="^model=(?:D17AP|iPhone14,5)$">
|
@@ -2138,10 +2146,11 @@
|
|
2138
2146
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2139
2147
|
<param pos="0" name="hw.product" value="iPhone 13"/>
|
2140
2148
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2149
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_13:-"/>
|
2141
2150
|
</fingerprint>
|
2142
2151
|
|
2143
2152
|
<fingerprint pattern="^model=(?:D79AP|iPhone12,8)$">
|
2144
|
-
<description>iPhone SE (
|
2153
|
+
<description>iPhone SE (2nd generation)</description>
|
2145
2154
|
<example>model=D79AP</example>
|
2146
2155
|
<example>model=iPhone12,8</example>
|
2147
2156
|
<param pos="0" name="os.vendor" value="Apple"/>
|
@@ -2150,12 +2159,13 @@
|
|
2150
2159
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2151
2160
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2152
2161
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2153
|
-
<param pos="0" name="hw.product" value="iPhone SE (
|
2162
|
+
<param pos="0" name="hw.product" value="iPhone SE (2nd generation)"/>
|
2154
2163
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2164
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_se_%282nd_generation%29:-"/>
|
2155
2165
|
</fingerprint>
|
2156
2166
|
|
2157
2167
|
<fingerprint pattern="^model=(?:D54pAP|iPhone13,4)$">
|
2158
|
-
<description>iPhone 12 Pro Max
|
2168
|
+
<description>iPhone 12 Pro Max</description>
|
2159
2169
|
<example>model=D54pAP</example>
|
2160
2170
|
<example>model=iPhone13,4</example>
|
2161
2171
|
<param pos="0" name="os.vendor" value="Apple"/>
|
@@ -2164,12 +2174,13 @@
|
|
2164
2174
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2165
2175
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2166
2176
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2167
|
-
<param pos="0" name="hw.product" value="iPhone 12 Pro Max
|
2177
|
+
<param pos="0" name="hw.product" value="iPhone 12 Pro Max"/>
|
2168
2178
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2179
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_12_pro_max:-"/>
|
2169
2180
|
</fingerprint>
|
2170
2181
|
|
2171
2182
|
<fingerprint pattern="^model=(?:D53pAP|iPhone13,3)$">
|
2172
|
-
<description>iPhone 12 Pro
|
2183
|
+
<description>iPhone 12 Pro</description>
|
2173
2184
|
<example>model=D53pAP</example>
|
2174
2185
|
<example>model=iPhone13,3</example>
|
2175
2186
|
<param pos="0" name="os.vendor" value="Apple"/>
|
@@ -2178,12 +2189,13 @@
|
|
2178
2189
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2179
2190
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2180
2191
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2181
|
-
<param pos="0" name="hw.product" value="iPhone 12 Pro
|
2192
|
+
<param pos="0" name="hw.product" value="iPhone 12 Pro"/>
|
2182
2193
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2194
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_12_pro:-"/>
|
2183
2195
|
</fingerprint>
|
2184
2196
|
|
2185
2197
|
<fingerprint pattern="^model=(?:D53gAP|iPhone13,2)$">
|
2186
|
-
<description>iPhone 12
|
2198
|
+
<description>iPhone 12</description>
|
2187
2199
|
<example>model=D53gAP</example>
|
2188
2200
|
<example>model=iPhone13,2</example>
|
2189
2201
|
<param pos="0" name="os.vendor" value="Apple"/>
|
@@ -2192,12 +2204,13 @@
|
|
2192
2204
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2193
2205
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2194
2206
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2195
|
-
<param pos="0" name="hw.product" value="iPhone 12
|
2207
|
+
<param pos="0" name="hw.product" value="iPhone 12"/>
|
2196
2208
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2209
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_12:-"/>
|
2197
2210
|
</fingerprint>
|
2198
2211
|
|
2199
2212
|
<fingerprint pattern="^model=(?:D52g?AP|Phone13,1)$">
|
2200
|
-
<description>iPhone 12 Mini
|
2213
|
+
<description>iPhone 12 Mini</description>
|
2201
2214
|
<example>model=D52gAP</example>
|
2202
2215
|
<example>model=D52AP</example>
|
2203
2216
|
<example>model=Phone13,1</example>
|
@@ -2207,8 +2220,9 @@
|
|
2207
2220
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2208
2221
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2209
2222
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2210
|
-
<param pos="0" name="hw.product" value="iPhone 12 Mini
|
2223
|
+
<param pos="0" name="hw.product" value="iPhone 12 Mini"/>
|
2211
2224
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2225
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_12_mini:-"/>
|
2212
2226
|
</fingerprint>
|
2213
2227
|
|
2214
2228
|
<fingerprint pattern="^model=(?:D431p?AP|iPhone12,5)$">
|
@@ -2224,6 +2238,7 @@
|
|
2224
2238
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2225
2239
|
<param pos="0" name="hw.product" value="iPhone 11 Pro Max"/>
|
2226
2240
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2241
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_11_pro_max:-"/>
|
2227
2242
|
</fingerprint>
|
2228
2243
|
|
2229
2244
|
<fingerprint pattern="^model=(?:D421p?AP|iPhone12,3)$">
|
@@ -2239,6 +2254,7 @@
|
|
2239
2254
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2240
2255
|
<param pos="0" name="hw.product" value="iPhone 11 Pro"/>
|
2241
2256
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2257
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_11_pro:-"/>
|
2242
2258
|
</fingerprint>
|
2243
2259
|
|
2244
2260
|
<fingerprint pattern="^model=(?:N104AP|iPhone12,1)$">
|
@@ -2253,6 +2269,7 @@
|
|
2253
2269
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2254
2270
|
<param pos="0" name="hw.product" value="iPhone 11"/>
|
2255
2271
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2272
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_11:-"/>
|
2256
2273
|
</fingerprint>
|
2257
2274
|
|
2258
2275
|
<fingerprint pattern="^model=(?:D331p?AP|iPhone11,[46])$">
|
@@ -2269,6 +2286,7 @@
|
|
2269
2286
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2270
2287
|
<param pos="0" name="hw.product" value="iPhone XS Max"/>
|
2271
2288
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2289
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_xs_max:-"/>
|
2272
2290
|
</fingerprint>
|
2273
2291
|
|
2274
2292
|
<fingerprint pattern="^model=(?:D321AP|iPhone11,2)$">
|
@@ -2283,6 +2301,7 @@
|
|
2283
2301
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2284
2302
|
<param pos="0" name="hw.product" value="iPhone XS"/>
|
2285
2303
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2304
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_xs:-"/>
|
2286
2305
|
</fingerprint>
|
2287
2306
|
|
2288
2307
|
<fingerprint pattern="^model=(?:N841AP|iPhone11,8)$">
|
@@ -2297,6 +2316,7 @@
|
|
2297
2316
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2298
2317
|
<param pos="0" name="hw.product" value="iPhone XR"/>
|
2299
2318
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2319
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_xr:-"/>
|
2300
2320
|
</fingerprint>
|
2301
2321
|
|
2302
2322
|
<fingerprint pattern="^model=(?:D221?AP|iPhone10,[36])$">
|
@@ -2313,6 +2333,7 @@
|
|
2313
2333
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2314
2334
|
<param pos="0" name="hw.product" value="iPhone X"/>
|
2315
2335
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2336
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_x:-"/>
|
2316
2337
|
</fingerprint>
|
2317
2338
|
|
2318
2339
|
<fingerprint pattern="^model=(?:D211?A?AP|iPhone10,[25])$">
|
@@ -2331,6 +2352,7 @@
|
|
2331
2352
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2332
2353
|
<param pos="0" name="hw.product" value="iPhone 8 Plus"/>
|
2333
2354
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2355
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_8_plus:-"/>
|
2334
2356
|
</fingerprint>
|
2335
2357
|
|
2336
2358
|
<fingerprint pattern="^model=(?:D201?A?AP|iPhone10,[14])$">
|
@@ -2349,6 +2371,7 @@
|
|
2349
2371
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2350
2372
|
<param pos="0" name="hw.product" value="iPhone 8"/>
|
2351
2373
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2374
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_8:-"/>
|
2352
2375
|
</fingerprint>
|
2353
2376
|
|
2354
2377
|
<fingerprint pattern="^model=(?:D111?AP|iPhone9,[24])$">
|
@@ -2365,6 +2388,7 @@
|
|
2365
2388
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2366
2389
|
<param pos="0" name="hw.product" value="iPhone 7 Plus"/>
|
2367
2390
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2391
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_7_plus:-"/>
|
2368
2392
|
</fingerprint>
|
2369
2393
|
|
2370
2394
|
<fingerprint pattern="^model=(?:D101?AP$|iPhone9,3)">
|
@@ -2380,10 +2404,11 @@
|
|
2380
2404
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2381
2405
|
<param pos="0" name="hw.product" value="iPhone 7"/>
|
2382
2406
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2407
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_7:-"/>
|
2383
2408
|
</fingerprint>
|
2384
2409
|
|
2385
2410
|
<fingerprint pattern="^model=N69u?AP$">
|
2386
|
-
<description>iPhone SE</description>
|
2411
|
+
<description>iPhone SE (1st generation)</description>
|
2387
2412
|
<example>model=N69AP</example>
|
2388
2413
|
<example>model=N69uAP</example>
|
2389
2414
|
<param pos="0" name="os.vendor" value="Apple"/>
|
@@ -2392,8 +2417,9 @@
|
|
2392
2417
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2393
2418
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2394
2419
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2395
|
-
<param pos="0" name="hw.product" value="iPhone SE"/>
|
2420
|
+
<param pos="0" name="hw.product" value="iPhone SE (1st generation)"/>
|
2396
2421
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2422
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_se_%281st_generation%29:-"/>
|
2397
2423
|
</fingerprint>
|
2398
2424
|
|
2399
2425
|
<fingerprint pattern="^model=N66m?AP$">
|
@@ -2408,6 +2434,7 @@
|
|
2408
2434
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2409
2435
|
<param pos="0" name="hw.product" value="iPhone 6s Plus"/>
|
2410
2436
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2437
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_6s_plus:-"/>
|
2411
2438
|
</fingerprint>
|
2412
2439
|
|
2413
2440
|
<fingerprint pattern="^model=N71m?AP$">
|
@@ -2422,6 +2449,7 @@
|
|
2422
2449
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2423
2450
|
<param pos="0" name="hw.product" value="iPhone 6s"/>
|
2424
2451
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2452
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_6s:-"/>
|
2425
2453
|
</fingerprint>
|
2426
2454
|
|
2427
2455
|
<fingerprint pattern="^model=N56AP$">
|
@@ -2435,6 +2463,7 @@
|
|
2435
2463
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2436
2464
|
<param pos="0" name="hw.product" value="iPhone 6 Plus"/>
|
2437
2465
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2466
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_6_plus:-"/>
|
2438
2467
|
</fingerprint>
|
2439
2468
|
|
2440
2469
|
<fingerprint pattern="^model=N61AP$">
|
@@ -2448,6 +2477,7 @@
|
|
2448
2477
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2449
2478
|
<param pos="0" name="hw.product" value="iPhone 6"/>
|
2450
2479
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2480
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_6:-"/>
|
2451
2481
|
</fingerprint>
|
2452
2482
|
|
2453
2483
|
<fingerprint pattern="^model=N5[13]AP$">
|
@@ -2462,6 +2492,7 @@
|
|
2462
2492
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2463
2493
|
<param pos="0" name="hw.product" value="iPhone 5s"/>
|
2464
2494
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2495
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_5s:-"/>
|
2465
2496
|
</fingerprint>
|
2466
2497
|
|
2467
2498
|
<fingerprint pattern="^model=N4[89]AP$">
|
@@ -2476,6 +2507,7 @@
|
|
2476
2507
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2477
2508
|
<param pos="0" name="hw.product" value="iPhone 5c"/>
|
2478
2509
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2510
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_5c:-"/>
|
2479
2511
|
</fingerprint>
|
2480
2512
|
|
2481
2513
|
<fingerprint pattern="^model=N4[12]AP$">
|
@@ -2520,6 +2552,7 @@
|
|
2520
2552
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2521
2553
|
<param pos="0" name="hw.product" value="iPhone 4"/>
|
2522
2554
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2555
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_4:-"/>
|
2523
2556
|
</fingerprint>
|
2524
2557
|
|
2525
2558
|
<fingerprint pattern="^model=N88AP$">
|
@@ -2547,10 +2580,11 @@
|
|
2547
2580
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2548
2581
|
<param pos="0" name="hw.product" value="iPhone 3G"/>
|
2549
2582
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2583
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_3g:-"/>
|
2550
2584
|
</fingerprint>
|
2551
2585
|
|
2552
2586
|
<fingerprint pattern="^model=M68AP$">
|
2553
|
-
<description>iPhone</description>
|
2587
|
+
<description>iPhone (1st generation)</description>
|
2554
2588
|
<example>model=M68AP</example>
|
2555
2589
|
<param pos="0" name="os.vendor" value="Apple"/>
|
2556
2590
|
<param pos="0" name="os.family" value="iOS"/>
|
@@ -2558,9 +2592,9 @@
|
|
2558
2592
|
<param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
|
2559
2593
|
<param pos="0" name="hw.vendor" value="Apple"/>
|
2560
2594
|
<param pos="0" name="hw.family" value="iPhone"/>
|
2561
|
-
<param pos="0" name="hw.product" value="iPhone"/>
|
2595
|
+
<param pos="0" name="hw.product" value="iPhone (1st generation)"/>
|
2562
2596
|
<param pos="0" name="hw.device" value="Mobile Phone"/>
|
2563
|
-
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:
|
2597
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_%281st_generation%29:-"/>
|
2564
2598
|
</fingerprint>
|
2565
2599
|
|
2566
2600
|
<!-- iPod -->
|
data/recog/xml/sip_banners.xml
CHANGED
@@ -12,7 +12,6 @@
|
|
12
12
|
<param pos="0" name="service.vendor" value="Cisco"/>
|
13
13
|
<param pos="0" name="service.family" value="IOS"/>
|
14
14
|
<param pos="0" name="service.product" value="IOS"/>
|
15
|
-
<param pos="0" name="service.cpe23" value="cpe:/a:cisco:ios:-"/>
|
16
15
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
17
16
|
<param pos="0" name="os.family" value="IOS"/>
|
18
17
|
<param pos="0" name="os.product" value="IOS"/>
|
@@ -34,7 +33,6 @@
|
|
34
33
|
<param pos="0" name="service.vendor" value="Cisco"/>
|
35
34
|
<param pos="0" name="service.family" value="IOS"/>
|
36
35
|
<param pos="0" name="service.product" value="IOS"/>
|
37
|
-
<param pos="0" name="service.cpe23" value="cpe:/a:cisco:ios:-"/>
|
38
36
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
39
37
|
<param pos="0" name="os.family" value="IOS"/>
|
40
38
|
<param pos="0" name="os.product" value="IOS"/>
|
@@ -165,7 +165,7 @@
|
|
165
165
|
<example>FRITZ!OS</example>
|
166
166
|
<param pos="0" name="os.vendor" value="AVM"/>
|
167
167
|
<param pos="0" name="os.product" value="FRITZ!OS"/>
|
168
|
-
<param pos="0" name="os.cpe23" value="cpe:/o:avm:fritz
|
168
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:avm:fritz%21os:-"/>
|
169
169
|
<param pos="0" name="hw.vendor" value="AVM"/>
|
170
170
|
</fingerprint>
|
171
171
|
|
data/recog/xml/snmp_sysdescr.xml
CHANGED
@@ -1610,7 +1610,6 @@
|
|
1610
1610
|
<param pos="0" name="os.product" value="Adaptive Security Appliance"/>
|
1611
1611
|
<param pos="0" name="os.device" value="Firewall"/>
|
1612
1612
|
<param pos="1" name="os.version"/>
|
1613
|
-
<param pos="0" name="os.cpe23" value="cpe:/o:cisco:adaptive_security_appliance_software:{os.version}"/>
|
1614
1613
|
<param pos="0" name="hw.vendor" value="Cisco"/>
|
1615
1614
|
<param pos="0" name="hw.family" value="Adaptive Security Appliance"/>
|
1616
1615
|
<param pos="0" name="hw.product" value="Adaptive Security Appliance"/>
|
@@ -3466,7 +3465,7 @@ Copyright (c) 1995-2005 by Cisco Systems
|
|
3466
3465
|
<param pos="0" name="os.vendor" value="IBM"/>
|
3467
3466
|
<param pos="0" name="os.family" value="z/OS"/>
|
3468
3467
|
<param pos="0" name="os.product" value="z/OS"/>
|
3469
|
-
<param pos="0" name="os.cpe23" value="cpe:/o:ibm:z
|
3468
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:ibm:z%2fos:-"/>
|
3470
3469
|
</fingerprint>
|
3471
3470
|
|
3472
3471
|
<fingerprint pattern="^BladeCenter Management Module$">
|
data/recog/xml/ssh_banners.xml
CHANGED
@@ -1876,6 +1876,14 @@
|
|
1876
1876
|
<param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
|
1877
1877
|
</fingerprint>
|
1878
1878
|
|
1879
|
+
<fingerprint pattern="^MOVEit Transfer SFTP$">
|
1880
|
+
<description>Progress MOVEit Transfer (formerly MOVEit DMZ, MOVEit File Transfer)</description>
|
1881
|
+
<example>MOVEit Transfer SFTP</example>
|
1882
|
+
<param pos="0" name="service.vendor" value="Progress"/>
|
1883
|
+
<param pos="0" name="service.product" value="MOVEit Transfer"/>
|
1884
|
+
<param pos="0" name="service.cpe23" value="cpe:/a:progress:moveit_transfer:-"/>
|
1885
|
+
</fingerprint>
|
1886
|
+
|
1879
1887
|
<fingerprint pattern="^paramiko_([\d\.]+)">
|
1880
1888
|
<description>Paramiko</description>
|
1881
1889
|
<example service.version="2.1.3">paramiko_2.1.3 501 command not implemented ERROR</example>
|
@@ -1068,8 +1068,8 @@
|
|
1068
1068
|
<param pos="0" name="os.vendor" value="Moxa"/>
|
1069
1069
|
<param pos="0" name="os.family" value="EDR"/>
|
1070
1070
|
<param pos="0" name="os.device" value="Router"/>
|
1071
|
-
<param pos="0" name="os.product" value="EDR
|
1072
|
-
<param pos="0" name="os.cpe23" value="cpe:/o:moxa:
|
1071
|
+
<param pos="0" name="os.product" value="EDR-G903 Firmware"/>
|
1072
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:moxa:edr-g903_firmware:-"/>
|
1073
1073
|
</fingerprint>
|
1074
1074
|
|
1075
1075
|
<fingerprint pattern="^EDR-G902 login:">
|
@@ -1097,6 +1097,7 @@
|
|
1097
1097
|
<param pos="0" name="os.family" value="Linux"/>
|
1098
1098
|
<param pos="0" name="os.product" value="Linux"/>
|
1099
1099
|
<param pos="1" name="os.version"/>
|
1100
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:redhat:linux:{os.version}"/>
|
1100
1101
|
</fingerprint>
|
1101
1102
|
|
1102
1103
|
<fingerprint pattern="(?m)^Red Hat Enterprise Linux ES release (.*) \(.*\).*Kernel (.*) on a[^ ]* ([^ ]*\d)" flags="REG_MULTILINE">
|
data/recog/xml/tls_jarm.xml
CHANGED
@@ -92,7 +92,7 @@
|
|
92
92
|
<example>06d06d07d06d06d06c06d06d06d06d7991b0b1ad2cbf06082e3b1a9dcaaa8d</example>
|
93
93
|
<param pos="0" name="hw.vendor" value="D-Link"/>
|
94
94
|
<param pos="0" name="hw.product" value="DCS-825L"/>
|
95
|
-
<param pos="0" name="hw.cpe23" value="cpe:/h:
|
95
|
+
<param pos="0" name="hw.cpe23" value="cpe:/h:dlink:dcs-825l:-"/>
|
96
96
|
</fingerprint>
|
97
97
|
|
98
98
|
<fingerprint pattern="^0ed3dd16d25d00000042d43d000000e9435856b7ee99e87c06831602602f2d$">
|
data/recog/xml/x11_banners.xml
CHANGED
@@ -183,6 +183,7 @@
|
|
183
183
|
<param pos="0" name="service.product" value="SCO X server"/>
|
184
184
|
<param pos="0" name="os.product" value="SCO UNIX"/>
|
185
185
|
<param pos="0" name="os.family" value="SCO UNIX"/>
|
186
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:sco:sco_unix:-"/>
|
186
187
|
</fingerprint>
|
187
188
|
|
188
189
|
<fingerprint pattern="^StarNet Communications Corp\.$">
|
data/recog/xml/x509_issuers.xml
CHANGED
@@ -216,7 +216,6 @@
|
|
216
216
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
217
217
|
<param pos="0" name="os.family" value="Adaptive Security Appliance"/>
|
218
218
|
<param pos="0" name="os.product" value="Adaptive Security Appliance"/>
|
219
|
-
<param pos="0" name="os.cpe23" value="cpe:/o:cisco:adaptive_security_appliance_software:-"/>
|
220
219
|
<param pos="0" name="hw.vendor" value="Cisco"/>
|
221
220
|
<param pos="0" name="hw.family" value="Adaptive Security Appliance"/>
|
222
221
|
<param pos="0" name="hw.product" value="Adaptive Security Appliance"/>
|
@@ -383,6 +382,7 @@
|
|
383
382
|
<param pos="0" name="os.family" value="Linux"/>
|
384
383
|
<param pos="0" name="os.product" value="FreshTomato"/>
|
385
384
|
<param pos="0" name="os.device" value="Router"/>
|
385
|
+
<param pos="0" name="os.cpe23" value="cpe:/o:freshtomato:freshtomato:-"/>
|
386
386
|
</fingerprint>
|
387
387
|
|
388
388
|
<fingerprint pattern="(?i)^SERIALNUMBER=(\d+),CN=(\S+),OU=ST-VS,O=Bosch Sicherheitssysteme GmbH,L=Grasbrunn,C=DE">
|
data/recog/xml/x509_subjects.xml
CHANGED
@@ -398,7 +398,6 @@
|
|
398
398
|
<param pos="0" name="os.vendor" value="Cisco"/>
|
399
399
|
<param pos="0" name="os.family" value="Adaptive Security Appliance"/>
|
400
400
|
<param pos="0" name="os.product" value="Adaptive Security Appliance"/>
|
401
|
-
<param pos="0" name="os.cpe23" value="cpe:/o:cisco:adaptive_security_appliance_software:-"/>
|
402
401
|
<param pos="0" name="hw.vendor" value="Cisco"/>
|
403
402
|
<param pos="0" name="hw.family" value="Adaptive Security Appliance"/>
|
404
403
|
<param pos="0" name="hw.product" value="Adaptive Security Appliance"/>
|
data/recog.gemspec
CHANGED
@@ -1,33 +1,34 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
3
4
|
require 'recog/version'
|
4
5
|
|
5
6
|
Gem::Specification.new do |s|
|
6
7
|
s.name = 'recog'
|
7
8
|
s.version = Recog::VERSION
|
8
|
-
s.required_ruby_version = '>= 2.
|
9
|
-
s.authors
|
10
|
-
|
9
|
+
s.required_ruby_version = '>= 2.5'
|
10
|
+
s.authors = [
|
11
|
+
'Rapid7 Research'
|
11
12
|
]
|
12
|
-
s.email
|
13
|
-
|
13
|
+
s.email = [
|
14
|
+
'research@rapid7.com'
|
14
15
|
]
|
15
|
-
s.homepage =
|
16
|
-
s.summary =
|
17
|
-
s.description =
|
16
|
+
s.homepage = 'https://www.github.com/rapid7/recog-ruby'
|
17
|
+
s.summary = 'Network service fingerprint database, classes, and utilities'
|
18
|
+
s.description = '
|
18
19
|
Recog is a framework for identifying products, services, operating systems, and hardware by matching
|
19
20
|
fingerprints against data returned from various network probes. Recog makes it simply to extract useful
|
20
21
|
information from web server banners, snmp system description fields, and a whole lot more.
|
21
|
-
|
22
|
+
'.gsub(/\s+/, ' ').strip
|
22
23
|
|
23
24
|
s.bindir = 'recog/bin'
|
24
|
-
s.files = %w
|
25
|
+
s.files = %w[Gemfile Rakefile COPYING LICENSE README.md recog.gemspec .yardopts] +
|
25
26
|
Dir.glob('lib/**/*.rb') +
|
26
27
|
Dir.glob('spec/**/*') +
|
27
28
|
Dir.glob('recog/xml/*') +
|
28
29
|
Dir.glob('recog/bin/recog_match')
|
29
30
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
30
|
-
s.executables = s.files.grep(%r{^recog/bin/}).map{ |f| File.basename(f) }
|
31
|
+
s.executables = s.files.grep(%r{^recog/bin/}).map { |f| File.basename(f) }
|
31
32
|
s.require_paths = ['lib']
|
32
33
|
|
33
34
|
# ---- Dependencies ----
|