Aller au contenu

Android introduction forensics


karamelos

Recommended Posts

1351797711.png

A nos petit jouet numérique nous les aimons.

Mais cela peut vite tourner au vinaigre, les scénarios catastrophe ne manquent pas, (mode:parano) dans le cas d'une perte, d'un vol, en le laissant sans surveillance ou simplement curieux de savoir ce que votre téléphone sait de vous!!!!

Dans les téléphones d'aujourd'hui on stock pas mal de données, par exemple les contacts, photos, compte divers (google, fdb, dropbox .....), accès wifi ....

Cette article parle d'Android mais IOS n'est pas MIEUX roll.png sauf que les chemins seront différents un indice: /private/var/mobile/Library.

Pour aller plus loin dans l'analyse (ici c'est une approche TRÈS simple) vous aurez besoin d'un environnement fait pour, quelques logiciels ou systèmes d'exploitations sont à votre disposition

ici.

Les pré-requis:

  1. Un téléphone rooter
  2. Adb fonctionnel
  3. Accès root pour adb (optionnel)
  4. Un ordinateur ou vm sous linux (windows peut faire l'affaire)

Option tool (dédicace au allergique du shell) : addons.mozilla sqlite-manager / sqliteman / nandroid backup

Plusieurs options pour extraire des données d'un téléphone android:

  • via adb
  • via nandroid backup (très simple voir fin d'article)
  • via un logiciel spécialisé ou un environnement conçu pour (lien)

Consciencieux vous avez mis en place un déblocage par schéma ou mots de passe.Une simple recherche sur google contournera le problème (ça commence bien).

Recherche via dumpsys:

La commande dumpsys permet d'avoir quelques infos déjà:

Exemple:

$adb shell dumpsys | grep DUMP

cette commande listera les options.

Par exemple le numéro imei:

$adb shell dumpsys iphonesubinfo

Phone Subscriber Info:
Phone Type = GSM
Device ID = 465283904042190

Pour la liste des comptes:

$adb -d shell dumpsys account | awk 'BEGIN{FS="[{}]"}{print $2}'

name=xyzzzzz@gmail.com, type=com.google
type=com.android.exchange
type=com.android.email
type=com.google

La methode 'douce':

$adb shell dumpsys >dump.txt

Dans dump.txt on trouvera tout un tas de chose, normal le fichier fera environ 13000 lignes dedans SSID, BSSID, MAC, gmail, permission et j'en passe.

Les applications:

Les applications stockent des informations dans /data/data/*/databases/*.db (exception: data/system/users/0/accounts.db)

Les .db "intéressants" dépendent surtout de l’environnement utilisateur.

Personnellement je n'est pas d'application dite 'sociale' d'installer sur mon téléphone (trop intrusive à mon goût), une appli twitter ou facedebouc doit stocker un paquet d'info (historique, pièces jointes .....).

Donc en vrac quelques fichiers intéressants ce trouvant sur mon téléphone (à adapter):

  • data/data/com.android.browser/
  • data/data/com.android.email/
  • data/data/com.fsck.k9/
  • data/data/org.connectbot/
  • data/data/com.android.providers.contacts/
  • data/data/com.android.providers.telephony/
  • data/misc/ *bluetooth *wifi
  • .........etc

Pour rechercher les .db / Mode manuel :

$adb shell "su -c 'find data -name "*.db" -print'"

Dans cette liste on trouvera comme info:

Historique web, géolocalisation, mots de passe divers , sms/mms, contacts etc ........

Quelques exemples:

Extraire par exemple le .db de l'appli "email" d'android (pas gmail):

[i]data/data/com.android.email/databases/EmailProvider.db[/i]

Méthode: je copie sur la carte sd (dans le dossier: Database/) puis de la carte sd sur le pc (/data est root donc pull ne fonctionne pas, un chmod peu résoudre le problème mais c'est pas conseiller. Voir

méthode nandroid backup fin d'article plus radical et très rapide )

$adb shell "su -c 'cp data/data/com.android.email/databases/EmailProvider.db /extSdCard/Database/'"

Je l'extrait sur mon pc:

$adb pull /extSdCard/Database/EmailProvider.db

Bon il y a quoi dedans:

Sqlite3 doit être installer sur le pc (apt-get intall sqlite3):

----les commandes disponible: http://www.sqlite.org/sqlite.html

$sqlite3 EmailProvider.db

SQLite version 3.7.9 2011-11-01 00:52:41Enter ".help" for instructionsEnter SQL statements terminated with a ";"sqlite> .mode line
sqlite> select * from HostAuth;	 _id = 1 protocol = pop3 address = pop3.xzdre.fr	 port = 110	 flags = 4	 login = xyzzzz@xdre.fr password = ]]]password]]]]] domain = accountKey = 0 certAlias = 	 _id = 2 protocol = smtp address = smtp.xdre.fr	 port = 587	 flags = 4	 login =xyzzz@xzdre.fr password = ]]]password]]]]] domain = accountKey = 0 certAlias = sqlite> .quit

Autre exemple les sms/mms:

le fichier nous intéressant ce trouve dans:

data/data/com.android.providers.telephony/databases/mmssms.db

Ps:Adapter les commandes précédentes pour l'exportation.

Affichage de la table en une seule commandes:

$sqlite3 -header mmssms.db "select _id, thread_id, address, person, datetime(date/1000,'unixepoch','localtime') as date, protocol, read, status, type, reply_path_present, subject, body, service_center, locked from sms"

Il y aura aussi k9mail, dolphine-Browser, opéra

Le Wifi:

Les points d’accès wifi ne sont pas épargner.

Le fichier nous intéressant :

 /data/misc/wifi/wpa_supplicant.conf

La commande magique:

adb shell "su -c 'cat /data/misc/wifi/wpa_supplicant.conf'" | sed -n '/network/,/^ *$/p' 

Ici la commande retournera tous les points d’accès enregistrer sur votre appareil (les opportunités pour le vilain blackhat deviennent soudainement multiples).

En utilisant nandroid backup:

La méthode la plus simple restant de faire un nandroid backup.Il se présentera sous cette forme:

clockworkmod/backup/forensicbasiquetest$ tree -L 1
.
├── cache.ext4.tar
├── data.ext4.tar
├── efs.ext4.tar
├── nandroid.md5
└── system.ext4.tar

Le dossier intéressant: data.ext4.tar

Un outil sympa et ne nécessitant pas de redémarrage du telephone pour effectuer un backup:

[v6.13] Online Nandroid Backup / Nandroid Backup without re-booting

Conclusion:

Si vous perdez /vol votre téléphone vous êtes bon pour:

  • Changer la clé de votre (vos) point d’accès wifi, (à défaut vérifier les tables arp ou l'authenticité du PA). Dans certains cas ont peu remonter 'facilement' au coordonnée gps de votre point d’accès.
  • Dans le cas d'administration de serveur (ssh ou vnc avec une appli). En perdant votre téléphone vous êtes TRÈS MAL. Login ip port son stocker en clair (ex: appli Connectbot). Pas le mots de passe en clair mais presque. (pourvu que fail2ban soit bien configurer)
  • Attention au social engineering, maintenant votre téléphone vous a vendu. Cela sera simple de découvrir vos centres d’intérêts, vos habitudes, votre lieu de résidence, vos amies etc ..........

(Ce tuto fonctionne aussi dans le cas du vol, du copains sympa mais jaloux, du collègue sympa ou du barbu paranoïaque tongue.png , j'en passe et des meilleurs.

Suivant l'esprit malveillant il lui faudra peu de temps ,5 à 12 min peuvent suffire dans un scénario bien conçu.)

alors,

Chiffrer vos appareils!!!.

Ressources:

Mon site

Un très bon livre

Via forensics

Xda

Modifié par karamelos
  • Like 3
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...