#LINUX DAY NAPOLI 2011
Digital Forensics
metodologie di analisi multipiattaforma
A CURA DI MARCO FERRIGNO
- Security & system independent researcher - Developer of the Italian Debian GNU/Linux HOWTOs gplus.to/marko.ferrigno
#all_contacts
Digital Forensics - intro
PROPEDEUTICITA':
NOZIONI BASILARI SULL'UTILIZZO DEI SISTEMI OPERATIVI,
NOZIONI BASILARI SUI FILE SYSTEM,
[CNMNS] AVER SEGUITO L'INTERVENTO DELLO SCORSO ANNO ^_^
COSA IMPAREREMO DA QUESTO TALK:
ALLESTIMENTO DI UN LABORATORIO DI ANALISI,
METODOLOGIE DI ANALISI SU SISTEMI WINDOWS,
METODOLOGIE DI ANALISI SU SISTEM MAC OS X,
METODOLOGIE DI ANALISI SU GNU/LINUX,
SECURITY ALERTS.
RIASSUNTO DELLA PUNTATA PRECEDENTE ...
Digital forensics - back to future
ANALISI FORENSE – COS'E' REALMENTE
NORMATIVA RILEVANTE IN AMBITO GIURIDICO
LA DATA RETENTION
L'AQUISIZIONE DEL DATO
SOFTWARE OPEN SOURCE PER L'ACQUISIZIONE - CASI D'USO:
DD
DDRESCUE
DCFLDD
L'INTEGRITA' DEL DATO
HASHING
L' AFF (ADVANCED FORENSICS FORMAT)
L'ACQUISIZIONE DI DEVICE IN SISTEMI RAID
Digital forensics ­ back to future
UTILIZZO DI UN LIVE CD LINUX
DAFT, CAINE, HELIX – SPECIFICHE TECNICHE
L'ANALISI DEL DATO
I FILE CANCELLATI
SLEUTH KIT ( AUTOPSY)
AUTOPSY – CARATTERISTICHE
AUTOPSY – CASO D'USO
LA TIMELINE
LIMITI E OSTACOLI
CRITTOGRAFIA
STEGANOGRAFIA
DATA HIDING & VIRTUALIZZAZIONE
Digital forensics ­ back to future
CASI REALI
FURTO DI UN PORTATILE
INTERCETTAZIONE SU SKYPE
SPIONAGGIO INDUSTRIALE
CONCLUSIONI:
“ NON C'E' NULLA DI PEGGIO DEL NON
SAPERE CHE COSA HAI DAVANTI … “
TORNIAMO A NOI ...
Digital Forensics
laboratorio di analisi
PRIMO LIMITE: € ?
CALMA && SANGUE FREDDO: E' POSSIBILE ALLESTIRE UN LABORATORIO
ANCHE CON UN INVESTIMENTO MODESTO O ADDIRITTURA CON MATERIALE
DI SCARTO.
PREREQUISITO NECESSARIO: FANTASIA E SPIRITO DI INIZIATIVA
LE SOLUZIONI COMMERCIALI SONO AL DI FUORI DELL'ESSERE DEFINITE
FORENSICS IN BOX … BASTI PENSARE A COME IL SISTEMA OPERATIVO
DELLA MACCHINA DEBBA ESSERE MANTENUTO IL PIU' STABILE POSSIBILE
”IL SOFTWARE, IN GRAZIA DI DIO E' DETERMINISTICO E NON CAOTICO …
CON LA POSSIBILE ESCLUSIONE DI WINDOWS” (cit.)
Digital Forensics
laboratorio di analisi
PAROLE CHIAVE (NON SOLO PER UN FORENSICS EXPERT)
RIDONDANZA
VELOCITA'
LABORATORIO DI ANALISI - SCHEMA DI UTILIZZO A TRE LIVELLI:
SISTEMI DI ANALISI
APPLICATION SERVER
BACKUP SERVER
OPPURE ...
Digital Forensics
laboratorio di analisi
OPENAFS - DISTRIBUTED COMPUTING
UN PO' DI STORIA:
META' ANNI '80: NASCE NEI LABORATORI TRANSARC L'AFS
1994: TRANSARC E' ACQUISITA DA IBM
15 AGOSTO 2000: IBM RILASCIA L'INTERO PRODOTTO SOTTO LICENZA OPEN.
CARATTERISTICHE TECNICHE:
SISTEMA DI AUTENTICAZIONE BASATO SU KERBEROS / HEIMDAL / MIT
LOCATION INDIPENDENT
UNIFIED NAMED SPACE REALE
L'ALBERO DI RETE E' COMPOSTO DA VOLUMI ATOMICI
DATABASE SERVER (LOCALIZZAZIONE, GESTIONE, PERMESSI)
CACHE SERVER LATO CLIENT
RAPPORTO CLIENT/SERVER DI 114.000:1
Digital Forensics
laboratorio di analisi
OPENAFS - VANTAGGI:
PIÙ SERVER COME SE NE FOSSE UNO
REPLICAZIONE
SICUREZZA (ATTENZIONE ALL'ANTITESI FORENSE)
BACKUP NATIVO
GESTIONE DA QUALUNQUE NODO
(CON ACCOUNT KERBEROS E DIRITTI AMMINISTRATIVI … ovviamente!)
Digital Forensics
laboratorio di analisi
CARATTERISTICHE CONSIGLIATE:
MACCHINE DA ANALISI/AQUISIZIONE: CABINET DA SERVER PORTATILI
I/O: IL PROBLEMA DEL BUS DI INTERCONNESSIONE TRA PERIFERICHE (PCI)
→ PCI vs PCI-X vs PCI EXPRESS
REPARTO DISCHI EFFICIENTE E DI GRANDE CAPACITA'
SISTEMA RAID (GNU/LINUX E IL RAID SOFTWARE vs IL RAID HARDWARE)
CONNESSIONI DI RETE: INTERFACCE GIGABIT feat. TRUNK
→ CASO D'USO: DD + NETCAT
MACCHINE DA ANALISI/TEST FISSE: L'IMPATTO GPU
FILE/APPLICATION SERVER: root@host:/# modprobe paranoia
BACKUP: NATIVO FS, DISCO ESTERNO O NASTRO
MA SOPRATTUTTO ...
Digital Forensics
laboratorio di analisi
SISTEMA OPERATIVO: PERCHE' GNU/LINUX (IN MAGGIORANZA):
ARCHITETTURA UNIX-LIKE
AMPIO SUPPORTO DI FILE SYSTEM
KERNEL MONOLITICO MODULARE
AMPIA POSSIBILITA' DI PERSONALIZZAZIONE
OTTIMI TOOLS DI CORREDO
COSTI DI LICENZA CONTENUTI O INESISTENTI
SOFTWARE OPEN SOURCE vs CLOSED SOURCE:
...
Digital Forensics
metodologie di analisi
NON ESISTE UNA METODOLOGIA GENERALE DI INDAGINE FORENSE:
IL CAMPO E' PIONERISTICO
GIURISTI vs INFORMATICI
ACCADEMICI vs AUTODIDATTI
CAMPO D'AZIONE TROPPO VASTO: IL CONCETTO DI SQUADRA
IL TRATTAMENTO DELLA PROVA:
RIPETIBILITA' DEGLI ACCERTAMENTI E RIDONDANZA DELLA PROVA
DOCUMENTARE OGNI AZIONE FATTA SU DI ESSA
METTERE LA CONTROPARTE IN CONDIZIONE DI REPLICARE QUANTO FATTO
Digital Forensics
metodologie di analisi
IL METODO SCIENTIFICO DI GALILEO GALILEI:
OSSERVARE E DESCRIVERE UN DATO FENOMENO
FORMULARE UN'IPOTESI CHE LO POSSA SPIEGARE
PREVEDERE UNA O PIÙ CONSEGUENZE DIPENDENTI DA QUESTA IPOTESI
VERIFICARE IN MODO SPERIMENTALE LE CONSEGUENZE
CONFERMARE O CONFUTARE L'IPOTESI INIZIALE
TRADOTTO PER UN COMPUTER FORENSICS EXPERT:
CERCARE UN'EVIDENZA DIRETTA
CERCARE, IN SECONDA ANALISI, UN'EVIDENZA DA RICERCA PIÙ ESTESA
VERIFICARE LA PRESENZA DI PROGRAMMI P2P
EFFETTUARE UN'ANALISI DEI FILE CANCELLATI
VERIFICA DEI SUPPORTI COLLEGATI
ESAMINARE I FILE DI LOG/TEMP DI UN PROGRAMMA DI MASTERIZZAZIONE
CONTENUTI STEGANOGRAFATI
Digital Forensics
metodologie di analisi
OTTIMIZZARE I TEMPI:
PENSARE IN TERMINI DI 24H
DEMANDARE LE OPERAZIONI PIU' LUNGHE NEI WEEKEND
MINIMIZZARE I TRASFERIMENTI
PREDILIGERE TOOL A LINEA DI COMANDO
USARE SISTEMI DI CONTROLLO REMOTO
NON ESSERE LEGATI A UNO SPECIFICO AMBIENTE: L'ADATTABILITA'
→ ”IL CASO ENCASE”
”IL COMPUTER FORENSICS EXPERT DEVE VEDERE OGNI SOFTWARE COME UN
POSSIBILE STRUMENTO PER RIUSCIRE A TERMINARE IL PROPRIO LAVORO E
NON COME UN AMBIENTE INDISPENSABILE IN CUI OPERARE” (cit.)
Digital Forensics
metodologie di analisi
SVILUPPARE UN SOFTWARE SECONDO NECESSITA':
USARE LINGUAGGI CHE SIANO DISPONIBILI PER PIU' PIATTAFORME POSSIBILI
→ OK: PERL, PYTHON, RUBY ...
→ KO: VBS
SE SI PREFERISCE SVILUPPARE IN C/C++, LO SI FACCIA CON L'APPOGGIO DI
FRAMEWORK PER LA PORTABILITA'
GARANTIRE L'INALTERABILITA' DEI RISULTATI:
ALBERATURA DEI RISULTATI
CALCOLO RICORSIVO DEL VALORE DI HASH DI UN'ALBERATURA DI FILE
md5deep -r PROVA/ > hash-files-md5.txt
sha1deep -r PROVA/ > hash-files-sha1.txt
USO DELLA FIRMA DIGITALE
Digital Forensics
metodologie di analisi
”POCHE COSE SONO PIÙ DANNOSE DELLA SUPERBIA UMANA”
(INVOCANDO L'ARTICOLO 360 C.P.P.)
BISOGNA TENER SEMPRE PRESENTE SIA I PROPRI LIMITI SIA QUELLI DELLA
TECNOLOGIA (E DELLE PERSONE) CON LA QUALE(I) SI HA A CHE FARE …
CASI COMICI, LETTERATURA FORENSE SPICCIOLA:
UN MAGISTRATO HA PRETESO IL SEQUESTRO DI UNA SUN25000 …
CARABINIERI CHE DI UN COMPUTER SEQUESTRANO SOLO IL MONITOR … -_-''
UN AVVOCATO CHE VOLEVA UNA COPIA CONFORME DI HOTMAIL.COM
GENTE DI CUI SOPRA CHE PRETENDE LO SPEGNIMENTO DI UN SISTEMA
CRITICO ALL'INTERNO DI UN OSPEDALE AI FINI DI UN SEQUESTRO …
CASI SERI && REALI:
DISCO DANNEGGIATO → UTILIZZO DI DDRESCUE → HASHING NON CONFORME
OPERAZIONE NON RIPETIBILE: DUMP DELLA RAM
ACQUISIZIONE DI UN SISTEMA CHE NON PUÒ ESSERE SPENTO
Analisi di un sistema
Windows
”VIRUS, LIBRERIE DI SISTEMA CHE SI SOVRASCRIVONO SOTTO L'INFLUENZA DI
INFLUSSI ASTRALI … SE C'È UN MOTIVO PLAUSIBILE PER IL QUALE QUASI UN
MILIARDO DI PERSONE STANNO LAVORANDO CON QUESTO SISTEMA A ME
SFUGGE. IO CON UN COMPUTER CI DEBBO LAVORARE NON FARGLI DA BALIA ...”
VANTAGGI:
È BEN DOCUMENTATO
DIFFUSISSIMO
BEN SUPPORTATO
SVANTAGGI:
LOG-GA POCHISSIMO
INFORMAZIONI VITALI IN FORMATO BINARIO
PROFILAZIONE
VIRUS &CO
Analisi di un sistema
Windows
INIZIO DELL'ANALISI: IL PARTIZIONAMENTO
MBR - LDM - GPT
GPT/LDM
IL FILE DI SWAP: pagefile.sys
DUMP DELLA RAM (IN CASO DI SOSPENSIONE): hyberfil.sys
REGISTRY:
WINDOWS 95/98/98SE: User.dat, System.dat
(GLI UTENTI NON LOGGATI SONO IN ..\WINDOWS\PROFILE\NOMEUTENTE)
WINDOWS ME: Classes.dat
NT_FAMILY (NT/2000/2003/XP/VISTA/2008/SEV7N):
… \WINDOWS\SYSTEM32\CONFIG → Software, System, SAM, Security, Default
...\DOCUMENTS AND SETTINGS\NOMEUTENTE\NTuser.dat → H_Key_Current_User
THUMBS.DB:
CI PENSA VINETTO
Analisi di un sistema
Windows
CACHING DELLE PASSWORD:
DOGMA N°1 DELL'ANALISTA FORENSE: ”LE PASSWORD POSTE A PROTEZIONE
DI UN SISTEMA NON SONO UN OSTACOLO.”
POSSEDENDO I DIRITTI DI AMMINISTRATORE SULLA MACCHINA DI ANALISI,
QUESTI SARANNO IMPLICITAMENTE TRASFERITI NEL FILE SYSTEM DELLA
MACCHINA ANALIZZATA.
DAI TRISTEMENTE FAMOSI FILE *.pwl …
… ALL'ASSENZA OBBLIGATA DI UN DOMAIN CONTROLLER.
PROGRAMMI UTILI:
CAIN & ABEL
ROCKXP
PASSWORD REMINDER
… AH DIMENTICAVO, SIAMO AL GNU/LINUX DAY
PASSWORD UNMASK
→ POSSIEDE TUTTE LE FUNZIONI DEI SUOI PROGRAMMI CONCORRENTI CON IN
PIÙ:
KEY-LOGGER SPECIFICO PER EMAIL E FTP CLIENT
È DISPONIBILI IL SUO CODICE SORGENTE
Analisi di un sistema
Windows
WINDOWS LIVECD
DUE PROGETTI OPEN SOURCE:
BART PE
UBCD4WIN
PER OVVIE RAGIONI DI LICENZA ENTRAMBI I PROGETTI NON POSSONO
CONTENERE IL SISTEMA OPERATIVO. I PACCHETTI VANNO LANCIATI E
PREPARANO L'*.ISO DA MASTERIZZARE COMPLETA DI TUTTO IL NECESSARIO
ENTRAMBI I PROGETTI SI BASANO SU UNA STRUTTURA A PLUG-IN CHE PUÒ
ESSERE ESPANSA A PIACERE AGGIUNGENDO DRIVER E ULTERIORI
PROGRAMMI
PER LE SOLE FORZE DELL'ORDINE, MICROSOFT METTE A DISPOSIZIONE UN
LIVECD DI PROPRIA CREAZIONE: WINFE
LA COMUNITÀ OPEN SOURCE NON È RIMASTA A GUARDARE: È NATO WINFERNO
Analisi di un sistema
Windows
DATA HIDING:
SEBBENE IL SISTEMA NON ABBIA UN'INTERFACCIA CHE PERMETTA ALL'UTENTE
DI LAVORARE A BASSO LIVELLO, IL FILE SYSTEM NTFS OFFRE MOLTI SPUNTI A
CHI VOLESSE NASCONDERE DATI:
ALTERNATIVE DATA STREAM → NASCOSTI NEL MASTER FILE TABLE
BADBLOCK ($Badclus) → MARCARE COME ”BAD” SETTORI DEL DISCO
SPARSE ATTRIBUTE → IDEM COME SOPRA, MA RIFERITO AI SETTORI
BOOT SECTOR → SU 16 SETTORI ALLOCATI PER LA PARTIZIONE DI AVVIO,
NTFS NE USA MENO DI UNO
Analisi di un sistema
Mac OS X
”DESIGN MINIMALISTA, CASE IN ALLUMINIO, MELA ILLUMINATA, SISTEMA
OPERATIVO UNIX-BASED … IL SIGNORE SÌ CHE SE NE INTENDE … FORSE!”
PER UN ANALISTA FORENSE CHE NON ABBIA UN'ESPERIENZA SPECIFICA SU
QUESTA PIATTAFORMA, MAC RISULTA UN OSSO DURO
ASSIOMA FONDAMENTALE DELL'INFORMATICA:
”SE È UNIX E VUOI UNA CONFIGURAZIONE, VAI IN /etc”
TRADOTTO IN APPLE' LANGUAGE: NETINFO
ATTENZIONE ALLA CARTELLA machines (→ hosts) E AL RAMO /users (→ passwd)
DA NETINFO A OPENDIRECTORY (>10.5)
LE INFORMAZIONI SUGLI UTENTI SONO QUI:
/var/db/netinfo/local.nidb.migrated
E SONO CONVERTITE IN FORMATO BINARIO → MacKrack
OPPURE ...
Analisi di un sistema
Mac OS X
PER ESTRARRE LE PASSWORD DA UN DATABASE NETINFO DI UN MAC OS X
10.2
nidump passwd
… DI UN MAC OS X 10.3 E 10.4
Cercare il file con il nome corrispondente all'ID utente nella directory:
/var/db/shadow/hash
AVRÀ IL SEGUENTE FORMATO:
D47F3AF827A48F7DFA4F2C1F12D68CD608460EB13C5CA0C4CA9516712F7FED950
1424F955C11F92EFEF0B79D7FA3FB6BE56A9F99
… DI UN MAC OS X >= 10.5
dscl (per estrarre gli UID dei singoli account)
AVRÀ UN FORMATO INSCRIVIBILE NEL POCO SPAZIO CHE RESTA IN QUESTA
SLIDE, QUINDI VE LO SPIEGO COSÌ:
LA PASSWORD STANDARD È SALVATA DAL 169° CARATTERE ED È LUNGA 48
CARATTERI, È IN FORMATO SHA-1 ED È CODIFICATA CON UN SALTO DI 4 BYTE
POSTO IN TESTA
Analisi di un sistema
Mac OS X
PRIVACY & SECURITY:
MAC OS X UTILIZZA UN SISTEMA DI CRITTOGRAFIA FORTE (AES-128)
ALL'INTERNO DI TUTTO IL SISTEMA OPERATIVO. CIÒ SI TRADUCE IN UN
UTILIZZO DI QUEST'ULTIMA IN MANIERA MOLTO PIÙ PERVASIVA DI QUANTO NON
CI SI ASPETTEREBBE
FILEVAULT:
MEDIANTE POCHI PASSAGGI È POSSIBILE RENDERE MOLTE DELLE
INFORMAZIONI INACCESSIBILI (ANCHE I FILE DI SWAP) A CHIUNQUE, IVI
COMPRESO UN EVENTUALE COMPUTER FORENSICS EXPERT.
UN AIUTO PUÒ VENIRE DAGLI sparse.bundle NON CRITTOGRAFATI
(… E DA UNA PASSWORD DI LOGIN DEBOLE, OVVIAMENTE!)
Analisi di un sistema
Mac OS X
DATA HIDING:
ALL'INTERNO DEI PACCHETTI APPLICAZIONE: L'ALBERATURA È SCRIVIBILE,
QUINDI AL SUO INTERNO È POSSIBILE INSERIRE QUALUNQUE TIPO DI FILE (LE
DIMENSIONI AUMENTANO DI CONSEGUENZA)
INTERVENIRE SUI BAD BLOCK
RESOURCE FORK DEI FILE
Analisi di un sistema
GNU/Linux
L'ANALISI:
DISPONIAMO DI TONNELLATE DI INFORMAZIONI IN PIÙ RISPETTO AI SISTEMI
OPERATIVI VISTI PRECEDENTEMENTE
LIBERTÀ ”AMMINISTRATIVA”
I LOG:
SYSLOG SI BASA SU UN DEMONE CHIAMATO SYSLOGD, ESSO SI INCARICA DI
EFFETTUARE IL SERVIZIO DI DATA COLLECTING PER L'INTERO SISTEMA.
LE ENTRY SYSLOG SONO GESTITE TRAMITE DUE PARAMETRI: FACILITY E
SEVERITY (RFC 3164)
DI NORMA I FILE DI LOG SI TROVANO NELLA DIRECTORY /VAR/LOG.
IL PIÙ SIGNIFICATIVO TRA QUESTI È SICURAMENTE IL FILE ”MESSAGES” DOVE
SONO CONTENUTI LA MAGGIOR PARTE DEGLI EVENTI OCCORSI ALL'INTERNO
DELLA MACCHINA (ENTRY RELATIVE ALL'HARDWARE COLLEGATO E
SCOLLEGATO, FILE SYSTEM MONTATI E SMONTATI, EVENTI CRITICI …)
ATTENZIONE A wtmp
→ last wtmp
Analisi di un sistema
GNU/Linux
AUTENTICAZIONE:
/etc/passwd → ELENCO DEGLI UTENTI
/etc/shadow → ELENCO DELLE PASSWORD
LE DISTRIBUZIONI GNU/LINUX SI AVVALGONO DI UN SISTEMA DI
AUTENTICAZIONE NOTO COME PAM (PLUGGABLE AUTHENTICATION MODULE)
MEDIANTE LE PAM UN SISTEMA LINUX PUÒ VARIARE LA MANIERA IN CUI
L'UTENTE VIENE AUTENTICATO SENZA CHE LE APPLICAZIONI DEBBANO IN
ALCUN MODO ESSERE VARIATE
Analisi di un sistema
GNU/Linux
HOME DIRECTORY:
DATI DELL'UTENTE
SHELL HISTORY
CACHE
FILE CON CONFIGURAZIONE
VAR:
LOG DI SISTEMA
SPOOL DI STAMPA
MAIL IN TRANSITO
TABLESPACE DEGLI RDBM
CACHE DI SISTEMA
CONFIGURAZIONE DEI VARI TOOL
DATABASE DEI PACCHETTI INSTALLATI
FILE DI BIND
DATABASE DI LDAP
DATABASE DI SISTEMA AFS
DATABASE DI KERBEROS
CONDIVISIONE DATI:
NFS, SMB, CIFS, NCP, AFS, OPENAFS, CODA, LUSTRE, APPLE FILE SERVER ...
Analisi di un sistema
GNU/Linux
DATA HIDING:
L'UNICA LIMITAZIONE È LA FANTASIA!
FILE SYSTEM DENTRO UN FILE SYSTEM
UTILIZZO DELLA TRACCIA 0
FILE SYSTEM STEGANOGRAFICO
UTILIZZO DI UN SISTEMA RAID
Security Alerts
IL CASO STUXNET:
Stuxnet è il primo worm che spia e riprogramma macchine industriali. Infetta PC dotati di
sistema operativo Windows e software WinCC e PCS 7. Il virus si propaga tramite penna
USB o tramite rete, e si attiva alle semplice apertura in visione del dispositivo che lo
contiene. È stato scoperto nel giugno del 2010 da VirusBlokAda, una società di sicurezza
bielorussa.
Stuxnet è in grado di riprogrammare il controllore logico e di nascondere le modifiche
IL CASO POLITICO E LO SPIONAGGIO INDUSTRIALE
DUQU: STUXNET' RETURN:
JMINET7.SYS (DUQU) == MRXCLS.SYS (STUXNET)
Conclusioni
“ NON C'E' NULLA DI PEGGIO DEL NON
SAPERE CHE COSA HAI DAVANTI … “
… Repetita iuvant :)