#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 :)