Login utenteNavigazione |
Soluzioni CFI Computer Forensics Game - Spring 2008Inserito da denis frati il Gio, 05/15/2008 - 03:20
Il game si è concluso il primo maggio, con oltre 900 download dell'immagine forense in 15 giorni. Il report rappresentava ad avviso degli organizzatori una interessante opportunità formativa, in quanto se per il funzionamento di tools e la risoluzione di problematiche tecniche si può trovare abbondante materiale online, lo stesso non si può dire per la stesura di documentazione da presentare ai magistrati, o agli avvocati, documentazione che può avere il suo peso nel far pendere la bilancia della giustizia a favore o a sfavore di un imputato. Ad ogni modo per i prossimi game cercheremo altre soluzioni, quali ad esempio la realizzazione di due classifiche separate per gli appartenenti alla mailing list, o comunque per i "forensers" (operanti e apprendisti), e per i non appartenenti, considerando il report un di più che dia punti. Un elemento che ha invece fuorviato molti, è stata la mancata indicazione degli obiettivi da raggiungere. Ci sembrava, in tal modo, di rendere il game maggiormente realistico, si è mai visto un cattivo che indichi il numero di prove a suo carico da recuperare in un'indagine?
Chi avesse voluto poteva poi dare indicazioni sugli atti necessari ad individuare gli autori dei messaggi su Wikipedia (rogatoria per la richiesta dei log) e sulle modalità con cui i personaggi coinvolti probabilmente comunicavano, desunte dal testo delle mail, dagli ip coinvolti negli headers, dalla presenza di un programma specifico. Ma facciamo un passo indietro e vediamo come inizia il game: lo story board (potete leggerlo qui ), che speriamo si sia rivelato sufficientemente accattivante, racconta dell'individuazione del Barbuto Andrea atterrato presso l'aeroporto di Trantor, sul quale pendono sospetti di terrorismo. Nello zaino del soggetto viene individuata, celata nell'imbottitura dello schienale, una penna usb. Le autorità giudiziarie e di polizia optano per l'analisi del supporto alla ricerca di informazioni relative all'attività del Barbuto eventualmente posta in essere, o progettata. Se avessimo potuto essere la fianco del Barbuto nelle settimane precedenti al suo fermo, gli avremmo visto compiere con la chiave usb le seguenti operazioni (probabilmente ci sarà di aiuto nel comprendere il successivo operato degli investigatori): il 27 marzo 2008 sulla chiave usb sono presenti:
Il 1° aprile il Barbuto riceve da Mustafa la mail con in allegato l'immagine contenente la password; salva la mail sulla chiave e apre l'allegato, senza salvarlo, leggendo la password (glenco). Il 3 aprile h.10.20 il Barbuto formatta la chiave da MS Windows, con l'utility di sistema. Il 4 aprile il Barbuto riceve una e-mail che legge attraverso il browser, salva sulla chiave il solo allegato, costituito dall'immagine di un Ak-47 con attaccato un archivio 7zip contenente mappe indicanti la posizione delle armi, quindi salva sulla chiave:
Il 5 aprile apre i manuali 21777 e 2056840 Il 7 aprile il Barbuto salva sulla chiave usb:
Il 9 aprile il soggetto apre il db delle passwd usando l'eseguibile "magazzino", viene quindi generato il file di impostazioni/configurazione che lui cancella. L'11 aprile Barbuto:
Il 14 aprile Barbuto riceve la mail con il file 7zip protetto da password, in cui sono contenute le foto di Aviano (italy), apre lo zip e visiona le immagini senza estrarle, quindi cancella l'archivio; Il 16 aprile il soggetto atterra all'aeroporto di Trantor, cerca di passare i controlli di frontiera con una carta di identità contraffatta e viene fermato dalle autorità .
Dopo questo breve salto nel tempo e nel passato del terrorista dobbiamo domandarci quanto di tutto ciò sarà ricostruibile dagli investigatori, quante informazioni saranno recuperabili. La spiegazione che segue non deve essere in alcun modo ritenuta una metodica da noi suggerita quale metodo di analisi da applicarsi alle indagini informatiche, o allo svolgimento di consulenze tecniche e/o perizie, nè una forma di report, o relazione tecnica idonea ad essere presentata in controversie civili o giudiziarie. Si tratta della semplice spiegazione dei passi tecnici adottabili per l'individuazione degli obiettivi presenti nel game. L'investigatore farà copia dell'immagine dd, in modo da non rischiare in alcun modo di danneggiare la prima copia, quindi, verificata la coincidenza degli hash e quindi l'identicità delle immagini stesse con il device originale, si metterà all'opera. Vista la ridotta dimensione dell'immagine, l'investigatore decide di fare un overview del contenuto utilizzando Autopsy Forensic Browser. Inizia quindi a creare il caso,
per poi passare alla "file analysis" ![]() In questa fase appare da subito la presenza di alcuni file cancellati:
L'investigatore inizia dedicandosi a questi file. _bj.7z sembrerebbe, dall'estensione, essere un archivio compresso nel formato 7zip. Si procede quindi ad esportare il file in questione. L'utility "file" ci confermerà trattarsi di un archivio 7zip
Prima di provare ad attaccare l'archivio è necessario raccogliere altre informazioni, magari la chiave spunterà analizzando il resto dei dati. L'investigatore si dedica quindi la file KeePass.ini, un file di testo che sembra contenere le configurazioni d'uso di un programma. Cercando informazioni in rete trova conferma di queste ipotesi individuando anche il software a cui il file di configurazione appartiene, KeePass, un password manager. La presenza del file di configurazione, come mostrato anche dalle prove eseguite sul medesimo tool scaricato dall'investigatore, permette di capire che il file è stato creato a seguito di un utilizzo, è quindi probabile che esista un data-base di password.
L'investigatore trova conferma di ciò verificando l'header esadecimale del file, corrispondente a 0x03D9A265FB4BB5, come indicato nella pagine web. L'investigatore estrae il db ed anche in questo caso rimanda ad un secondo tempo il tentativo di aprirlo, vuole raccogliere altre informazioni che gli consentano di crearsi un elenco di possibili password. Il file netstumblerinstaller_0_4_0.exe non risulta recuperabile, ma l'investigatore non ha motivo di dubitare si tratti realmente dell'eseguibile per l'installazione del noto tool per l'individuazione delle reti wi-fi. I file teamA.jpg e teamB.jpg risultano essere immagini file immagine, riproduzioni di fotografie ritraenti due team di soldati o guerriglieri. L'investigatore esporta i file per ulteriori successive investigazioni. Dopo questa prima analisi dei file cancellati, rimanendo nell'ambiente di Autopsy, l'investigatore si dedica ai files attivi. La sua attenzione è immediatamente catturata dal file 4u.txt, il cui contenuto è il seguente: ![]() le prime due righe portano a pagine di Wikipedia, le ultime due rappresentano due gruppi data/orario. L'investigatore ricorda di aver letto un articolo sul blog di Didier Stevens riguardante le modalità di occultamento di informazioni sulle pagine dell'enciclopedia del web. Nel nostro caso, alla prima pagina indicata dal file 4u.txt (http://en.wikipedia.org/wiki/M16_rifle), cercando nel sheet "history" il primo gruppo data/orario si individuava una specifica versione editata dall'utente "Sliver of silicon".
Dal confronto con la versione più recente risultano essere state inserite nella pagina, come commento nascosto, delle informazioni codificate in base64
![]()
Il codice in base64 viene copiato in un file di testo e decodificato usando il tool Xdeview, ottenendo il seguente contenuto: "inserisciti tra i movimenti contro la base, porta all'organizzazione di manifestazioni a ridosso della base, realizzando atti tali da produrre una reazione violenta nel sistema difensivo con vittime tra i civili, al fine di portare ad un incremento del dissenso nei confronti degli USA. Per l'investigatore qualcosa comincia a dipanarsi! "abdella abubaka +39 354-1234567 presumibilmente fiancheggiatori dell'organizzazione terroristica a cui il Barbuto ha aderito. L'investigatore avrebbe anche potuto decodificare le informazioni codificate in base64 utilizzando "Reverse Calculator " una comoda estensione per il browser Mozilla Firefox sviluppata da Gianni Amato .
L'investigatore prospetterà al magistrato la possibilità di addivenire ad ulteriori informazioni sull'organizzazione terroristica, richiedendo alla Wikimedia Foundation, tramite rogatoria internazionale, i log relative alle connessioni avvenute nei giorni ed ore in cui sono state editate le versioni delle pagine con i messaggi nascosti e informazioni relative alla registrazione dell'utente "Sliver of silicon". Il nostro investigatore si sofferma quindi sul file immagine ak-47.jpg rilevando una dimensione superiore a quella che ci si potrebbe aspettare. Il file viene estratto per analisi successive. L'investigatore dedica ora la propria attenzione a due e-mail:
Nella prima sono narrati fatti che possono forse far luce su quanto abbia portato il Barbuto ad avvicinarsi all'estremismo islamico. Ricercando dei riferimenti in rete per tali nomi, l'investigatore scopre che i componenti del teamB usano nomi di personaggi del fumetto Nathan Never, mentre il teamA usa nomi riferiti al cartone animato Shark Tale.
La seconda e-mail, inviata dallo stesso mittente allo stesso destinatario della precedente, contiene un messaggio di avvertimento per Shark, che dai contenuti appare essere il Barbuto. ![]() L'analisi degli header della mail permettono di identificare il mittente del messaggio in colui che alle 17:34:14 del 9 ottobre 2007 (ora del fuso italiano) possedeva l'indirizzo Ip 213.156.55.143, anch'esso assegnato all'ISP FatsWeb.
Per avere maggiori informazioni riguardo al mittente di queste mail, si potrà interpellare l'ISP FastWeb per sapere a quali utenti fossero assegnati gli IP rilevati nei tempi indicati, l'ISP Tiscali per avere il maggior numero di informazioni riguardo all'utente omar_sas@tiscali.it e il provider Email.it per acquisire informazioni sull'utente shark@email.it. Il magistrato valuterà se sussistano i presupposti per acquisire anche i contenuti delle mail box. L'investigatore realizza un primo elenco di parole chiave , raccogliendo i nomi di rilievo presenti nella documentazione fornitagli dalle autorità e quelli rinvenuti nell'immagine della chiave usb, aggiungendo ad essi quelli di altri personaggi del cartone animato Shark Tale e della serie fumetti Nathan Never. Gli attacchi alle password di KeePass e dell'archivio 7zip vengono fatti inizialmente usando caratteri lower case, senza spazi tre le parole ed invertendo l'ordine delle parole.
L'investigatore decide di rinviare l'attacco all'archivio compresso 7zip e di cercare altre informazioni che potrebbero permettergli di individuare la password corretta.
Analizzando il settore e quelli successivi si nota che la keyword era probabilmente inserita in una e-mail (inviata attraverso il servizio del provider IndiaInfo) sovrascritta, sia nella parte iniziale, mancano infatti gli headers e la prima parte del messaggio, sia in quella centrale, contenente l'allegato "shark.jpg", come si nota dai bytes seguenti, estratti dai settori 222462 e 222463
L'investigatore opta per l'utilizzo di un editor esadecimale, decisamente più comodo per verificare il contenuto dell'immagine, rispetto alla visualizzazione settore per settore fornita da Autopsy.
All'offset 113926144 si individuano dati estranei alla codifica base64 dell'allegato
un esame più attento permette di comprendere che si tratta del file KeePass.ini, andatosi a sovrascrivere all'allegato, ed il cui contenuto giunge fino all'offset 113928204
Si nota quindi un pattern 0x00 che completa il settore assegnato al file KeePass.ini sino al byte 113928703.
Si può a questo punto estrarre dall'immagine dd l'allegato codificato in base64, copiando 2052892 ((115970356+1)-113917463) bytes dall'offset 113917463 nemo@nexus:~$ dd if=/media/disk/usb_key_barbuto.dd of=barbuto/allegato_base64 skip=113917463 count=2052893 bs=1 Si procede quindi alla decodifica dei dati in base64 utilizzando nuovamente Xdeviw
Il file risultante, la jpg denominata in origine "shark.jpg", è danneggiato dalla presenza di codice estraneo, il file KeePass.ini, che ha sovrascritto parte delle informazioni presenti nella codifica dell'algoritmo jpg.
L'investigatore fa una copia dell'immagine, la apre con l'editor per immagini GIMP e modifica dapprima i colori
e successivamente agisce su luminosità e contrasto
riuscendo ad ottenere qualche dettaglio in più.
In particolare è ora possibile distinguere la figura di un uomo in piedi davanti ad un cartello. Le modifiche apportate alla copia dell'immagine jpg, consentono all'investigatore di leggere quanto scritto sul cartello "GLENCO YOUTH HOSTEL" e di distinguere il logo presente sullo stesso. L'investigatore decide di provare ad utilizzare le parole scritte sul cartello alle spalle dell'uomo per aprire il file 7zip protetto da password. I suoi tentativi hanno immediatamente successo usando la prima parola (GLENCO) scritta in minuscolo, ossia in caratteri lower case. Se l'investigatore non avesse avuto questa intuizione avrebbe potuto provare a raccogliere maggiori informazioni su quanto rappresentato dalla fotografia. Cercando su Google "youth hostel" glenco avrebbe ricevuto il suggerimento a cercare "youth hostel" glencoe , con la lettera "e" finale.
Seguendo il suggerimento, con la prima pagina proposta dal motore di ricerca sarebbe approdato al sito della Scottish Youth Hostels, nella pagina relativa all'ostello di Glencoe (bellissima località ).
In essa avrebbe immediatamente riconosciuto il logo (in alto a destra) come quello presente sul pannello presente nella jpg danneggiata, mentre tra le fotografie riportate nella pagina web dell'ostello una mostra un cartello assai simile a quello di cui si discute. Cliccando sull'immagine il browser l'avrebbe ricaricata ingrandita
Sarebbe stato in tal modo possibile rilevare che, a parte la struttura posta superiormente, il pannello sembra essere identico a quello presente nella jpg danneggiata, dove tuttavia si può notare una differenza: l'assenza della lettera "e" al termine del nome "GLENCO". L'investigatore avrebbe potuto quindi pensare ad una modifica apportata all'immagine, immagine nota al Barbuto, al fine di indicargli la password del file 7zip. Prima di fare un primo report ai suoi superiori ed al magistrato l'investigatore, vista la presenza di un file in formato 7zip, decide di cercarne altri, magari non allocati, o allocati ma rinominati.
Apporta inoltre alcune modifiche nella procedura del carving per far si che il flusso dello script prosegua nel modo corretto.
------------------Dal file "Audit" di Foremost---------------------- Num Name (bs=512) Size File Offset Comment 0: 00065003.7z 68 MB 33281965 2 FILES EXTRACTED 7z:= 2 Analizzando il file di report di Foremost scopriamo che il file "65003.7z" presente nel settore 65003 non è in alcun modo referenziato, mentre il file "67248.7z", presente nel settore 67248, risulta essere sempre "_bj.7z", il cui hash sha256 risultano tuttavia differenti e per questo Sfdumper non ha cancellato il doppione. nemo@nexus:~$ ifind -f fat -o 32 -d 67248 /media/disk/usb_key_barbuto.dd Il file "65003.7z" contiene due file jpg riproducenti due mappe di GoogleMap, denominati "akposition_1.jpg" e "akposition_2.jpg". Ma dove è posizionato questo file? Come è utilizzabile? nemo@nexus:~$ ifind -f fat -o 32 -d 65003 /media/disk/usb_key_barbuto.dd (verifichiamo [sotto] i settori allocati al file) Directory Entry Times: Sectors: Quindi, l'investigatore fa questo calcolo ((63984+32)*512) =32776192 individuando l'offset a cui comincia il file "ak-47.jpg",
individuati i bytes iniziali del file si porta al termine dello stesso ricercando il footer del jpg, ossia 0xFFD9,
individuato all'offset 33298347, a seguito del quale l'investigatore nota la presenza dell'header del formato 7zip. L'investigatore comprende quindi che il file 7zip è stato semplicemente attaccato in coda al file jpg (copy /b immagine.jpg + documento.7zip immagine_1.jpg).
Il trucco non consente all'utente ordinario di individuare il file compresso, aprendo il file immagine questa verrà visualizzata normalmente, ma consente all'utente a cui è nota la presenza del file nascosto di estrarne il contenuto agendo con il gestore di archivi/file_compressi appropriato direttamente sul file immagine. A questo punto l'investigatore, avendo individuato:
può fare un primo report ai suoi superiori ed al magistrato confermando al pericolosità del barbuto e la sua intenzione di mettere in atto azioni ostili.
Con ciò si conclude la nostra "romanzata" discussione sulle possibili modalità di individuazione delle informazioni nascoste. Ad esse avevamo assegnato i seguenti punteggi:
In tal modo si totalizzavano 10 punti.
Va notato che il team Bonasia-Alampi-Amato ha proceduto ad una differente lavorazione del file "shark.jpg" allegato alla e-mail sovrascritta, ed individuato ricercando la keyword "Mustafa". I tre, dopo aver estratto tutto l'allegato, hanno proceduto alla pulizia del codice base64 dai bytes spurii. Il procedimento a comportato un paio di prove, perchè come si può vedere analizzando il base64 "ripulito" sono stati in realtà tolti 2 caratteri in più, appartenenti cioè al base64.
Come si può vedere dall'immagine precedente, le righe del base64 sono composte da 60 caratteri. Eliminando i caratteri e gli spazi dovuti al file KeePass.ini, si otteneva una riga di 62 caratteri (19 righa superiore + 43 riga inferiore)
Complimenti a loro!! Non si finisce mai di imparare!! Note a margine:
Conclusioni ed inviti:
È possibile che alcune scelte da noi fatte (non comunicare il numero di obiettivi da individuare, richiedere il report) abbiano demotivato qualcuno e fatto pensare ad altri, dopo aver trovato le prime informazioni nascoste, che il game fosse già terminato. Terremo in considerazione questi aspetti nell'organizzazione del prossimo CFI game, speriamo in autunno. Vi invitiamo quindi a spedirci i vostri feedback (denisDOTfratiATcybercrimesDOTit - nannibATliberoDOTit) in qualunque momento deciderete di partecipare a questo game, non preoccupatevi se saranno passati mesi, o anni (sono ottimista
).Se le spiegazioni riportate sopra non vi sono di aiuto...scriveteci ugualmente, compatibilmente con il nostro poco tempo libero cercheremo di aiutarvi.
Licenza:
CFI game 2008 spring è pubblicato sotto licenza Creative Commons Attribuzione-Non commerciale-Non opere derivate 2.5 Italia License.
|
PollChi è onlineCi sono attualmente 0 utenti e 3 visitatori collegati.
|
Cercasi soluzioni alternative
Ciao a tutti,
questa è la ns. soluzione, però saremmo curiosi di sapere, da chi si è cimentato col gioco il:
1) Cosa ha trovato?
2) Come lo ha trovato (metodologie, software, ecc.)
 In modo da avere un più ampio spettro di possibilità e di confronti.
GrazieÂ
 Nanni Bassetti