totally not spyware lol

matteyeux
3 min readSep 3, 2018

--

Ce matin, quelqu’un est tombé sur un site de type troll à propos d’un spyware de la NSA : https://totally-not.spyware.lol/

Le plus étonnant c’est que ce site web permet bel et bien de jailbreak un appareil iOS 64 bits sous iOS 10.x.

En regardant le code html de plus près on voit que ce site web appelle deux fichiers javascript : js/all.js et js/pwn.js

<script src="js/all.js"></script>
<script src="js/pwn.js"></script>

Le premier fichier servirait (au conditionnel car je suis pas sûr à 100%) à faire du ROP pour permettre de charger un Mach-O et exécuter du code sur un appareil en sortant du contexte du navigateur web Safari.

Le second fichier, pwn.js exploite une faille de sécurité (CVE-2018–4233) découverte par Samuel Groß lors du concours Pwn2Own. Cette faille a ensuite été reportée à Apple par intermédiaire de la ZDI.
L’exploit a été développé par Niklas B et publié sur Github. Celui-ci permet exécuter du code depuis du contenu Web.

Pour une analyse plus poussée allez voir le write-up de kudima.

Dans le fichier pwn.js, la fonction go va ensuite charger le fichier nommé “payload”.

Ce fichier est en fait un exécutable Mach-O arm 64 bits, qui correspond au format pour appareils iOS.

$ file payload 
payload: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|BINDS_TO_WEAK|PIE>

Cette charge utile correspond en fait à l’exploit local qui est utilisé pour prendre le contrôle total de l’appareil à l’aide d’une sandbox escape, d’une elevation de privilèges et de l’accès au task_port du kernel (PID 0).

Et comme on peut le voir ci-dessous, le payload embarque l’exploit v0rtex utilisé dans différents jailbreaks pour Apple Watch, Apple TV et iPhone.

Sous certaines conditions il est aussi possible de choisir le type de méthode pour jailbreak son iPhone avec ou sans contournement KPP.

En fonction de votre choix, le payload téléchargera l’archive bootstrap.tar contenant toutes les ressources post-exploit permettant d’obtenir un jailbreak complet.

Cet site web n’a en soit rien de dangereux, c’est uniquement un remote jailbreak comme le récent jailbreak.me de tihmstar.

Le fait est qu’il est fort possible de tourner ce type de site web/payload en outil d’attaque ciblant les appareils non mis à jour. En effet cette faille a seulement été corrigée en 11.4, on peut donc adapter le code de l’exploit pour iOS 11.3.1.

De plus les méthodes post-exploitation comme le bypass de KPP/KTRR ne sont pas nécessaires pour la mise en place d’outils d’espionnage iOS. Il est donc encore plus facile de développer un spyware.

Comment faire pour se protéger ? Mettez à jour vos appareils.

~matteyeux

--

--