22 novembre 2021

Une Zero-Day sur macOS utilisée contre des activistes de Hong Kong

Millions of Up-to-Date Apple Macs Remain Vulnerable to EFI Firmware Hacks

Des chercheurs du groupe d’analyse des menaces (TAG – Threat Analysis Group) de Google ont découverts un site ciblant des utilisateurs de Mac à Hong Kong en exploitant des vulnérabilités système de type « zero-day ». Les chercheurs affirment que les attaques seraient soutenus par un gouvernement.

Dans un rapport publié jeudi, TAG a révélé avoir découvert la campagne à la fin du mois d’août de cette année. Les pirates ont créé une attaque de type « watering hole« .

Le logiciel malveillant était dissimulé sur les sites Web légitimes d’un « organe de presse et d’un groupe politique pro-démocratie » à Hong Kong. Lorsque des utilisateurs  visitaient le site Web, leur Mac se faisait compromettre par un exploit de type « zero-day » associé à un deuxième exploit. Ce dernier utilisait des vulnérabilités afin d’installer une porte dérobée sur les ordinateurs des victimes.

Les chercheurs ont ainsi pu déclencher les exploits et les étudier en visitant les sites Web compromis. Les sites pouvaient apparemment exploiter à la fois iOS et macOS, mais les chercheurs n’ont pu récupérer la chaîne d’exploitation que pour ce dernier. Le responsable de TAG, Shane Huntley, a déclaré que l’exploit zero-day utilisé par cette campagne ressemble à un exploit découvert par le groupe de recherche en cybersécurité Pangu Lab.

Cette vulnérabilité a été présentée lors d’une conférence sécurité en Chine en avril, quelques mois avant que les pirates ne l’utilisent pour cibler des utilisateurs de Mac à Hong Kong. L’exploit fonctionnait toujours car il était présenté comme visant Big Sur, mais les chercheurs de Google ont découvert qu’il fonctionnait également sur macOS Catalina. La vulnérabilité n’étant pas corrigée sur Catalina, Google l’a classée comme un exploit de type « zero-day ».

En ce qui concerne l’identité des pirates, M. Huntley a déclaré : « Nous ne disposons pas de suffisamment de preuves techniques pour attribuer le problème, et nous ne spéculons pas à ce sujet. Cependant, la nature de l’activité et du ciblage est cohérente avec un acteur soutenu par un gouvernement. »

Apple a depuis corrigé la vulnérabilité zero-day de macOS dans une mise à jour publiée le 23 septembre (Security Update 2021-006 for macOS Catalina). Pangu Lab et Apple n’ont pas répondu à la demande de commentaire de Motherboard.

Détails sur la vulnérabilité

Le « watering hole » a servi une vulnérabilité d’escalade de privilèges XNU (CVE-2021-30869) non corrigée dans macOS Catalina, qui a conduit à l’installation d’une porte dérobée non signalée auparavant.

Les sites Web exploités pour les attaques contenaient deux iframes qui servaient des exploits à partir d’un serveur contrôlé par l’attaquant – l’un pour iOS et l’autre pour macOS.

Figure 1 : iframes dissimulés dans le code source du site web

Exploit iOS

La chaîne d’exploitation iOS utilise un cadre basé sur Ironsquirrel pour chiffrer les exploits transmis au navigateur de la victime. L’équipe TAG a réussi à retrouver une chaîne partielle où la CVE-2019-8506 a été utilisé pour obtenir une exécution de code dans Safari.

Exploit macOS

Les exploits macOS n’utilisent pas le même cadre que ceux d’iOS. La page d’accueil contenait une simple page HTML chargeant deux scripts, l’un pour Capstone.js et l’autre pour la chaîne d’exploitation.

Figure 2 : scripts JS chargés par le site web malveillant

Le paramètre rid est un compteur global qui enregistre le nombre de tentatives d’exploitation. Ce nombre était de l’ordre de 200 lorsque l’équipe a obtenu la chaîne d’exploitation.

La chaîne d’exploitation combine une RCE dans WebKit exploitant la CVE-2021-1789, une faille qui a été corrigé le 5 janvier 2021 avant la découverte de cette campagne et une escalade de privilèges locale 0-day dans XNU (CVE-2021-30869).

Exécution de code à distance (RCE)

En chargeant une page avec le RCE WebKit sur la dernière version de Safari (14.1), il a été découvert que cette RCE était un n-day car l’exploit n’a pas fonctionné sur les machines des chercheurs.

Évasion de la sandbox et escalade de privilèges locaux (LPE)

Une fois que la RCE WebKit a réussi, un binaire Mach-O intégré est chargé en mémoire, corrigé et exécuté. Après analyse, les chercheurs ont découvert que ce binaire contenait du code qui pouvait échapper à la sandbox de Safari, élever les privilèges et télécharger une deuxième étape depuis le C2.

Une fois toutes les chaînes décodées, le binaire a pu être analysé. Rien n’a été trouvé concernant la prochaine étape de l’exploitation. En revanche, deux arguments intéressants dans le code JavaScript ont été trouvées, qui étaient passés lors de l’exécution du binaire : l’URL de la charge utile et sa taille.

Après avoir téléchargé la charge utile, il supprime l’attribut de quarantaine du fichier pour contourner Gatekeeper. Il élève ensuite ses privilèges pour installer la charge utile. Plus de détails sur l’ingénierie inverse de l’exploit ici : https://blog.google/threat-analysis-group/analyzing-watering-hole-campaign-using-macos-exploits/

Références

https://www.schneier.com/blog/archives/2021/11/macos-zero-day-used-against-hong-kong-activists.html

https://blog.google/threat-analysis-group/analyzing-watering-hole-campaign-using-macos-exploits/

22 novembre 2021 CERT

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *