Skip to content

Updates from RumbleDiscovery/recog fork#382

Merged
mkienow-r7 merged 148 commits intorapid7:masterfrom
runZeroInc:main
Nov 15, 2021
Merged

Updates from RumbleDiscovery/recog fork#382
mkienow-r7 merged 148 commits intorapid7:masterfrom
runZeroInc:main

Conversation

@pbarry25
Copy link
Copy Markdown
Contributor

@pbarry25 pbarry25 commented Oct 29, 2021

Description

Updates from the RumbleDiscovery/recog fork. Mostly fingerprints, with addition of the ability to use filesystem-based examples for long examples.

Motivation and Context

Looking to merge RumbleDiscovery/recog fork updates back to R7's repo, for community benefit.

How Has This Been Tested?

  • recog_match, recog_verify, rake spec as we went
  • rake tests prior to PR creation here

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist:

  • I have updated the documentation accordingly (or changes are not required).
  • I have added tests to cover my changes (or new tests are not required).
  • All new and existing tests passed.

hdm and others added 30 commits September 13, 2020 09:16
Added html title fingerprint for ManageEngine Desktop Central 9
- "^.*" → ""
- ".*$" → ""
- "^(?: … )$" → "^…$"
Comment thread xml/html_title.xml
Comment thread xml/html_title.xml Outdated
Comment thread xml/html_title.xml
Comment thread xml/html_title.xml Outdated
@tsellers-r7
Copy link
Copy Markdown
Contributor

@pbarry25 - Thanks for doing that. You may also want to run the CPE update script.

https://github.com/rapid7/recog/blob/master/CONTRIBUTING.md#updating-cpes

That will allow you to see which CPEs are stripped out of the current fingerprints and determine you want to make adjustments so that they are generated.

Sometimes they can't be generated if either the vendor or product don't exist in the NIST database.

if you aren't attached to them or you think there are many CPE changes unrelated to your PR we can run the cleanup after this is landed.

CC @mkienow-r7

Comment thread xml/html_title.xml Outdated
@tsellers-r7
Copy link
Copy Markdown
Contributor

@pbarry25 - I think I'm done with the first review pass. Thanks tons for putting this up. Big PRs are always.. fun but we will get it sorted out.

@mkienow-r7
Copy link
Copy Markdown
Contributor

I found an issue in recog_verify with the external example support and opened runZeroInc#5 to resolve it.

hdm and others added 5 commits November 8, 2021 07:22
…xample-support

Fix recog verify external example support
Updated vendor values (Grandstream, Ubiquiti).

Update regex (Cisco, ALLWORX).

Updated OS (Mongoose OS).
Updated hw.vendor values (Juniper).

Updated hw.product values (DX800A).

Updated regexes (CyberPower).

Updated OS vendors, products (MikroTik, Gigaset).

Updated OS product (MikroTik).

Regenrated identifier files.

Added missing param comments (fingerprint.rb).

Minor typo fix (update_cpes.py).
@pbarry25
Copy link
Copy Markdown
Contributor Author

pbarry25 commented Nov 10, 2021

Thanks again for the thorough review and patience, @tsellers-r7 and @mkienow-r7! 🙇 I'm new to the NIST/CPE logic/process here and I don't want to mess that up for the related feedback, I'll try to get that done and make a final push to this PR today.

EDIT 11/11/2021: was able to run update_cpes.py locally yesterday (also surfaced a 'duplicate' value error I had missed, nice!), am reconciling the change-set from that with our fork and the remaining one or two feedbacks.

Updated service.vendor values (Aircookie).

Updated hw.vendor values (ProSoft Technology).

Updated hw.family values (LX Series).

Updated hw.serial_number values (Lantronix, Avaya, Digi).

Updated os.product values (LORIX OS, Unify firmware).

Updated regexs (Avaya, Roomba, Netgear).

Regenerated identifier files.

Resolved removed/added cpe fields.

See upstream PR rapid7#382
@pbarry25
Copy link
Copy Markdown
Contributor Author

pbarry25 commented Nov 12, 2021

Hey @tsellers-r7 and @mkienow-r7, I pushed what I believe is all the things addressed outside of the discussed follow-on PR (couple of items) and a cpe remap for phoenixcontact. I believe we'll need to make a code update to our side before fully dropping the <vendor>.serial_number completely, but I added hw.serial_number alongside the vendor one (when I noticed it) for now. This all passed rake spec and rake tests and the recog_verify gauntlet for me, whew! Happy to hear any additional feedback y'all have. Thank you!

@mkienow-r7
Copy link
Copy Markdown
Contributor

mkienow-r7 commented Nov 12, 2021

The Java Verify failure is unrelated to your changes. I merged a recog-java enhancement today that adds base64 example support. I have some small fingerprint updates that need to be merged.

Comment thread xml/snmp_sysdescr.xml
<param pos="0" name="os.product" value="Fabric OS"/>
<param pos="0" name="os.device" value="Switch"/>
<param pos="0" name="os.cpe23" value="cpe:/o:broadcom:fabric_operating_system:-"/>
<param pos="0" name="os.cpe23" value="cpe:/o:brocade:fabric_operating_system:-"/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note. This change is interesting though correct. Broadcom purchased Brocade in 2016. We have a CPE remap because the CPEs were under Broadcom and not Brocade. It appears that this changed in Sept 2021.

https://nvd.nist.gov/products/cpe/detail/1041182?namingFormat=2.3&orderBy=CPEURI&keyword=Brocade&status=FINAL

Comment thread xml/http_wwwauth.xml
<example>Digest realm="Use 'live' as User Name",nonce="18e62d241a5358a9650640fa72c1773c",opaque="",stale=FALSE,algorithm=MD5</example>
<example>Digest realm="Use 'live' as User Name in order to log in to the respective level",nonce="2e6007092c2b28af7e2516b80b5b4f95",opaque="",stale=FALSE,algorithm=MD5,qop="auth"</example>
<param pos="0" name="hw.vendor" value="Bosch"/>
<param pos="0" name="hw.device" value="Web cam"/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here and in identifiers/hw_device.txt - All *.device entries should be in "Title Case" or "Start Case" in that the first letter of each word should be capitalized. Sorry about missing that on the first pass. This can be fixed in a follow up fix-up PR if needed.

Copy link
Copy Markdown
Contributor

@tsellers-r7 tsellers-r7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to go ahead approve landing this PR. There are still a few things that need to be tightened up but I'm ok with creating a followup fix-up PR to handle that. They are all captured in this PR's comments.

@pbarry25
Copy link
Copy Markdown
Contributor Author

TYVM, @tsellers-r7!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants