SecurityInsider
Le blog des experts sécurité Wavestone

L'attaque sur Hacking Team permet la diffusion de nouveaux malwares



Hacking Team utilisait des programmes malveillants pour ses propres besoins

La société italienne Hacking Team fournit des services d’espionnage ou de surveillance des internautes. Cette entreprise a récemment été victime d’une attaque informatique. Au total, 400 Go de données internes à l’entreprise ont été diffusées sur Internet [1]. Des informations relatives à l’administration interne, des échanges de mails, et des logiciels malveillants développés par la société ont ainsi été diffusés. Dans ces documents, on y apprend notamment que les clients de l’entreprise Hacking Team sont principalement des états, par exemple le Chili, l’Éthiopie, ou le Soudan [2]. La France a également pris contact avec cette société via le ministère de la Défense.

Hacking Team met notamment à disposition de ses clients des logiciels permettant d’intercepter les communications depuis n’importe quel équipement (ordiphone Android, tablette ou PC Windows…), en contournant les mécanismes de chiffrement le cas échéant, d’après la documentation commerciale de l’outil Remote Control System Galileo [3].

Afin de pouvoir réaliser de telles écoutes, l’entreprise a dû recourir à l’exploitation de vulnérabilités. Les documents révélés mettent en lumière l’utilisation de logiciels malveillants permettant d’élever ses privilèges sur une machine Windows ou de compromettre un poste de travail grâce aux greffons Flash sur un navigateur.

Un buffer overflow dans un driver de gestion des polices de caractères permet une élévation de privilèges sur Windows

Un premier exploit découvert et diffusé sur la toile permet à un utilisateur d’une machine Windows de devenir administrateur local, sans que ces privilèges lui soient initialement fournis.
Des preuves de concept du programme sont présentées sur [4] (vidéo) et [5] :


Ici, un utilisateur lance le programme et, sans faire intervenir l’UAC, dispose des privilèges système, tel que l’indique les retours des commandes whoami.
La vulnérabilité permettant cet exploit se base sur les pilotes de gestion des polices de caractères (open font type manager module), plus particulièrement la bibliothèque ATMFD.dll, fournie par Adobe. Cette librairie est exécutée au niveau noyau, et permet d’outrepasser les mécanismes de bac à sable.
TrendLabs a publié une analyse du malware [6], dont les éléments principaux sont repris ici. Tout d’abord, rappelons les principaux types de dépassements de tampons pouvant intervenir lors de la manipulation des entiers [7] :
  • Erreur d’interprétation entre entiers signés et non signés : un entier signé négatif correspond à un entier non signé très grand (de 0x8… à 0xF… en fonction du nombre d’octets utilisés pour représenter les entiers) ;
  • Troncation d’entiers : un entier est assigné à une autre variable, cette dernière utilisant un système de représentation comprenant moins de bits ;
  • Extension de signe : un entier signé dans un système de représentation comprenant peu de bits est transformé en un entier utilisant un système de représentation comprenant un plus grand nombre de bits. Selon que le résultat est ensuite interprété comme signé ou non, des erreurs peuvent survenir.
Sur la version simplifiée du code proposée par Trend Labs, on constate qu’un entier de type short est assigné dans un entier de type int. On s’attend donc à retrouver ce troisième type d’erreur sur les entiers.


Code simplifié de la faille permettant l’élévation de privilèges sur Windows

Les types int et short sont tous deux signés. Ainsi, si i est compris entre 0x8000 et 0xFFFF dans sa représentation hexadécimale (ie compris entre -32768 et -1), alors index aura également une valeur négative (entre 0xFFFF8000 et 0xFFFFFFFF). La comparaison d’un entier négatif avec font_buffer_length sera donc vraie. Ensuite, la valeur paramètre value est maitrisé de l’attaquant, il pourra donc écrire une valeur arbitraire au-delà de buffer_base, réalisant alors une attaque de type buffer overflow.

La compromission d’une machine par un exploit 0day Flash s’intègre dans des toolkits d’exploits

Outre cette vulnérabilité permettant une élévation de privilèges sur Windows, deux vulnérabilités Affectant Flash ont également été publiées. L’une d’elles (CVE-2015-0349) dispose d’un patch, un correctif et un numéro de CVE sont attendus pour la seconde.
À nouveau, Trend Labs analyse cette seconde vulnérabilité [8], notamment sur la base du fichier README produit par Hacking Team [9]. L’origine de la vulnérabilité provient d’un problème de gestion de la mémoire : des ressources continuent à être adressées après avoir été libérées (use-after-free).


Fichier README produit par Hacker Team sur faille Flash

La preuve de concept fournie par Hacker Team vise à ouvrir l’utilitaire « calculatrice » depuis le navigateur web. Les versions affectées sont les versions Adobe Flash Player ultérieures à 9.
Suite à la publication de cette faille, les toolkits d’exploitation tels que Angler ou Nuclear ont rapidement été mis à jour prendre en compte ces nouveaux malwares [10]. L’exploitation de ces failles est également constatée. La mise à jour ou la désinstallation du composant Flash sont donc recommandées.
Cependant, si les pirates exploitent rapidement les failles mises en avant lors de la publication des données de Hacker Team, la réaction n’a pas tardé également chez les éditeurs de solutions de sécurité ou par la communauté [11] pour détecter ces programmes.

Sources :

Damien GODARD

Aucun commentaire:

Enregistrer un commentaire