recog 3.1.27 → 3.1.29

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b262a6c8f84beaf7a3a9fb003e3fee03da3a8ef13f3f5a312c69e8bb4753fe73
4
- data.tar.gz: 118bb5f0b94fd7c6ecc5625b05cbeedf88e32711dae592cf8e3cdf9f9a1f271c
3
+ metadata.gz: fdf4107f2b3c24b69af925f4e8021780a7c6b420af7b059f0a905e42f6c24150
4
+ data.tar.gz: 83e9888b9a5ccf0a4e29ab7673e7182a09d85c6add1dd6a7dccfab0a8884441e
5
5
  SHA512:
6
- metadata.gz: 9d137b2880cad5ed5ec9bde7e2056c88b5d0ed38aa2646a20df102302c3b3de761a750671476367f2d63b2a466464f71198373fc3a7292c4314bf6823f4ff3fd
7
- data.tar.gz: a65098416198df78d7f40aaf3d0981de87db5c6460df361cd9cd5f2cfa943288bef1e6c879a807dd8cb751b496a123a83325b1bb753f4e5aed473e79e7a4c021
6
+ metadata.gz: 50536e1cee6eeb725e0465623735a09fa09cd633a4750d5723b3de15795309a3f2d4cd43013d0867cb036672aa9e79455e8f21c6ede538b24670ec15108d8b5d
7
+ data.tar.gz: 4abe507dbca5605a8eb1ee9a91215f5b7d91f456d3c8fb50a8f3b887c76da583872bfa7483dc8c1ae070fe9f0579699eca93903df2c596c3e3c412d35fd87980
checksums.yaml.gz.sig CHANGED
Binary file
@@ -104,7 +104,7 @@ module Recog
104
104
 
105
105
  # Use the protocol specified in the XML database if there isn't one
106
106
  # provided as part of this fingerprint.
107
- result['service.protocol'] = @protocol if @protocol && !(result['service.protocol'])
107
+ result['service.protocol'] = @protocol if @protocol && !result['service.protocol']
108
108
 
109
109
  result['fingerprint_db'] = @match_key if @match_key
110
110
 
@@ -123,7 +123,7 @@ module Recog
123
123
  # standard of '-' for the version, otherwise raise and exception as
124
124
  # this code currently does not handle interpolation of undefined
125
125
  # values in other cases.
126
- raise "Invalid use of nil interpolated non-version value #{replacement} in non-cpe23 fingerprint param #{replacement_k}" unless replacement_k =~ (/\.cpe23$/) && replacement =~ (/\.version$/)
126
+ raise "Invalid use of nil interpolated non-version value #{replacement} in non-cpe23 fingerprint param #{replacement_k}" unless replacement_k =~ /\.cpe23$/ && replacement =~ /\.version$/
127
127
 
128
128
  result[replacement_k] = result[replacement_k].gsub(/\{#{replacement}\}/, '-')
129
129
 
data/lib/recog/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Recog
4
- VERSION = '3.1.27'
4
+ VERSION = '3.1.29'
5
5
  end
@@ -738,4 +738,46 @@
738
738
  <param pos="0" name="hw.device" value="Router"/>
739
739
  </fingerprint>
740
740
 
741
+ <fingerprint pattern="^(?:Polycom/[\d\.]+ )?Polycom(SoundPoint|VVX|SoundStation)\S+_(\d+)-UA/([\d\.]+)(?:_(.{12}))?$">
742
+ <description>Polycom SoundPoint, SountdStation, VVX VoIP phones</description>
743
+ <example hw.version="5.8.0.13337" hw.family="VVX" hw.product="VVX 350" hw.model="350" os.version="5.8.0.13337">PolycomVVX-VVX_350-UA/5.8.0.13337</example>
744
+ <example hw.version="4.1.4.7430" hw.family="VVX" hw.product="VVX 400" host.mac="010203040506" hw.model="400" os.version="4.1.4.7430">PolycomVVX-VVX_400-UA/4.1.4.7430_010203040506</example>
745
+ <example hw.version="5.5.0.23866" hw.family="VVX" hw.product="VVX 501" hw.model="501" os.version="5.5.0.23866">Polycom/5.5.0.23866 PolycomVVX-VVX_501-UA/5.5.0.23866</example>
746
+ <example hw.version="4.0.7.2514" hw.family="SoundPoint" hw.product="SoundPoint 670" hw.model="670" os.version="4.0.7.2514">PolycomSoundPointIP-SPIP_670-UA/4.0.7.2514</example>
747
+ <example hw.version="4.0.8.1608" hw.model="7000" hw.family="SoundStation" hw.product="SoundStation 7000" os.version="4.0.8.1608">PolycomSoundStationIP-SSIP_7000-UA/4.0.8.1608</example>
748
+ <param pos="0" name="hw.vendor" value="Polycom"/>
749
+ <param pos="0" name="hw.device" value="VoIP"/>
750
+ <param pos="1" name="hw.family"/>
751
+ <param pos="0" name="hw.product" value="{hw.family} {hw.model}"/>
752
+ <param pos="2" name="hw.model"/>
753
+ <param pos="3" name="hw.version"/>
754
+ <param pos="3" name="os.version"/>
755
+ <param pos="4" name="host.mac"/>
756
+ <param pos="0" name="os.vendor" value="Polycom"/>
757
+ <param pos="0" name="os.device" value="VoIP"/>
758
+ <param pos="0" name="os.product" value="{hw.family} {hw.model}"/>
759
+ <param pos="3" name="os.version"/>
760
+
761
+ </fingerprint>
762
+
763
+ <fingerprint pattern="^(?:Polycom/[\d\.]+ )?Polycom(?:RealPresenceTrio)-Trio_(\S+)-UA/([\d\.]+)(?:_(.{12}))?$">
764
+ <description>Polycom RealPresence Trio Phones</description>
765
+ <example hw.version="5.4.0.12197" hw.product="RealPresence Trio 8800" hw.model="8800" os.version="5.4.0.12197">PolycomRealPresenceTrio-Trio_8800-UA/5.4.0.12197</example>
766
+ <example hw.version="5.7.2.3123" hw.product="RealPresence Trio Visual+" hw.model="Visual+" os.version="5.7.2.3123">PolycomRealPresenceTrio-Trio_Visual+-UA/5.7.2.3123</example>
767
+ <example hw.version="5.4.3.2389" hw.product="RealPresence Trio 8800" hw.model="8800" os.version="5.4.3.2389">Polycom/5.4.3.2389 PolycomRealPresenceTrio-Trio_8800-UA/5.4.3.2389</example>
768
+ <example hw.version="5.4.3.2389" hw.product="RealPresence Trio 8800" hw.model="8800" host.mac="DEADBEEF0000" os.version="5.4.3.2389">Polycom/5.4.3.2389 PolycomRealPresenceTrio-Trio_8800-UA/5.4.3.2389_DEADBEEF0000</example>
769
+ <param pos="0" name="hw.vendor" value="Polycom"/>
770
+ <param pos="0" name="hw.device" value="VoIP"/>
771
+ <param pos="0" name="hw.family" value="RealPresence"/>
772
+ <param pos="0" name="hw.product" value="RealPresence Trio {hw.model}"/>
773
+ <param pos="1" name="hw.model"/>
774
+ <param pos="2" name="hw.version"/>
775
+ <param pos="2" name="os.version"/>
776
+ <param pos="3" name="host.mac"/>
777
+ <param pos="0" name="os.vendor" value="Polycom"/>
778
+ <param pos="0" name="os.device" value="VoIP"/>
779
+ <param pos="0" name="os.product" value="RealPresence Trio {hw.model}"/>
780
+ <param pos="2" name="os.version"/>
781
+ </fingerprint>
782
+
741
783
  </fingerprints>
@@ -269,33 +269,44 @@
269
269
 
270
270
  <fingerprint pattern="^(?:Polycom/[\d\.]+ )?Polycom(SoundPoint|VVX|SoundStation)\S+_(\d+)-UA/([\d\.]+)(?:_(.{12}))?$">
271
271
  <description>Polycom SoundPoint, SountdStation, VVX VoIP phones</description>
272
- <example hw.version="5.8.0.13337" hw.family="VVX" hw.product="VVX 350" hw.model="350">PolycomVVX-VVX_350-UA/5.8.0.13337</example>
273
- <example hw.version="4.1.4.7430" hw.family="VVX" hw.product="VVX 400" host.mac="010203040506" hw.model="400">PolycomVVX-VVX_400-UA/4.1.4.7430_010203040506</example>
274
- <example hw.version="5.5.0.23866" hw.family="VVX" hw.product="VVX 501" hw.model="501">Polycom/5.5.0.23866 PolycomVVX-VVX_501-UA/5.5.0.23866</example>
275
- <example hw.version="4.0.7.2514" hw.family="SoundPoint" hw.product="SoundPoint 670" hw.model="670">PolycomSoundPointIP-SPIP_670-UA/4.0.7.2514</example>
276
- <example hw.version="4.0.8.1608" hw.model="7000" hw.family="SoundStation" hw.product="SoundStation 7000">PolycomSoundStationIP-SSIP_7000-UA/4.0.8.1608</example>
272
+ <example hw.version="5.8.0.13337" hw.family="VVX" hw.product="VVX 350" hw.model="350" os.version="5.8.0.13337">PolycomVVX-VVX_350-UA/5.8.0.13337</example>
273
+ <example hw.version="4.1.4.7430" hw.family="VVX" hw.product="VVX 400" host.mac="010203040506" hw.model="400" os.version="4.1.4.7430">PolycomVVX-VVX_400-UA/4.1.4.7430_010203040506</example>
274
+ <example hw.version="5.5.0.23866" hw.family="VVX" hw.product="VVX 501" hw.model="501" os.version="5.5.0.23866">Polycom/5.5.0.23866 PolycomVVX-VVX_501-UA/5.5.0.23866</example>
275
+ <example hw.version="4.0.7.2514" hw.family="SoundPoint" hw.product="SoundPoint 670" hw.model="670" os.version="4.0.7.2514">PolycomSoundPointIP-SPIP_670-UA/4.0.7.2514</example>
276
+ <example hw.version="4.0.8.1608" hw.model="7000" hw.family="SoundStation" hw.product="SoundStation 7000" os.version="4.0.8.1608">PolycomSoundStationIP-SSIP_7000-UA/4.0.8.1608</example>
277
277
  <param pos="0" name="hw.vendor" value="Polycom"/>
278
278
  <param pos="0" name="hw.device" value="VoIP"/>
279
279
  <param pos="1" name="hw.family"/>
280
280
  <param pos="0" name="hw.product" value="{hw.family} {hw.model}"/>
281
281
  <param pos="2" name="hw.model"/>
282
282
  <param pos="3" name="hw.version"/>
283
+ <param pos="3" name="os.version"/>
283
284
  <param pos="4" name="host.mac"/>
285
+ <param pos="0" name="os.vendor" value="Polycom"/>
286
+ <param pos="0" name="os.device" value="VoIP"/>
287
+ <param pos="0" name="os.product" value="{hw.family} {hw.model}"/>
288
+ <param pos="3" name="os.version"/>
289
+
284
290
  </fingerprint>
285
291
 
286
292
  <fingerprint pattern="^(?:Polycom/[\d\.]+ )?Polycom(?:RealPresenceTrio)-Trio_(\S+)-UA/([\d\.]+)(?:_(.{12}))?$">
287
293
  <description>Polycom RealPresence Trio Phones</description>
288
- <example hw.version="5.4.0.12197" hw.product="RealPresence Trio 8800" hw.model="8800">PolycomRealPresenceTrio-Trio_8800-UA/5.4.0.12197</example>
289
- <example hw.version="5.7.2.3123" hw.product="RealPresence Trio Visual+" hw.model="Visual+">PolycomRealPresenceTrio-Trio_Visual+-UA/5.7.2.3123</example>
290
- <example hw.version="5.4.3.2389" hw.product="RealPresence Trio 8800" hw.model="8800">Polycom/5.4.3.2389 PolycomRealPresenceTrio-Trio_8800-UA/5.4.3.2389</example>
291
- <example hw.version="5.4.3.2389" hw.product="RealPresence Trio 8800" hw.model="8800" host.mac="DEADBEEF0000">Polycom/5.4.3.2389 PolycomRealPresenceTrio-Trio_8800-UA/5.4.3.2389_DEADBEEF0000</example>
294
+ <example hw.version="5.4.0.12197" hw.product="RealPresence Trio 8800" hw.model="8800" os.version="5.4.0.12197">PolycomRealPresenceTrio-Trio_8800-UA/5.4.0.12197</example>
295
+ <example hw.version="5.7.2.3123" hw.product="RealPresence Trio Visual+" hw.model="Visual+" os.version="5.7.2.3123">PolycomRealPresenceTrio-Trio_Visual+-UA/5.7.2.3123</example>
296
+ <example hw.version="5.4.3.2389" hw.product="RealPresence Trio 8800" hw.model="8800" os.version="5.4.3.2389">Polycom/5.4.3.2389 PolycomRealPresenceTrio-Trio_8800-UA/5.4.3.2389</example>
297
+ <example hw.version="5.4.3.2389" hw.product="RealPresence Trio 8800" hw.model="8800" host.mac="DEADBEEF0000" os.version="5.4.3.2389">Polycom/5.4.3.2389 PolycomRealPresenceTrio-Trio_8800-UA/5.4.3.2389_DEADBEEF0000</example>
292
298
  <param pos="0" name="hw.vendor" value="Polycom"/>
293
299
  <param pos="0" name="hw.device" value="VoIP"/>
294
300
  <param pos="0" name="hw.family" value="RealPresence"/>
295
301
  <param pos="0" name="hw.product" value="RealPresence Trio {hw.model}"/>
296
302
  <param pos="1" name="hw.model"/>
297
303
  <param pos="2" name="hw.version"/>
304
+ <param pos="2" name="os.version"/>
298
305
  <param pos="3" name="host.mac"/>
306
+ <param pos="0" name="os.vendor" value="Polycom"/>
307
+ <param pos="0" name="os.device" value="VoIP"/>
308
+ <param pos="0" name="os.product" value="RealPresence Trio {hw.model}"/>
309
+ <param pos="2" name="os.version"/>
299
310
  </fingerprint>
300
311
 
301
312
  <fingerprint pattern="^Polycom ?HDX ?(\d+)(?: ?HD)?(?:/| \(Release - )([^\)]+)\)?">
@@ -6503,6 +6503,19 @@ Copyright (c) 1995-2005 by Cisco Systems
6503
6503
  <!--======================================================================
6504
6504
  SonicWall
6505
6505
  =======================================================================-->
6506
+ <fingerprint pattern="^SonicWALL (\S+)\s+(\d+)\s*\(SonicOS[X]?\s+(\d[^\)]+)\)\s*$">
6507
+ <description>SonicWall Gen7 - SonicOS without Enhanced keyword</description>
6508
+ <example hw.product="TZ" hw.model="670" os.version="7.1.3-7015-R6965">SonicWALL TZ 670 (SonicOS 7.1.3-7015-R6965)</example>
6509
+ <example hw.product="NSv" hw.model="270" os.version="7.1.3-7015-R6965">SonicWALL NSv 270 (SonicOSX 7.1.3-7015-R6965)</example>
6510
+ <param pos="0" name="os.vendor" value="SonicWall"/>
6511
+ <param pos="0" name="os.device" value="Firewall"/>
6512
+ <param pos="0" name="os.product" value="SonicOS"/>
6513
+ <param pos="0" name="hw.vendor" value="SonicWall"/>
6514
+ <param pos="1" name="hw.product"/>
6515
+ <param pos="2" name="hw.model"/>
6516
+ <param pos="3" name="os.version"/>
6517
+ <param pos="0" name="os.cpe23" value="cpe:/o:sonicwall:sonicos:{os.version}"/>
6518
+ </fingerprint>
6506
6519
 
6507
6520
  <fingerprint pattern="^SonicWALL (\S+)\s*(\d+).*?\(SonicOS \S+ (\d[^\)]+)\)\s*$">
6508
6521
  <description>SonicWall - SonicOS Enhanced variant</description>
@@ -17,7 +17,7 @@ describe Recog::MatchReporter do
17
17
 
18
18
  describe '#report' do
19
19
  it 'prints matches' do
20
- expect(formatter).to receive(:success_message).with('MATCH: {"data"=>"a match"}')
20
+ expect(formatter).to receive(:success_message).with(a_string_matching(/\AMATCH: \{\s*"data"\s*=>\s*"a match"\s*\}\z/))
21
21
  run_report
22
22
  end
23
23
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recog
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.27
4
+ version: 3.1.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rapid7 Research
@@ -35,7 +35,7 @@ cert_chain:
35
35
  XXBvE6wC6iokirNlDvZlbO9G18iiVLdwQrWvhAiMXpuLobG6mXRnm2nRjGAbeluj
36
36
  F5KvN7/Jo4xic61stZ/n41BgEGMdZhzI20QStLGk6rsnKhmlXs1TKFr9NQRr4Hz/
37
37
  -----END CERTIFICATE-----
38
- date: 2026-05-21 00:00:00.000000000 Z
38
+ date: 2026-06-02 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rspec
metadata.gz.sig CHANGED
Binary file