
Documentazione di Incident Response resa facile. Sviluppata da Incident Responder per Incident Responder.
Documentazione per la gestione degli incidenti resa facile. Sviluppata da Incident Responder per Incident Responder. Aurora porta il "Foglio di calcolo del destino" utilizzato nel corso SANS FOR508 al livello successivo. Dopo aver gestito molti casi e insegnato a così tanti studenti come fare correttamente l'IR, mi sono reso conto che molti faticano a mantenere il controllo su tutti i reperti. Questo non solo impedisce loro di vedere cosa hanno già, ma ancor meno cosa manca.
È pensata per essere utilizzata in indagini di incident response piccole e grandi per tracciare i reperti, i compiti, facilitare la creazione di rapporti e, in generale, rimanere al passo con la situazione. La versione attuale è stata testata sul campo più volte. Continuerò a correggere bug e ad aggiungere funzionalità man mano, ma ricorda, è un progetto per il tempo libero. Quindi ogni aiuto è apprezzato.
Lateral Movement
Visual Timeline

Puoi scaricare la versione corrente di Aurora Incident Response dalla Pagina delle Release. Aurora Incident Response è disponibile per MacOS, Windows e Linux. Stiamo lavorando per renderla disponibile anche per iPad e tablet Android.
Ecco un video su come utilizzare Aurora:
Se vuoi contribuire, sei incoraggiato a farlo. Mi piacerebbe molto vedere lo strumento crescere. L'intera applicazione è costruita su base Electron ed è scritta in puro Javascript e HTML. Anche se tecnicamente avrei potuto utilizzare moduli node.js per funzionalità come Webdav, me ne sono astenuto. Il motivo è che i moduli node non funzionano direttamente quando si migra il codice verso phonegap per IOS e Android. La buona notizia è che è molto veloce configurare il tuo ambiente di sviluppo. Personalmente uso Webstorm ma dovrebbe funzionare con praticamente qualsiasi IDE.
Come indicato nella descrizione, Aurora Incident Response è costruita su Electron che garantisce compatibilità multipiattaforma. Puoi facilmente installare la tua toolchain nel modo seguente.
Inizia installando node.js. Segui i collegamenti alla loro pagina di download.
Con nodejs installato, fai il checkout del [repository Github di Aurora](git clone https://github.com/cyb3rfox/Aurora-Incident-Response) (o prima fai il fork se vuoi contribuire).
git clone https://github.com/cyb3rfox/Aurora-Incident-Response
cd Aurora-Incident-Response/src
Ora devi installare Electron usando node. Attualmente Aurora è configurata per funzionare con electron 4.0.6.
npm install [email protected]
Ora puoi eseguire il codice invocando:
node_modules/.bin/electron .
Veloce, vero?
I seguenti punti sono già nella roadmap. Per favore, apri una nuova issue o invia un messaggio su Twitter se hai suggerimenti per nuovi miglioramenti.
Puoi visionare le funzionalità pianificate per le prossime release sotto projects.
Per compilare e cross-compilare uso electron-packager.
npm install electron-packager
Build per Windows:
./node_modules/.bin/electron-packager . Aurora --asar --prune --platform=win32 --electron-version=4.0.6 --arch=x64 --icon=icon/aurora.ico --out=release-builds --ignore "node_modules/.bin"
Build per MacOS:
./node_modules/.bin/electron-packager ./src Aurora --overwrite --platform=darwin --arch=x64 --icon=icon/aurora.icns --prune=true --out=release-builds
Build per Linux:
./node_modules/.bin/electron-packager . Aurora --asar --prune --platform=linux --electron-version=4.0.6 --arch=x64 --icon=icon/aurora.ico --out=release-builds --ignore "node_modules/.bin"
Questa sezione descrive i vari file del codice sorgente. Per ora devo mantenere questa sezione piccola. Ho cercato di commentare il codice il più possibile. Se hai domande, contattami. Se vuoi unirti a me nello sviluppo dello strumento, c'è un canale Slack per comunicare. Fammi sapere e ti inviterò.
main.jsLe app Electron differenziano tra un processo principale (background) e un processo di rendering (finestra del browser Chromium). Questo file controlla il processo principale. Per Aurora, di solito ci si va solo se si vuole attivare la console Javascript nella finestra di Aurora. Basta commentare la seguente riga:
win.webContents.openDevTools()
La seconda cosa gestita qui è il salvataggio automatico e lo sblocco quando si esce dal programma. Per questo, il processo principale e quello di rendering condividono una variabile globale chiamata global.Dirty.is_dirty che viene utilizzata per segnalare al processo principale se può uscire subito o se il file deve essere sanitizzato prima di uscire.
In realtà è un concetto molto simile al dirty bit di NTFS.
index.htmlQuesto è il file principale di Aurora che unisce tutti gli script e i fogli di stile. Inizializza anche la GUI. Per il resto non ha funzionalità.
gui_definitions.jsHo cercato il più possibile di separare codice e design. Questo file contiene tutti i JSON di definizione per la GUI w2ui. C'è un po' di codice per i renderer che formattano alcune colonne. Non aveva senso posizionarli altrove.
controller.jsIl controller inietta le funzioni di gestione per gli eventi della GUI. Quindi, quando viene premuto un pulsante o si verifica qualsiasi altro evento necessario, controller.js gestisce cosa succede.
gui_functions.jsOgni tanto avvengono operazioni che cambiano qualcosa nella GUI. Potrebbe essere, ad esempio, rendere tutti i campi dati di sola lettura quando non si ha il blocco o semplicemente aprire un popup. Tutte queste funzioni si trovano in questo file, che è un semplice file JSON.
data.jsMentre i dati effettivi sono memorizzati nelle strutture dati di w2ui, per il salvataggio e alcune altre operazioni dobbiamo portarli nel nostro formato.
Trasformazioni come questa e tutta la logica relativa al salvataggio e all'apertura dei file si trovano qui.
data_template.jsContiene i template per il formato dati interno di questa versione. La versione corrente del formato è 3.
misp.jsCodice per l'integrazione MISP.
virustotal.jsCodice per l'integrazione VT.
settings.jsImpostazioni per diverse librerie. Attualmente definisce solo il formato del campo tempo per w2ui.
helper_functions.jsPiccole funzioni di supporto che non trovano posto altrove.
import.jsGestisce le importazioni CSV
exports.jsGestisce le esportazioni CSV
Aurora è concessa in licenza sotto la Apache 2 License.
Progetti come questo possono essere realizzati solo perché molte persone hanno investito migliaia di ore nella scrittura di fantastiche librerie e altri software. Altri contribuiscono con elementi dell'interfaccia utente professionali. Grazie per tutto il vostro grande lavoro. In particolare, ho costruito Aurora basandomi sulle seguenti dipendenze:
Oltre all'incredibile quantità di lavoro che le persone hanno investito in questi progetti, hai bisogno anche di altro supporto. Scrivere il codice è facile, ma renderlo uno strumento che funziona nella realtà dipende da una vasta esperienza di molti incident responder. Qui voglio menzionare in particolare i membri del mio team di IR che hanno contribuito con la loro conoscenza e hanno aiutato a testare lo strumento in casi reali:
Anche se questo è un progetto secondario e del fine settimana, è comunque bello sapere che il mio datore di lavoro Infoguard AG mi supporta in ogni modo possibile. Un ringraziamento particolare a:
Le seguenti persone hanno contribuito con modifiche che hanno un impatto significativo sullo strumento: