Skip to content
This repository has been archived by the owner on Oct 20, 2023. It is now read-only.

Brute Ratel Parser Alpha & Custom Parser Foundation #143

Merged
merged 30 commits into from Jul 31, 2023

Conversation

GoldingAustin
Copy link
Collaborator

@GoldingAustin GoldingAustin commented Jun 1, 2023

Overview

This PR covers two major areas:

  1. A Brute Ratel parser (Alpha Version)
  2. A straightforward system for using any combination of parsers compatible with RedEye, including custom created parsers

The Brute Ratel parser uses the autosave.profile and logs folder created by Brute Ratel to generate a campaign. The nomanclature Brute Ratel uses has been integrated into the Server (listener), Host (host), and Beacon (badger) naming scheme.

The new parser system will be detailed further in an upcoming PR, which will map the full API and provide a guide to creating a custom parser that integrates with RedEye.

In short, to create a RedEye parser you must: Create a binary that supports at least a parse-campaign and info sub-command that supports outputs and inputs to and from the RedEye server. Then a user puts it in their parsers folder and enables it in their config. Everything else is handled by the RedEye server.

Changes

  • Added the alpha version of the Brute Ratel parser
  • Moved the parsers to a root parsers folder
  • Added a parsers field to the config
  • Updated the upload form to dynamically support the new ParserInfo type
  • Updated meta models with new fields

@GoldingAustin GoldingAustin added this to the RedEye 2023 milestone Jun 1, 2023
@GoldingAustin GoldingAustin self-assigned this Jun 1, 2023
@GoldingAustin GoldingAustin marked this pull request as ready for review June 13, 2023 00:41
Add validate and info commands for both brute ratel and cobaltstrike parsers
Add new parsers env variable
Update campaign log upload form and endpoints
Rename cs-parser to cobalt-strike-parser
Create core parser packages
Add migration scripts and run on gt dataset
Fix client graphql shape for parserInfo
Add description of parsing message properties and types
@sharplessHQ sharplessHQ self-requested a review July 12, 2023 20:22
Update JSON schemas with improved documentation
Update parsers with slight changes to types
…l-parser

# Conflicts:
#	applications/client/src/store/graphql/BeaconMetaModel.base.ts
#	applications/client/src/store/graphql/HostMetaModel.base.ts
#	applications/landing-page/dist-landing/index.html
#	applications/server/schema.graphql
#	packages/migrations/src/campaign-migrations/.snapshot-campaign.redeye.json
#	packages/migrations/src/db-configs.ts
Update communication type enums to match case of values
Fix enum values in parser output
Fix beacon name loading check and display
@GoldingAustin GoldingAustin merged commit 6fca4d0 into develop Jul 31, 2023
4 of 7 checks passed
@GoldingAustin GoldingAustin deleted the feature/brute-ratel-parser branch July 31, 2023 23:32
sharplessHQ pushed a commit to sharplessHQ/RedEye that referenced this pull request Sep 20, 2023
Co-authored-by: Austin Golding <austin.golding@pnnl.gov>
Co-authored-by: Courtney Carpenter <ccarpenter28@gmail.com>
Co-authored-by: Sebastian Ang <dajian.ang@pnnl.gov>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants