**Lock Pattern Android / Schémas de verrouillage Android**
Le schémas de verrouillages Android fonctionne de la manière suivante :
Neuf pastilles sont disposées sous la forme d'une grille.
Au niveau logiciel, elles sont numérotées de 1 à 9
-------------------
| 1 | | 2 | | 3 |
-------------------
| 4 | | 5 | | 6 |
-------------------
| 7 | | 8 | | 9 |
-------------------
Android va stocker notre mot de passe de façon chiffré dans le fichier **/android/data/system/gesture.key**
Dans notre exemple notre code de verrouillage sera 1234.
Avant de chiffré notre code, Android va décrémenter le pattern(schémas) de 1.
1234 deviendra 0123
Celui-ci sera encodé en hexa et ensuite chiffré en sha1.
Ce qui nous donne :
SHA1("\x00\x01\x02\x03")
**Exploitation : **
En face du faible nombre de possibilités il est possible de se faire un tableau de correspondance entre le pattern et le hash sha1
__Première méthode : Générer une rainbow table" __
Il faut développer un script faisant la correspondance entre le pattern et le sha1 du pattern.
En attendant de proposer un script voici la Rainbow table complète : [[http://wikisecu.fr/tools/gesture.txt.gz | Gesture keys ]]
md5sum : d5a9204e9ac2aee5e1ddb883580c4e4a
Attention à ne pas oublier d’incrémenter tous les chiffres de 1 pour retrouver le code d'origine.
__Deuxième méthode : Bruteforce__
Le bruteforce dans ce cas est une solution envisageable du fait du faible nombre de combinaisons
Sur github un utilitaire à été développé pour cela : [[https://github.com/sch3m4/androidpatternlock | Crack Android lock pattern]]
Son utilisation :
python aplc.py gesture.key
################################
# Android Pattern Lock Cracker #
# v0.1 #
# ---------------------------- #
# Written by Chema Garcia #
# http://safetybits.net #
# chema@safetybits.net #
# @sch3m4 #
################################
[i] Taken from: http://forensics.spreitzenbarth.de/2012/02/28/cracking-the-pattern-lock-on-android/
[:D] The pattern has been FOUND!!! => 0123
[+] Gesture:
----- ----- -----
| 1 | | 2 | | 3 |
----- ----- -----
----- ----- -----
| 4 | | | | |
----- ----- -----
----- ----- -----
| | | | | |
----- ----- -----
Dans la première partie il vous retourne la clé si il l'a trouvée. (clé à incrémenter de 1 pour avoir la bonne valeur)
Dans la seconde partie il vous explique comment le dessiner au cas où vous n'ayez pas lu la première partie.