android forensics
TRANSCRIPT
Mobile Forensics Android Forensics
Google I/O 28-29 Maggio, Camerino
Relatore
Alessandro Di Carlo
About me
• IT Security• Digital/Computer Forensics
• Penetration Testing
Cos’è la Digital Forensics?
"Non c'è alcun ramo delle scienze investigative così poco praticato, eppure tanto importante, qual è l'arte d'interpretare le orme"
(Sherlock Holmes)
La Computer Forensics, o informatica forense, è la disciplina che si occupa dell’identificazione, della conservazione, dell’analisi e della documentazione dei reperti informatici al fine di presentare prove digitali valide in procedure civili e penali.
Campi di azione della Digital Forensics
• Computer Forensics• Network Forensics
• Data Analysis Forensics• Database Forensics• Mobile Forensics
• Steganography
Agenda
Cosa tratteremo oggi:
1. Introduzione e breve storia di Android
2. Tecniche di acquisizione logica e fisica
3. Bypassare il codice di protezione
4. Studio delle directory e del File System Android
Storia
Features
Da un punto di vista forense, sono molto importanti:
• GSM/CDMA/LTE • WiMax
• Bluetooth• WiFi• GPS
• Google Play Store• Memoria Flash (NAND)
• Memorie esterne (microSD)
Linux vs Android
Comandi Shell Linux Comandi Shell Android
man man
help help
cd cd
mkdir mkdir
mount mount
rmdir/rm -rf rmdir/rm -rf
nano nano
ls ls
tree tree
cat cat
dd dd
find find
chmod chmod
grep grep
Architettura
Prevenzione di alterazioni
• Isolare il dispositivo A. Impostare l’ Air Mode (anche a telefono bloccato)B. Gabbia di FaradayC. Rimozione della SIM
• Se il telefono è rinvenuto acceso e non bloccato , bisogna prevenire il blocco (es. aumentando il delay del display)
• Verificare con attenzione la presenza del PIN (se c’è non toglierlo)
• Attivare l’ USB Debug
Attenzione allo spegnimento!!
• E’ possibile farlo anche a telefono bloccato
• E’ presente un PIN al riavvio?
• Perdita totale dei dati caricati in RAM (volatili)
Metodi di acquisizione
Acquisizione
Fisica (dump dell’intera memoria NAND)
Logica (acquisizione del File System
o parte di esso)
ADB (Android Debug Bridge) con privilegi di root
ADB è un coltellino svizzero per gli investigatori forensi!
• Utilizzabile se è stata attivata la modalità “USB Debug” sul telefono
- adb shell forward - adb push di tool e agent (compresi quelli di
unlock)- adb shell su- adb backup -apk-all -f nomebackup.ad
Esempi di shell adb
ADB (Android Debug Bridge) senza privilegi di root
• Utilizzabile se è stata attivata la modalità “USB Debug” sul telefono
- AntiGuard (applicazione OpenSource)
• Si prova una privilege escalation a root :- privilegi temporanei (exploit, fino al reboot);- AFLogical App
• Recovery mode :
- root mediande flashing di custom recovery partition
Cosa si ottiene da adb?
1. SMS2. Contatti
3. Call History4. Eventi
5. Calendari6. etc…
USB Debug non attivo
E se l’USB Debug non è attivo?!?!
USB Debug non attivo
E se l’USB Debug non è attivo?!?!
Fastboot
• Quando il device è in bootloader mode , si può sfruttare il protocollo fastboot
• Il bootloader è protetto? : - SI = S-ON quindi protezione attiva, protocollo
inibito - NO = S-OFF quindi protezione inibita , protocollo
attivo
• Exploit per ottenere l’ S-OFF
Break the passcode
Ci sono varie tecniche per craccare un passcode!
• Prima però , dobbiamo individuare di quale tipologia è
Smudge Attack
Pattern Lock attack
• Il pattern creato con il codice di sblocco salva un file in /data/system/gesture.key
La chiave può essere decriptata, alcuni siti permettono di farlo:
Cracking Pin
Quando viene usata una password oppure un pin , viene salvata la relativa chiave in /data/system/passwords.key
Non facile da decriptare, dipende dalla robustezza della password!!
Brute Force Dictionary Attack
Directory File System
Directory SD Card
Directory SD Card
SQLite3
SQLite 3 è il database di riferimento nei terminali Android.
Vediamone alcuni comandi :
Comando Descrizione Sqlite3 <nomedb>
Carica un database
.tables mostra le tabelle
Select * from <table>
mostra l’attributo della tabella
.dump dump del db
SQLite3
Domande?
Contatti
• Email: [email protected]
• Facebook : Alessandro Di Carlo —> https://www.facebook.com/dikkemberg
• Twitter : @Dikkemberg —> https://twitter.com/Dikkemberg
• Linkedin : Alessandro Di Carlo —>https://it.linkedin.com/in/alessandrodicarlo92
Sito internet: www.alessandrodicarlo.com
Blog: blog.alessandrodicarlo.com
Grazie per l’attenzione!