Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing CENTS reporting module #605

Merged
merged 29 commits into from
Oct 18, 2021

Conversation

zoomequipd
Copy link
Contributor

Support for automated Suricata rules based on extracted configurations with the initial implementation supporting Remcos, SquirrelWaffle, and TrickBot.

This feature will be presented in depth during SURICON

Jack Mott, Brandon Murphy, and Konstantin Klinger

Malware is increasingly using encryption and TLS for command-and-control network traffic. This increased adoption has resulted in difficulty when creating typical network intrusion detection signatures. However, it is often possible to extract the configuration of a malware sample including DGA seeds, C2 domains/ports, crypto keys, version number, etc. These details can be used to determine what post-exploitation or post-infection network communication can be expected from the malware in later stages of malware execution.

This presentation will demonstrate how to leverage existing extracted configuration parameters from Cape Sandbox to generate Suricata signatures. While this is easy on a per sample basis, any solution should be scalable and enable automatic signature creation for the most common malware families. Our proposed solution, CENTS – Configuration Extraction to Network Traffic Signatures, will demonstrate one method of achieving automated coverage for the most common malware families which use encryption and TLS.

Feel free to squash as needed.

klingerko and others added 29 commits September 13, 2021 15:19
* add reporting module modules/reporting/cents.py
  -> checks if we have an extracted malware config
  -> checks if we have a parser for the config
  -> creates Suricata rules
  -> writes ruleset to cents.rules
* add reporting module to config conf/reporting.conf
* make cents.rules ruleset available for download in UI
* add md5 of sample to rule (we can add a lot more info form the run)
* make start sid a config item
* move rule creation functions for each family in its own file and import it
* add basic cobalt strike bacon rule function
only display cents download button if we have rules
add date of the analysis run of the sample to rules
add link to analysis to rule reference
� Conflicts:
�	lib/cuckoo/common/cents/cents_azorult.py
�	lib/cuckoo/common/cents/cents_cobaltstrikebeacon.py
�	modules/reporting/cents.py
Introducing CENTS reporting module
@doomedraven doomedraven merged commit 29073d4 into kevoreilly:master Oct 18, 2021
@doomedraven
Copy link
Collaborator

nice stuff thank you a lot

@kevoreilly
Copy link
Owner

Awesome

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.

4 participants