
Alcune delle mie analisi malware e ingegneria inversa disponibili pubblicamente.
Tracciamento della funzione C fopen [Part1] - Walk-Through in User-Mode con IDA Free fino a NTApi
Tracciamento della funzione C fopen [Part2] - Kernel Debugging con Windbg - Walk-Through dalla User-Mode al Kernel Executive Subsystem
Abuso dei riferimenti a risorse esterne in MSOffice [part1] - TEMPLATE_INJECTION
Abuso dei riferimenti a risorse esterne in MSOffice [part2] - OLEOBJECT_INJECTION
[1] Analisi di Lokibot - sconfiggere GuLoader con Windbg (kernel debugging) e Live C2
[2] Analisi di Lokibot - spoofing di GULoader e del C2 di LokiBot [part1] - Implementazione propria in Python
[2] Analisi di Lokibot - spoofing di GULoader e del C2 di LokiBot [part2] - INetSim + BurpSuite
[3] Analisi di Lokibot - Reversing, API Hashing, decodifica
Cos'è COM e le sue funzionalità, COM nel Registro (strumenti - COM viewers), COM Client-Server (usando client COM PowerShell/.NET), Reversing di istanze e metodi COM in IDA (strutture, tipi, plugin ComIDA), modo interessante di usare un metodo COM nel campione di malware LokiBot
Alcune note, suggerimenti e trucchi quando si affronta il reversing di un campione di malware che utilizza una libreria open source importata staticamente
Questo video copre una guida al reversing e alla creazione di un decryptor PoC in Python. Nell'ultima parte del video tratterò un altro trucco su come invocare dinamicamente solo la routine di decifratura di questo ransomware direttamente da PowerShell e ottenere la decifratura di tutti i file.
Codice gestito vs codice non gestito. Difficoltà durante il reversing e il debug.
Un bell'esempio è PowerShell stesso.
Il video tratta la deoffuscazione dell'ultimo SmartAssembly 8+ (offuscatore commerciale per .NET) usando SAE (Simple-Assembly-Explorer)
e la ricreazione del modulo originale usando DnSpy. [Download dei campioni]
Campione, il mio IDB IDA annotato preparato, immagine Bochs: [Download-Password:infected]
Video sul reversing .NET delle implementazioni P/Invoke, D/Invoke e Dynamic P/Invoke che servono per chiamare codice non gestito da codice gestito. Copre lo strumento Get-PDInvokeImports [Get-PDInvokeImports]
Approfondimento sul reverse engineering del APT29 C2-Client Dropbox Loader.
Per maggiori informazioni - controlla la descrizione sotto il video.
Debug del processo PowerShell durante il debug di script PowerShell - catturare il caricamento dei moduli (dnSpy)
Debug multi-processo con DnSpy
Gestire l'ottimizzazione del codice durante il debug .NET (quando e perché non puoi vedere Locals e mettere breakpoint)
Finestre Watch vs. Locals in dnSpy - trai beneficio da entrambe (vedi campi, invoca espressioni, ecc.)
I miei primi suggerimenti e trucchi pubblicati sotto CPR @CPResearch - mostrando l'uso pratico di IDA-Appcall, Dumpulator e puro Unicorn Engine.
Ottenere il meglio e tanti frammenti di codice annotati.
Un grande ringraziamento ai membri del mio team @BenHerzog11235 e @a14xt che hanno contribuito a renderlo fantastico.
In questo video ti guiderò attraverso le deoffuscazioni .NET coprendo alcuni trucchi e suggerimenti interessanti.
Useremo PowerShell e la libreria dnlib.
Creeremo un deoffuscatore universale di stringhe per il malware Eternity che usa una sorta di offuscamento personalizzato non così banale a prima vista.
Approfondimento sul reversing del ransomware Azov - wiper polimorfo, pubblicato sotto CPR @CPResearch - mostrando non solo i principali punti tecnici ma anche molte interessanti tecniche di anti-analisi e offuscamento del codice.
Un grande ringraziamento ai membri del mio team @BenHerzog11235 e @megabeets_ che hanno contribuito a renderlo fantastico.
In questo video ti guiderò attraverso il reverse engineering degli assembly Mixed Mode.
Esempio di assembly Mixed Mode: [Sorgente/binario]
Sconfiggere dotRunpeX — Nuovo injector .NET virtualizzato che abusa di tecniche avanzate per distribuire numerose famiglie di malware.
Pubblicato sotto CPR @CPResearch
Rivelando il ransomware Rorschach, altamente avanzato, velocissimo e molto personalizzabile. A causa dell'offuscamento e della protezione (packer personalizzato in stile UPX, VMProtect, ecc.) e del modo in cui viene distribuito, il processo di reversing è stato piuttosto complesso.
Pubblicato sotto CPR @CPResearch
In questo video spiegherò come funziona la funzionalità di IDA - Memory Snapshot, quali sono le opzioni attualmente disponibili e i vantaggi del loro utilizzo. Useremo gli snapshot di memoria di IDA su un esempio pratico di unpacking del malware Amadey con tutti gli stadi preliminari di shellcode.
Nell'ultima sezione tratterò cos'è la funzione interna C++ _Initterm, come viene usata nel campione Amadey e come il malware può abusarne per eseguire codice prima di raggiungere il metodo "main". In alcuni casi (quando dirottiamo il flusso di esecuzione), possiamo riferirci a questa tecnica come avvelenamento della tabella di funzioni _Initterm.
Analisi approfondita del nuovo ceppo di malware denominato BundleBot che si diffonde sotto traccia. BundleBot abusa del formato dotnet bundle (single-file) self-contained che comporta una rilevazione statica molto bassa o nulla.
Rivelando diverse tecniche che si sono dimostrate efficaci per il reverse engineering del formato dotnet bundle (single-file) self-contained.
Pubblicato sotto CPR @CPResearch
Presentazione di un nuovo metodo per eseguire codice nascosto impiantato in binari .NET compilati ReadyToRun (R2R), l'R2R stomping.
Pubblicato sotto CPR @CPResearch
Introduzione all'hooking gestito .NET usando la libreria Harmony.
Un esempio pratico dell'uso dell'hooking Harmony per sconfiggere il noto offuscatore “ConfuserEx2” che ha portato allo strumento “ConfuserEx2_String_Decryptor”. Rivelando un bel trucco su come combinare debugging e hooking usando la libreria Harmony (Harmony hooking dal contesto di debug dnSpyEx).
Pubblicato sotto CPR @CPResearch
Strumenti usati nel video: [GitHub - ConfuserEx2_String_Decryptor]
Rivelando il crescente abuso dei prodotti BoxedApp per impacchettare e distribuire minacce note.
Analisi approfondita dei componenti interni di BoxedApp, concentrandosi sulle strutture binarie impacchettate risultanti con firme Yara che possono essere usate per rilevare staticamente il packer in uso distinguendo il prodotto stesso.
Pubblicato sotto CPR @CPResearch