
RedEye è uno strumento di analisi visiva che supporta le operazioni dei Red Team e dei Blue Team.
Questo repository GitHub non è più in fase di sviluppo attivo. Esamineremo gli issue della community e le pull request per correggere bug, ma non prenderemo in considerazione nuove funzionalità.
RedEye è uno strumento analitico open-source sviluppato da CISA e dal Pacific Northwest National Laboratory del DOE per assistere i Red Team nella visualizzazione e nel reporting delle attività di comando e controllo. Questo strumento consente a un operatore di valutare e visualizzare dati complessi, valutare strategie di mitigazione e facilitare un processo decisionale efficace in risposta a una valutazione del Red Team. Lo strumento analizza i log, come quelli di Cobalt Strike, e presenta i dati in un formato facilmente comprensibile. Gli utenti possono quindi etichettare e aggiungere commenti alle attività visualizzate all'interno dello strumento. Gli operatori possono utilizzare la modalità presentazione di RedEye per esporre i risultati e il flusso di lavoro agli stakeholder.
RedEye può aiutare un operatore a:
./RedEye --redTeam --password <tua_password>
./RedEye # Oppure fai doppio clic sull'eseguibile "RedEye"
Problema su macOS - Quando esegui RedEye per la prima volta, potresti ricevere un errore "non verificato". Devi andare su "Preferenze di Sistema" > "Sicurezza e Privacy" > "Generale" e fare clic su "Apri comunque". Maggiori informazioni sulla pagina di supporto Apple.
RedEye dispone di due modalità che coprono due fasi del processo di Red Teaming. La modalità Red Team consente di importare dati C2, modificare i dati importati e creare commenti e presentazioni. Dopo aver curato e annotato i dati della campagna, i Red Team possono esportare la propria campagna in un file .redeye autonomo e consegnarlo a un Blue Team per il reporting e la remediation. La modalità Blue Team esegue RedEye in una modalità semplificata di sola lettura per visualizzare i dati curati esportati da un Red Team.
Nota: Entrambe le modalità Red e Blue Team possono essere avviate dallo stesso binario dell'applicazione RedEye.
Il binario scaricato è composto da due parti:
RedEyeparsers contenente i binari dei parser (ad es. il parser dei log di Cobalt Strike cobalt-strike-parser)Ci sono tre opzioni per eseguire RedEye in modalità Red Team:
--redTeam e la password:
./RedEye --redTeam --password <tua_password>
docker-compose.yml.docker-compose -f docker-compose.yml up -d redeye-core
La modalità Blue Team è un'interfaccia semplificata e di sola lettura per visualizzare i dati che sono stati curati, annotati ed esportati da un Red Team. Questa modalità viene eseguita per impostazione predefinita per semplificare l'avvio per il Blue Team.
La versione Blue Team può essere eseguita facendo doppio clic sul binario dell'applicazione 'RedEye'. RedEye viene eseguito all'indirizzo http://127.0.0.1:4000 (per impostazione predefinita) e aprirà automaticamente il browser predefinito.
Se una cartella campaigns si trova nella stessa directory del binario RedEye, RedEye tenterà di importare eventuali file di campagna .redeye al suo interno. I file di campagna possono essere esportati in modalità Red Team.
Per preparare una versione per il Blue Team, segui questi due passaggi:
RedEye in una cartella vuota.campaigns nella stessa directory e inserisci i file di campagna .redeye che desideri inviare.Cartella/
RedEye
campaigns/
Campagna-01.redeye
Campagna-02.redeye
I file .redeye possono anche essere caricati in modalità Blue Team tramite la finestra di dialogo "+ Add Campaign".
In questo repository sono disponibili dataset di esempio scaricabili. Si trovano nella cartella ./applications/redeye-e2e/src/fixtures.
Potresti voler utilizzare uno strumento come download-directory.github.io per scaricare solo una cartella di un repository GitHub.
Digita ./Redeye -h per visualizzare le opzioni
-d, --developmentMode [boolean] mette il database e il server in modalità sviluppo
-r, --redTeam [boolean] esegue il server in modalità red team
--port [number] la porta su cui esporre il server
-p, --password [string] la password per l'autenticazione utente
--parsers [string...] Un elenco di parser da utilizzare o un flag per utilizzare tutti i parser nella cartella parsers
-t, --childProcesses [number] numero massimo di processi figlio che il parser può utilizzare
-h, --help mostra l'aiuto per il comando
Puoi anche configurare i parametri del server in un file config.json situato accanto al binario RedEye
{
"password": "937038570",
"redTeam": true,
"parsers": ["cobalt-strike-parser", "brute-ratel-parser"] // oppure true/false
}
npm install -g yarnyarn install // Installa tutti i pacchettiyarn release:all per creare un binario per Linux, macOS e Windowsyarn release:(mac|windows|linux) .Installa Node.js >= v16 Installa yarn globalmente tramite npm
npm install -g yarn
Installa le dipendenze del pacchetto
yarn install
Esegue il progetto in modalità sviluppo
yarn start
Si consiglia di eseguire il server e il client in due terminali separati
yarn start:client
...in un altro terminale
yarn start:server
Per creare un binario per Linux, macOS e Windows
yarn release:all
Per creare un binario per una piattaforma specifica, sostituisci all con il nome della piattaforma
yarn release:(mac|windows|linux)