IPhone recupero file: un gioco di squadra!

iphoneUn giorno l’amico Armando Buzzanca mi chiama perchè deve recuperare una nota vocale (un file audio) di un suo amico, che l’ha cancellato per errore dal proprio IPhone.

La vedo difficile, anche perchè col mondo della Mela non ho molto a che fare, quindi si procede per tentativi, non essendo un’attivita forense ma di semplice recupero dati.

Noto subito che l’IPhone non dà accesso a tutti i dati per questo motivo ha bisogno di essere Jailbreccato, ossia una specie di sblocco che permetterà anche l’istallazione di un’APP chiamata Cydia tramite la quale si potranno scaricare diverse altre applicazioni utili per eseguire l’immagine di tutto l’IPhone su file.

Inizia il gioco di squadra

Telefono all’amico Nicola Troccoli, che mi suggerisce di collegarmi col Safari dell’IPhone al sito: http://www.jailbreakme.com , ma questo jailbreak non funziona sul firmware 4.01, quindi apro Facebook e chiedo aiuto, tra commenti e chat becco Antonio Di Giorgio che mi suggerisce Limera1n un altro Jailbreak, che questa volta funziona (mi suggeriscono anche GreenPois0n)! Intanto, fioccano i commenti ed i consigli di altri amici.

Riavviato l’IPhone, appare Cydia, dopo aver smanettato un pò, riesco a scaricare ed istallare Mobile Terminal e OpenSSH, a questo punto entra in ballo Linux!

Colleghiamo l’IPhone alla rete WIFi e poi loggandoci nel router vediamo quale indirizzo IP ha preso l’IPhone:

192.168.1.154

Lanciamo CAINE Live su una macchina ed istalliamo il server SSH:

sudo apt-get install ssh

poi:

sudo /etc/init.d/ssh start

per avviare il server SSH. (per approfondimento il libro di Denis).

A questo punto da Caine, montiamo un disco NTFS in scrittura e lanciamo la Terminal Window poi digitiamo:

sudo ssh 192.168.1.154

ci appare il prompt del terminale dell’IPhone, inseriamo le credenziali:

user: root
password: alpine

(sono quelle di default dell’IPhone)

poi digitiamo:

dd if=/dev/disk0 | ssh caine@192.168.1.233 dd of=/media/sda1/iphone/iphone.dd

dove 192.168.1.233 è l’IP di Caine collegato anch’esso in rete WiFi.

Adesso il sistema chiederà la password di Caine (dato che deve collegarsi al server SSH di Caine) e quindi digitiamo “caine“.

Il dd parte e comincia a scrivere i 16Gb del file immagine nella directory scelta.

Analisi

Adesso dobbiamo trovare il file della nota vocale, chiamo di nuovo Nicola e mi faccio spedire una nota vocale, il file è prova.m4a.

Apro prova.m4a con l’editor esadecimale e tiro fuori l’header:

00 00 00 1C 66 74  ed il footer 00 00 2C

Creo il file foremost.conf:

m4a y 8000000 x00x00x00x1Cx66x74 x00x00x2C

lancio da Caine:

foremost -c foremost.conf -i iphone.dd -o ./carv

parte il data carving… ed alla fine… non ricaviamo un ragno dal buco!

Adesso non so se è a causa del tipo di file particolare oppure per altri motivi, però provando a cercare JPG, AIFF, MOV il carving è andato a buon fine… quindi il tutto funziona, indagherò ulteriormente per capire come estrarre o montare quel tipo di file immagine.

Il tutto è stato fatto con strumenti gratuiti e manualmente, certamente se avessimo usato un UFED, magari avremmo avuto meno problemi ;)

Il gioco di squadra è stato fondamentale la RETE di aiuti e competenze che si attivano ed io son partito da zero….la stessa  sensazione di quando sviluppavo Caine, chat, email, telefono, sembra di essere in un mega team… REMOTO e tutto si velocizza e si impara.

In fondo, quelli che hanno inventato il calcolo distribuito l’avevano vista giusta… meglio tanti cervelli al lavoro su un problema in parallelo… e  senza bisogno di essere nella stessa stanza…!

Non so se questa mia soddisfazione sia giusta o sbagliata, so solo che oggi ho imparato tanto e forse da solo ci avrei messo di più o mi sarei annoiato nel farlo!

Continuiamo a confrontarci ed a scambiarci le conoscenze…si cresce!

Anzi confido nei commenti a questo articolo per continuare a suggerire come agire e migliorare alcuni passaggi di questa procedura. ;)

Adesso un pò di note

http://www.ispazio.net/guide-jailbreak-iphone-3g (vari JailBreak).

The whole shebang:

ssh user@iphone-ip dd if=/dev/rdisk0 bs=1M | dd of=iphone-dump.img

Just the system partition:

ssh user@iphone-ip dd if=/dev/rdisk0s1 bs=1M | dd of=iphone-root.img

Just the user data partition:

ssh user@iphone-ip dd if=/dev/rdisk0s2s1 bs=1M | dd of=iphone-user.img

Se avessimo voluto usare MS Windows al posto di Caine:

  • PuTTY come client SSH.
  • freeSSHd come server SSH – (create un utente Windows per usarlo come user non loggato in freeSSHd).

Su Rodolfo Giometti

Ingegnere informatico libero professionista ed esperto GNU/Linux offre supporto per: - device drivers; - sistemi embedded; - sviluppo applicazioni industriali per controllo automatico e monitoraggio remoto; - corsi di formazione dedicati. Manutentore del progetto LinuxPPS (il sottosistema Pulse Per Second di Linux) contribuisce attivamente allo sviluppo del kernel Linux con diverse patch riguardanti varie applicazioni del kernel e dispositivi (switch, fisici di rete, RTC, USB, I2C, network, ecc.). Nei 15+ anni di esperienza su Linux ha lavorato con le piattaforme x86, ARM, MIPS & PowerPC.

Lascia un commento

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi