Memlabs lab4 – Walkthrough

Memlabs lab4 – Walkthrough

Oggi risolveremo la sfida MemLab 4, dal repository ghithub https://github.com/stuxnet999/MemLabs.

procediamo con il download del lab 4 dal titolo “Obsession”.

Tool utilizzati:

  • Volatility Framework
  • Strings / grep / cat
  • Notepad++
  • Cyberchef

Come prima operazione avviamo la nostra macchina virtuale RemNux, ed utilizziamo Volatility Framework per identificare il Profilo della macchina oggetto di analisi:

Ben fatto, procediamo con l’analisi dei processi in esecuzione:

Potremmo eseguire anche il plugin “pstree” in modo da vedere più ordinatamente la relazione tra i vari processi.

Dalla presentazione dello scenario si parla di un file cancellato molto importante, parola che ha subito attirato la mia curiosità, così ho deciso di ricercare all’interno del dump la presenza di un file di testo (e non solo) con un nome attraente, perciò effettuiamo l’analisi dei file e salviamo l’ouput in un file di testo:

Apriamo il file di testo generato ed estraiamo con il filtro grep i files di testo con estensione “txt”.

La caccia potrebbe aver dato i suoi benefici, abbiamo trovato il file “Important.txt”, chissà cosa ci sarà mai dentro, c’è solo un modo per scoprirlo… estraiamolo dalla memoria!

vol.py -f MemoryDump_Lab4.raw’ –profile=Win7SP1x64 dumpfiles -Q 0x000000003fc398d0 -D .

il file che abbiamo estratto però non viene salvato nonostante la procedura confermi l’estrazione del file, come se fosse invisibile. Un posto molto interessante in cui andare a recuperare informazioni sui file è sicuramente la MFT (Master File Table) di Windows, una sorta di registro di tutti i file gestiti dal file system, dove per ognuno di essi esiste un record che contiene tantissime informazioni come la posizione, il nome, la dimensione, i permessi, varie date di creazione ecc ecc …

Volatility possiede un plugin interessante che si occupa di interagire con MFT:

vol.py -f MemoryDump_Lab4.raw –profile=Win7SP1x64 mftparser > mftparser.txt

Ora consultiamo il file mftparser.txt e ricerchiamo il nome del file oggetto di analisi “Important.txt”, il file possiamo aprirlo con un normale editor di testo o direttamente da riga di comando con il comando “cat” tra i tanti, io userò notepad++ :

Il campo $DATA è sicuramente quello di nostro interesse, procediamo con la decodifica da HEX della stringa usando cyberchef!

Ecco la nostra bandiera: inctf{1_is_n0t_EQu4l_7o_2_bUt_th1s_d0s3nt_m4ke_s3ns3}

Naturalmente, il presente write-up riporta solo le operazioni indispensabili per la risoluzione della challenge, ma questa volta la soluzione non è stata immediata!

Ho dovuto analizzare moltissimi “artifact”, ho consultato le connessioni di rete, gli input da cmd line, powershell, ho decifrato le password di Windows degli utenti, ho ricercato immagini importanti e molto altro … è stata una lunga ricerca e raccolta di informazioni che alla fine ha portato alla conquista della bandiera!

Ottimo Lavoro!

Share this content:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *