En travaillant sur une bidouille pour le blog, je suis tombé sur une faille dans iOS qui permet d’attaquer le code utilisé pour les restrictions en force brute, malgré les protections d’Apple. Explications.
Note : iOS 7 corrige le problème, la manipulation ne fonctionne plus.
Il y a quelques jours, je suis tombé sur un post expliquant comment attaquer en force brute le code EFI des Mac, en utilisant une carte Teensy 3.0 qui émule un clavier. J’ai trouvé l’idée intéressante, j’ai commandé une carte et j’ai voulu tester sur un appareil iOS.
Une fois la carte reçue et après quelques ajustements (les claviers américains ne sont pas les mêmes que les claviers français), j’ai commencé à tester avec un iPad, en branchant le Teensy via le Camera Kit pour iPad (30 €). En effet, sur iPad (pas sur iPhone), il est possible de brancher un clavier filaire sur l’iPad.
J’ai d’abord testé sur le mot de passe de l’écran d’accueil, mais ça ne fonctionne pas réellement : après quelques essais, l’iPad est bloqué pendant 1 minute, puis 5 minutes, etc. Impossible de tester les 10 000 possibilités en force brute, donc.
Puis j’ai décidé de tester sur une autre section d’iOS : les restrictions, qui permettent par exemple de bloquer l’App Store, la caméra, etc.. Et là, j’ai trouvé une faille : quand on tape plusieurs fois un mauvais code, le clavier virtuel est bloqué pendant 1 minute, 5 minutes, 15 minutes puis 60 minutes après chaque mauvais essai. Mais si jamais on utilise un clavier physique, il est toujours possible de tenter un code. Ça fonctionne avec mon Teensy 3.0 qui émule un clavier USB mais aussi avec un clavier classique ou même un clavier Bluetooth.
Il est donc parfaitement possible de programmer une attaque par force brute pour désactiver les restrictions. Dans mon exemple, le système tape un code automatiquement toutes les 3 secondes, ce qui fait qu’il faut dans le pire des cas un peu plus de 8 heures pour trouver le code utilisé sur les restrictions. Attention, il faut entrer deux fois le code pour désactiver réellement les restrictions : une fois pour entrer dans le menu et une seconde fois pour désactiver réellement les restrictions.
La vidéo montre bien le problème : j’ai rentré un code simple (0015) et il suffit de laisser l’appareil tourner pour qu’il teste toutes les possibilités et trouve le code.
J’ai bien évidemment fait un rapport de bug chez Apple et je ne fournis pas le code utilisé tant que la faille n’est pas corrigée.
Fournir le code? C’est élémentaire à partir du moment où un embarqué émule un clavier (HID keyboard), il suffit de simuler l’appui de touches + enter.
on commence par 0000 + enter pour finir à 9999 + enter.
Y a ps de quoi fouetter un chat.
Mais bravo pour la découverte de la faille.
C’est pas totalement trivial, en fait, y a pas besoin de enter, faut adapter le clavier et faut bien gérer la temporisation, notamment, sinon ça ne passe pas (ou mal)
bonjour,
j’aimeré avoir plus d’info sur la manipulation de casser le mot de passe de restriction
pouvez vous m’aider
g pas bien saisir certain mot
g pas de carte teen que vous dites
il y a til un autre moyen ?
merci
Y a pas d’autres moyens, et ça ne fonctionne pas sous iOS 7
bonjour
a quoi sa sert de nous montrer ce que tu as utilise comme matos pour le cracker pour a la fin tu nous dit ,,,,J’ai bien évidemment fait un rapport de bug ….ca na pas de sens ….desole
dans tt les cas je te te felecite ,,,et bonne continuation et autre chose ,,,, on peut passer l’attente d’une minute en verouillant liphone ou lipad…
bon courage
Montrer que ça marche, sans le code (Apple l’a eu, et ça a été corrigé).
Ton code c’est de la merde, quand il trouve le pass il disparait a quoi bon, si on est pas devant le pc ?
meme un gosse de 8 ans aurai rajouter une simple message box avec le pass afficher
aller salut il est 3h05 v bientot cracker mon ipod lol
J’adore me faire insulter. Vraiment. (y a pas de quoi afficher de message avec le Teensy…)
Salut
Je voudre avoir ce teensy3 pour retrouver le code de restriction de mon iPad
Merci
Ce ne fonctionne plus depuis des années