android forensics

31
Mobile Forensics Android Forensics Google I/O 28-29 Maggio, Camerino Relatore Alessandro Di Carlo

Upload: alessandro-di-carlo

Post on 10-Aug-2015

110 views

Category:

Mobile


1 download

TRANSCRIPT

Page 1: Android forensics

Mobile Forensics Android Forensics

Google I/O 28-29 Maggio, Camerino

Relatore

Alessandro Di Carlo

Page 2: Android forensics

About me

• IT Security• Digital/Computer Forensics

• Penetration Testing

Page 3: Android forensics

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.

Page 4: Android forensics

Campi di azione della Digital Forensics

• Computer Forensics• Network Forensics

• Data Analysis Forensics• Database Forensics• Mobile Forensics

• Steganography

Page 5: Android forensics

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

Page 6: Android forensics

Storia

Page 7: Android forensics

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)

Page 8: Android forensics

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

Page 9: Android forensics

Architettura

Page 10: Android forensics

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

Page 11: Android forensics

Attenzione allo spegnimento!!

• E’ possibile farlo anche a telefono bloccato

• E’ presente un PIN al riavvio?

• Perdita totale dei dati caricati in RAM (volatili)

Page 12: Android forensics

Metodi di acquisizione

Acquisizione

Fisica (dump dell’intera memoria NAND)

Logica (acquisizione del File System

o parte di esso)

Page 13: Android forensics

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

Page 14: Android forensics

Esempi di shell adb

Page 15: Android forensics

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

Page 16: Android forensics

Cosa si ottiene da adb?

1. SMS2. Contatti

3. Call History4. Eventi

5. Calendari6. etc…

Page 17: Android forensics

USB Debug non attivo

E se l’USB Debug non è attivo?!?!

Page 18: Android forensics

USB Debug non attivo

E se l’USB Debug non è attivo?!?!

Page 19: Android forensics

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

Page 20: Android forensics

Break the passcode

Ci sono varie tecniche per craccare un passcode!

• Prima però , dobbiamo individuare di quale tipologia è

Page 21: Android forensics

Smudge Attack

Page 22: Android forensics

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:

Page 23: Android forensics

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

Page 24: Android forensics

Directory File System

Page 25: Android forensics

Directory SD Card

Page 26: Android forensics

Directory SD Card

Page 27: Android forensics

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

Page 28: Android forensics

SQLite3

Page 29: Android forensics

Domande?

Page 30: Android forensics

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

Page 31: Android forensics

Grazie per l’attenzione!