venerdì 13 dicembre 2013

giovedì 5 dicembre 2013

WhatsApp forensics - recupero timestamp dei messaggi cancellati


Ieri durante una lezione, presso la scuola di GdF di Ostia, sull'uso del Cellebrite UFED e Physical Analyzer (thanks to Luca Governatori), insieme a tutta la classe (in gambissima), abbiamo fatto un po' di reverse engineering usando la visualizzazione esadecimale di Physical Analyzer del database della famosa app di messaggistica WhatsApp per Android, dato che il P.A. non visualizza i messaggi cancellati di WhatsApp, almeno su Android 4.1.2 del Samsung S3.

Il database è di tipo SqlLite 3.0 e si trova in:
\data\com.whatsapp\databases\msgstore.db  

Prima dell'acquisizione fisica tramite UFED Touch del mio Samsung S3 con Android  4.1.2, ho provveduto a cancellare due (il primo ed il terzo) messaggi di una conversazione dal mio WhatsApp, i due in figura:



Finita l'acquisizione ed ottenuto il file DumpData.bin, siamo andati ad aprire con il viewer esadecimale il file msgstoredb.db e a cercare le parole chiave dei messaggi cancellati, ottenendo una visualizzazione esadecimale come questa (in figura l'editor non è quello di P.A.):


Il messaggio si compone del numero del mittente, seguito da un numero, che rappresenta la data senza l'ora, del messaggio in Unix Epoch Time, ossia il numero di secondi passati dal 01/01/1970 alle 00:00:00, con una semplice conversione con programmi come DCode o http://www.epochconverter.com/, si ricava che il numero: 1385911713 è la data 01 Dec 2013 alle ore 15:28:33, quindi l'orario non è esatto.
Bisogna trovare  la data e l'ora (timestamp) esatta di questo messaggio, facendo un po' di prove e confrontando con i messaggi in chiaro, scopriamo che i primi sei (6) byte successivi alla fine del testo del messaggio, rappresentano il timestamp dello stesso con data ed ora corretti.
Infatti preleviamo i 6 byte successivi del primo messaggio:
01 42 AE FF E8 20 e 01 42 AF 1F BA 5F e li traduciamo in decimale con la calcolatrice e poi convertiamo il numero in Unix Milliseconds Time, infatti qui il timestamp è in millisecondi e non in secondi, poi impostiamo DCode in UTC+1 (siamo in Italia in ora solare quindi UTC+1).






Stessa procedura per l'altro messaggio:



Concludiamo avendo estratto due messaggi cancellati, abbiamo ricavato il mittente, il destinatario, il testo ed il timestamp.
è stato divertente ed illuminante, spero serva a qualcuno ;).

Nanni Bassetti
http://www.nannibassetti.com

martedì 5 novembre 2013

OpenSourceDay 2013 - Udine

Iscrizioni e programma completo qui:
http://www.opensourceday.org/2013/?mid=3

In particolare:
Percorso Forensics (Aula 0)

10:00 –  10:15 Introduzione conferenzieri e progetti italiani D.E.F.T. e CAINE
(Pubblico Ministero Procura Udine Sost.Proc. Dott. Andrea Gondolo)
10:30 – 11:15: Wibbly wobbly timey wimey stuff. Uso delle timeline
nell'analisi forense (Dott. Davide Gabrini aka Rebus)
11:15 – 11:45: Coffee break
11:45 – 12:30: Mobile Forensics con strumenti Open Source (Dott. Paolo
Dal Checco)
13:30 – 14:15: OS Intelligence (Dott. Alessandro Rossetti aka Sitticus)
14:30 – 15:15: Il problem solving nella digital forensics tramite
strumenti open source (Dott. Nanni Bassetti)

iscrivetevi numerosi (anche per avere il vostro attestato di partecipazione)

martedì 24 settembre 2013

Workshop computer e mobile forensics alla Sapienza (Roma)

Il 5 Ottobre 2013 sarò tra i relatori (insieme a Paolo Reale ed al Prof. Roberto Cusani) di questo workshop organizzato dalla Italdetectives presso l'Università La Sapienza a Roma:

http://www.italdetectives.org/index.php?option=com_content&view=article&id=219:ict-in-ambito-forense-dai-cellulari-al-computer&catid=9&Itemid=108

sabato 7 settembre 2013

mercoledì 22 maggio 2013

A little bash script for discovering the Windows 7 activity

Often during the investigation on a computer we need to have quickly a response on the activity of the computer itself, so we need a tool says to us when the device was on and off.
If we can take the file System.evtx placed in
%SystemRoot%\System32\Winevt\Logs\System.evtx
We could export it in CSV format using some tools or simply the EventViewer of  our Windows.
Let’s see what we can obtain, this is a piece of the file called system7.csv:








We can see that the second field is filled by the timestamp (date and time) and the fourth field is filled by the EventId number.
At this point, we can think to read the EventId and the timestamp and make a sort of timeline choosing only the events of On, Off, Crash, Sleep and Awake.
We can do this using a Gnu/Linux OS or simply CygWin 
http://www.cygwin.com/
First of all we need to make a file containing the targets events:
$ echo ",12," > events.txt     ----- first entry needs only “>” operator.
$ echo ",13," >> events.txt    ----- following entries need “>>” append operator.
$ echo ",42," >> events.txt
$ echo ",1," >> events.txt
$ echo ",41," >> events.txt

EventID 13 is when the OS starts (ON)
EventID 12 is when the OS stops (OFF)
EventID 42 is when the OS is in sleeping mode (SLEEP)
EventID  1 is when the OS is awaked (AWAKE)
EventID 41 is when the OS crashed (CRASH)

Now, we can make our script:

cat system7.csv | grep -f events.txt | awk -F "," '{print $2,$4}' | sed 's/ 13$/ Off/'| sed 's/ 12$/ On/' | sed 's/ 42$/ Sleep/' | sed 's/ 1$/ Awake/'| sed 's/ 41$/ Crash/'

The cat command streams to the grep tool its content, the grep selects only the events listed into events.txt (13,12,42,1 and 41), the awk tool selects only the second and the fourth field using the symbol “,” as delimiter and finally the tool sedchanges the number of the EventId into a human readable event.
This is the output:

06/04/2013 08:04:07 On
05/04/2013 22:05:57 Off
05/04/2013 20:36:36 Awake
05/04/2013 20:36:31 Awake
05/04/2013 19:44:58 Sleep
05/04/2013 19:25:36 Awake
05/04/2013 19:25:31 Awake
05/04/2013 18:41:47 Sleep
05/04/2013 15:16:37 Awake
05/04/2013 15:16:31 Awake
05/04/2013 14:33:59 Sleep
05/04/2013 12:42:42 Awake
05/04/2013 12:42:37 Awake
05/04/2013 11:52:50 Sleep
05/04/2013 07:57:57 On
04/04/2013 20:53:35 Off

We can also to redirect the output to a csv file:

cat system7.csv | grep -f events.txt | awk -F "," '{print $2,$4}' | sed 's/ 13$/ Off/'| sed 's/ 12$/ On/' | sed 's/ 42$/ Sleep/' | sed 's/ 1$/ Awake/'| sed 's/ 41$/ Crash/'>events_results.csv




















This is a quick method to have a view on the timelines of the computer life during a period of time, after this first overview, naturally, it could be useful to have a detailed timeline using others forensics tools like TSK, Log2Timeline, etc.
Author:
Dr. Nanni Bassetti
http://www.nannibassetti.com

domenica 24 marzo 2013

Bella esperienza presso la scuola della GdF dell'Aquila



Sono stato ospite (21 e 22 Marzo 2013) come relatore ed ho partecipato anche alla valutazione dei risultati del gioco di simulazione su un'acquisizione ed analisi di un pendrive. Il tutto si è tenuto presso la Scuola Ispettori e Sovrintendenti della Guardia di Finanza, in due giornate del convegno di studi sul tema: “Computer Forensics”. L'aula era piena, mai visto tanti finanzieri tutti insieme : - D, ed attenta, son stato trattato benissimo ed è stata un'esperienza elettrizzante, grazie alla GdF per il loro lavoro e grazie agli organizzatori per l'onore ricevuto.
Nanni Bassetti
Per saperne di più: http://www.inabruzzo.com/?p=159827

mercoledì 20 marzo 2013

I miei eventi marzo/aprile 2013

Salve a tutti,
per chi segue questo blog segnalo gli eventi "interessanti" che mi coinvolgono per Marzo/Aprile 2013

  • 18/Marzo/2013 rilasciato Caine 4.0 "Pulsar" http://www.caine-live.net
  • 21 e 22 Marzo/2013 - Talk sulla computer forensics c/o la "Comando Scuola Ispettori e Sovraintendenti" - L'Aquila.
  • 8-11/Aprile/2013 - Docenza per un corso di 4gg c/o HP Roma.

lunedì 18 marzo 2013

Rilasciati Caine 4.0 "Pulsar" e NBCaine 4.0

Rilasciati Caine ed NBCaine (la versione di Caine per pendrive USB) 4.0 codename "Pulsar".
Tutte le novita sul sito http://www.caine-live.net


domenica 3 febbraio 2013

DISCOVERING TRIBLER FOR FORENSIC EXAMINATION


DISCOVERING TRIBLER FOR FORENSIC EXAMINATION
By Nanni Bassetti – http://www.nannibassetti.com
This is an OPEN DOCUMENT written to be improved by the readers, because I wrote it using only experiments on this program and its structure.
Tribler is a famous new bittorrent client, it is open source, it is different from the others bittorent clients because it is a peer-to-peer client, but maybe Wikipedia could help me to explain it better:
"Tribler is an open source peer-to-peer client with various features for watching videos online. The user interface of Tribler is very basic and focused on ease of use, instead of including features.[2] Tribler is based on the BitTorrent protocol and uses an overlay network for content searching.[3] Due to this overlay network Tribler does not require an external website or indexing service to discover content.[4] Tribler features include: video-only searching, experimental video streaming, and an integrated video player. Tribler is available for Linux, Windows and OS X."
The scope of this paper is to make a first classification of the most interesting things we can consider to find out the downloaded files with Tribler.
We can examine these files (in a Windows OS):
1) C:\Program Files (x86)\Tribler\triblere.exe.log or c:/users/USERNAME/tribler.exe.log
2) C:\Users\USER_NAME\Desktop\TriblerDownloads
3) C:\Users\USER_NAME\AppData\Roaming\.Tribler\recent_download_history (HERE WE CAN FIND WHERE IS THE DOWNLOAD DIRECTORY)
4) C:\Users\USER_NAME\AppData\Roaming\.Tribler\sessconfig.pickle (Tribler settings)
Then there is a directory named:
C:\Users\USER_NAME\AppData\Roaming\.Tribler\seeding_manager_stats
where we can find files named with an hash code like:
f4aed57f74ac8dX4af3fd1ae6b5XX1eX2b881692.pickle
if we open it, we can see something like this:
(dp1
S'time_seeding'
p2
F59.470001028611229
sS'total_down'
p3
L1051454L
sS'version'
p4
I1
sS'total_up'
p5
L0L
s.
Where 1051454 is the size of the file in bytes the user downloaded.
Then, we can go into
C:\Users\USER_NAME\AppData\Roaming\.Tribler\dlcheckpoints
and find for the same file name
f4aed57f74ac8dX4af3fd1ae6b5XX1eX2b881692.pickle
and open it with a text editor like Notepad++, we can find there the file name the user downloaded, e.g. “johndoe.pdf’
So, now we can cross the filename we found there with the file name we found into theC:\Users\USER_NAME\Desktop\TriblerDownloads
If the user deleted that file we can try to retrieve it by data carving or deleted file recovering...
We can affirm that the file “johndoe.pdf” has been downloaded by that computer for sure, because these tracking files and because the tribler.exe.log.
We have others evidences to affirm that “johndoe.pdf” has been downloaded, we can examine the SqlLite database
C:\Users\USER_NAME\AppData\Roaming\.Tribler\sqlite\tribler.sdb 
We can look into the table MyPreference  for the downloaded files, the table is:  
torrent_iddestination_pathprogresscreation_timeclick_positionreranking_strategy
451c:\etc\etc1001359531172 -11
The creation_time is in Unix epoch time UTC the ending time of the download.
Unix Epoch time conversion: 1359531172 --> 2013-01-30 07:32:52. UTC
So, if we query the table “Torrent”:
we can find the record by torrent_id = 451 and we’ll see many interesting data about the file has been downloaded at 100% (as we can see in the field “progress” of the MyPreference table), its name and others informations.
We can see the starting creation time (field insert_time of the Torrent table) in Unix time and we can convert it in human timestamp in UTC.
Unix Epoch time conversion: 1359531111 --> 2013-01-30 07:31:51. UTC
We can say that the download started at 07:31:51 and ended at 07:32:52 on 2013-01-30.
We can use SQL Spy to open tribler.sdb

lunedì 14 gennaio 2013

Il lato oscuro di Wikipedia

Salve a tutti,
premetto che ho sempre sostenuto Wikipedia sia come progetto, sia come idea e come affidabilità, però ultimamente mi sono imbattuto nel suo "lato oscuro", ossia ho toccato con mano la gestione delle voci, chi e come le gestiscono ed ne sono uscito abbastanza allibito.

Tutto inizia con la richiesta di un utente/admin (non so bene che ruolo avesse), che richiede la cancellazione della voce dedicata a CAINE, perchè secondo lui è una distro "semi-amatoriale sconosciuta e con poche rilevanze su Google" e prontamente un admin la mette in "cancellazione semplificata", se entro 7 gg nessuno si oppone, la voce va cancellata.

E così successe! In seguito me ne sono accorto ed ho scritto e brigato al fine di riproporre la voce CAINE su Wikipedia, visto che era lì dal 2008, era stata modificata innumerevoli volte e nessuno aveva mai fiatato, oltre che CAINE dal 2008 ad oggi ne ha fatta di strada....

Ma riflettiamo anche sulla segnalazione dell'utente: " "semi-amatoriale sconosciuta e con poche rilevanze su Google" - questo già denota la superficialità di chi segnala, non è stato in grado di cercare su Google, caine+linux (senza virgolette), non ha cercato e non si è informato, idem per l'admin che ha provveduto alla cancellazione, inoltre un utente anonimo si era opposto, ma in quanto anonimo non aveva valenza.

Insomma, si riapre la discussione sulla voce, sparo tutte le mie cartucce, cerco di far capire che cos'è CAINE, che importanza ha nel panorma della computer forensics (informatica forense) internazionale, metto bibliografia internazionale, links a siti di riviste italiane ed estere, ecc. ecc.
Cosa succede?
Una serie di obiezioni senza logica, competenza, approfondimento, niente, solo piccole frasi sparate lì, tipo:
"io non l'ho mai sentita, quindi da cancellare" - Ah bhè se non l'ha mai sentita uno che magari si occupa delle Telenovelas brasiliane....
"non ci sono fonti per dimostrare l'enciclopedicità" - e quelle che ho inserito? Ed i libri? E le centinaia di migliaia di voci su Google?
"Distrowatch non la segnala tra le prime 100" - Ma LOL : - D Caine è tra le prime 200 distro su Distrowatch e quando viene rilasciata la new release sale nei primi 20, come tutte le classifiche del mondo, dai dischi ai film.

Poi, visto che ho "leggermente intuito" che su Wikipedia Italia, non c'è nessuno che abbia mai sentito nominare nemmeno lontanamente l'informatica forense, ho lanciato un appello a tutti quelli che non volessero che la voce CAINE fosse eliminata dall'enciclopedia online, che, a detta di uno di questi "utenti/admin", non è molto ferrata sui temi informatici.....ORRORE! Siamo in Italia il Paese do' sole, a'pizza e u'mandolino, e l'enciclopedia informatica per eccellenza è gestita da tutti umanisti....RIDICOLO!!!
Ma questo non è fonte di autocritica, anzi peggio...non sanno una mazza di un argomento e si ergono a censori, solo perchè LORO non hanno mai sentito parlare di CAINE, ma pensa un po' che metrica scientifica!!!
Bene, il fatto che qualche estimatore di Caine è intervenuto nella discussione ha scatenato l'inferno, ci hanno accusato di essere la stessa persona con nickname diversi, indovinate con quale mezzo tecnologico futuristico? Lo stesso indirizzo IP, che ci geolocalizzava nella stessa città (sbagliata tra l'altro) ma STRALOL E ROTFL : - D, che poi non era possibile, visto che avevamo solo in comune lo stesso gestore ADSL, quindi tutti quelli che usano quel gestore a Bari, sono a casa mia, ho una casa grandisssima!!!

Poi è vietato il "meatpupping", ossia invitare qualcuno a sostenere la propria tesi in una discussione, ma se non c'è nessuno che ne capisce posso far testimoniare qualcuno competente? Alla faccia dell'enciclopedia collaborativa!!!

Insomma, morale della favola, non so se è così per Wikipedia English ma so che Wikipedia Italia è gestita malissimo a mio parere, gente incompetente in una materia che si batte per la cancellazione di voci di cui non ha contezza alcuna, non c'è volontà d'approfondimento, non ci si confronta sul merito, ma si sparano sentenze lapidarie, senza nemmeno SFORZARSI di controllare ciò che si afferma, se si parla di una voce innovativa, si pretende che l'inventore debba fornire fonti esterne per scrivere anche la propria storia, cioè il padre di una cosa non può scriverlo perchè è lui stesso che lo scrive, ma va? E se non è l'autore stesso a raccontare come è nato un progetto, chi lo deve fare?

Concludo facendo una riflessione, se mi fossi chiamato John Smith forse ero più credibile per gli "umanisti" che gestiscono Wikipedia Italia? Appena abbiamo qualcosa d'italiano che ha un minimo di successo al mondo invece di supportarlo lo dobbiamo affossare, perchè italiano e quindi "chissà che gran cazzata sarà"?

Giusto per far capire, a chi leggerà questo post, se Caine non è encilopedico e se la bibliografia è scarsa o poco autorevole, vi linko la mia SandBox, ditemi voi se è una distro conosciuta solo da 4 gatti e qualora lo fosse, come mai è presente in ben 5 LIBRI di cui 4 stranieri, molte riviste internazionali, blog, forum ed è tra i moduli formativi di una ceritficazione internazionale? Come mai? Tutti amici miei?
http://it.wikipedia.org/wiki/Utente:NanniB/Sandbox

Invito Wikipedia Italia a costituire dei pool specializzati per ogni singola disciplina e non che chi si occupa di poesia parli sull'informatica e viceversa.
Qui la DISCUSSIONE

giovedì 3 gennaio 2013

Corso Digital Forensics Online - E-Learning

Salve a tutti,
la UgoLopez.it ha organizzato un corso di digital forensics tutto in FAD (Formazione A Distanza) su una magnifica piattaforma di e-learning.
E' un bell'esperimento per vedere se c'è un appeal su questo tipo di offerta formativa, specialmente sulla computer forensics.

Il corso: modalità di svolgimento
Lo scopo del corso è quello di fornire delle solide fondamenta per intraprendere attività nel mondo dell'investigazione digitale, materia in continua trasformazione e divenire. Il corso è pensato quindi per professionisti del settore informatico interessati ad approfondire le proprie conoscenze sulle procedure teoriche e pratiche di Informatica Forense. Il corso si svolgerà in e-learning su piattaforma dedicata sincrona. L'interazione tra il docente e gli studenti sarà di tipo audio/video, con possibilità di condivisione del desktop e di controllo remoto e, per gli studenti, di rivolgere delle domande alla fine di ogni lezione. Una web-chat sarà inoltre disponibile per eventuali comunicazioni testuali. All'interno della piattaforma sarà disponibile il materiale didattico (lezioni, esercitazioni, etc.) e sarà possibile un confronto asincrono attraverso forum dedicato. I video delle lezioni, inoltre, saranno disponibili on-line a tutti gli iscritti immediatamente dopo le lezioni.
Pre-requisiti per la partecipazione:
Buona conoscenza del sistema operativo Windows, delle basi di Linux e dei concetti base sui File System
Maggiori info QUI