Ciao e bentornato.
Nella lezione precedente, abbiamo inserito un breakpoint hardware nel punto in cui il malware sta per
scompattare il suo payload secondario.
E sappiamo che dopo la decompressione, verrà eseguito perché ha impostato il permesso di essere eseguibile.
Quindi ora eseguiamo e lasciamo che raggiunga il nostro punto di interruzione hardware.
E ha raggiunto il nostro punto di interruzione hardware.
Lo vedi?
E ha popolato questa regione di memoria con il codice scompattato di AutoIt.
Quindi ora verrà eseguito, ma non lo lasceremo eseguire.
Utilizzeremo un altro strumento per esplorare questa regione in memoria e scaricarne il contenuto. Per farlo possiamo utilizzare uno strumento
chiamato Process Hacker.
Torniamo quindi alla nostra cartella, apriamo la cartella Utilities e cerchiamo Process Hacker.
Abbiamo quindi un Process Hacker.
Accendetelo e basta.
Poi cerchiamo il nostro malware, che si trova in memoria, e scorriamo verso il basso. E se vedete un campione.
bin, questo è quello giusto.
Giusto.
Quindi basta fare doppio clic sul campione. e quindi andare alla scheda Memoria ed espandere la finestra.
Ora cercheremo l'indirizzo su cui abbiamo impostato il
breakpoint hardware: 0x00C00000.
Scorrete quindi verso il basso e cercate 0x00C00000.
E poi vediamo 0x00C seguito da cinque
zeri.
Questo è l'indirizzo su cui è stato impostato il punto
di interruzione hardware e l'autorizzazione è Read, Write, Execute.
Se facciamo doppio clic su questo, possiamo vedere che questo è il codice che è stato scompattato in memoria.
Disimballato nella memoria.
E possiamo confrontarlo e vedere che è lo stesso.
Vedi qui,
e qui c'è lo stesso.
Giusto.
Ora possiamo scaricare il tutto facendo clic sul pulsante Salva.
Siamo quindi all'interno di Process Hacker e ora scaricheremo questa memoria in un file separato.
Facciamo quindi clic su Salva e poi possiamo salvarlo sul desktop nella stessa cartella e dargli un nome diverso.
Quindi chiameremo questo campione spacchettato e poi diremo Salva.
Così.
Ecco come disimballare il codice.
E questa sezione disimballata qui è in realtà
tutta questa cosa.
Il modo in cui siamo riusciti a disimballarlo: lasciandolo funzionare e scaricandolo da Process Hacker.
È così che facciamo.
Una volta scompattato, si può analizzare il nuovo file di dump, unpacked_sample, con Ghidra
e fare tutte le analisi necessarie.
Si tratta di un argomento piuttosto avanzato, ma non lo approfondirò perché è piuttosto complicato,
quindi mi basterà mostrarvi come utilizzare il disassemblatore Ghidra per cercare il punto corretto da analizzare
e come utilizzare ciò che abbiamo trovato in Ghidra all'interno di un debugger per inserire i breakpoint corretti.
Poi, dai punti di interruzione impostati e lasciati scompattare, possiamo usare Process Hacker per scaricare
la sezione di codice scompattata dalla memoria in un file per ulteriori analisi.
Con questo concludo la sessione e vi ringrazio per averci seguito.