
Contenuti educativi gratuiti sul reverse engineering e l'analisi di malware dal team FLARE

Il FLARE Learning Hub distribuisce liberamente contenuti educativi di qualità su reverse engineering e malware analysis dal FLARE team.
I moduli del FLARE Learning Hub sono ospitati come Google Docs pubblicati sul web, collegati nelle rispettive descrizioni qui sotto. Questo repository contiene tutti gli artefatti corrispondenti per ogni modulo, inclusi binari per esercitazioni e dimostrazioni, database di disassembler e script.
Miglioramenti ai moduli esistenti e nuovi moduli verranno pubblicati regolarmente.
Per iniziare a lavorare su un modulo, raccomandiamo vivamente di configurare un ambiente di macchina virtuale (VM) isolato in sicurezza utilizzando FLARE-VM, che fornisce gli strumenti necessari per completare gli esercizi e le dimostrazioni. Raccomandiamo anche di utilizzare un prodotto di virtualizzazione che supporti gli snapshot, che permettono di registrare la VM in uno stato pulito e di tornare a quello stato quando si avvia una nuova analisi. Al momento, tutti i moduli supportano solo ambienti Intel x86-64.
Sebbene tutti i binari e gli script distribuiti siano creati esclusivamente a scopo di esercitazione pratica e dimostrazione, potrebbero essere segnalati come dannosi da sistemi automatici poiché alcuni mostrano comportamenti simili a malware. Questo progetto non è responsabile per eventuali danni o perdite derivanti dall'esecuzione dei binari e degli script al di fuori di un ambiente di macchina virtuale sicuro e isolato.
La password per eventuali ZIP protetti da password in questo repository è flare.
Autori: Jae Young Kim e Nick Harbour
Module Link: Malware Analysis Crash Course
Module Directory: /macc
Mentre gli strumenti di analisi statica e i prodotti sandbox continuano a progredire, forniscono informazioni sempre più preziose sui binari dei malware. Tuttavia, quando affidabilità e precisione sono fondamentali, fare affermazioni definitive su un campione di malware richiede ancora una comprensione completa del programma tramite reverse engineering manuale.
Questo è un corso intensivo su lettura, interpretazione e manipolazione del codice assembly, che rimane il pilastro delle competenze di un reverse engineer. Entro la fine di questa formazione, avrai sviluppato le abilità pratiche necessarie per iniziare ad analizzare campioni tipici di malware Windows.
Il corso inizia con le basi dell'assembly x86 e introduce gradualmente costrutti di programmazione di livello superiore. Include anche le conoscenze essenziali di Windows necessarie per iniziare a fare reverse engineering di malware basati su Windows.
Enfatizzando un approccio di apprendimento pratico, il percorso del corso intreccia numerosi esercizi di hacking assembly. Crediamo che la ripetizione della scrittura di assembly e del debugging dei risultati sia il modo più efficace per padroneggiare rapidamente i fondamenti necessari per fare reverse engineering di programmi più grandi e complessi. Il corso include anche quiz lampo e diversi laboratori con soluzioni dettagliate.
Autori: Jae Young Kim
Module Link: The Go Reverse Engineering Reference
Il Go Reverse Engineering Reference è un riferimento completo per il reverse engineering di eseguibili Go. Il riferimento si compone di tre sezioni:
Tutto il materiale in questo riferimento è attualmente limitato a eseguibili Windows AMD64 compilati con Go versione 1.24.0.
Autori: Josh Stroschein e Jae Young Kim
Module Link: An Introduction to Time Travel Debugging
Module Directory: /ttd
Time Travel Debugging (TTD), una tecnologia offerta da Microsoft come parte di WinDbg, registra l'esecuzione di un processo per creare un file di traccia che può essere riprodotto avanti e indietro. A differenza del debugging convenzionale, che consente solo la tracciatura dell'esecuzione in avanti, la capacità di "riavvolgimento" di TTD è particolarmente potente per l'analisi dei malware e il reverse engineering. Questa caratteristica permette a un analista di ispezionare il comportamento del programma nel tempo, accelerando significativamente il triage individuando rapidamente eventi malevoli. La capacità di avanzare e retrocedere nell'esecuzione è anche fondamentale per comprendere e bypassare tecniche di anti-analisi e offuscamento.
TTD cattura il percorso e lo stato di esecuzione di un programma, creando un output di traccia attraverso un livello trasparente che consente la piena interazione con il sistema operativo. Un file di traccia preserva una registrazione dell'esecuzione che può essere condivisa con i colleghi per facilitare la collaborazione, evitando differenze ambientali che possono influenzare i risultati del debugging dal vivo. Punti specifici dell'esecuzione possono anche essere segnalibri e condivisi per dirigere l'analisi di un collega. Inoltre, include oggetti del modello dati del debugger, consentendo agli utenti di interrogare la traccia con LINQ per trovare eventi specifici come il caricamento di moduli, l'esecuzione di shellcode o eventi di iniezione di processi.
Questo modulo è un'introduzione a TTD e alla sua applicazione all'analisi dei malware Windows. Il modulo include una demo dettagliata e un laboratorio per fornire pratica guidata e hands-on. Include anche un riferimento per l'uso di JavaScript per automatizzare le attività TTD insieme a diversi script di esempio. Entro la fine del modulo, dovresti essere pronto per iniziare a incorporare questo potente strumento nel tuo flusso di lavoro di triage dei malware e velocizzare la tua analisi in scenari di debugging complessi.
Al momento non stiamo accettando contributi a questo repository, ma eventuali errata, suggerimenti e feedback sono benvenuti all'indirizzo [email protected].
Iscriviti alla mailing list FLARE per annunci della comunità inviando un'email con oggetto "subscribe" a [email protected].