Introduction
Comme nous l’avons vu dans la partie I, la découverte et l’exploitation de nouvelles vulnérabilités sont essentielles à l’efficacité des Exploit kits. Ainsi, un Exploit kit qui ne renouvelle pas sa base de données d’exploits ne sera pas efficace et perdra en popularité.
De nombreuses personnes recherchent les vulnérabilités dans les programmes et les moyen pour les exploiter, et cela pour différentes raisons. On peut notamment citer la renommée, l’éthique, et bien entendu le facteur financier.
Considérations légales et Bug Bounty
Il est important de préciser que rechercher des vulnérabilités dans un programme et publier des exploits pour celles-ci n’est en rien illégal (à moins que cela ne soit clairement défini dans l’EULA lié à celui-ci). Seul importe l’utilisation qui est fait de l’exploitation de la faille.
De nombreuses sociétés proposent maintenant des programmes de Bug Bounty. Ces programmes définissent un cadre de travail précis ainsi que les récompenses (argent, swag, reconnaissance de compétences, etc.) offertes aux chercheurs de vulnérabilités.
Pour les entreprises concernées, le grand avantage de tels programmes est double. Cela leur permet d’encourager les chercheurs à rapporter les vulnérabilités trouvées via le programme de Bug Bounty plutôt que de les rendre publique ou de les vendre à d’autres organismes mais également de réaliser des tests de vulnérabilités de leurs programmes à moindre frais.
Marché légal
Certaines entreprises se sont spécialisées dans l’achat et la vente d’exploits, proposant souvent des prix d’achats bien supérieurs à ceux des programmes de Bug Bounty.
On peut notamment citer ici le service« Absolute Zero-Day » opéré par Kevin Mitnick, qui met en relation les développeurs d’exploits et les acheteurs potentiels. Le service n’est intéressé que par les exploits présentant un score CVSS d’une valeur minimal de 8 et concernant les logiciels populaires (voir partie I).
Vendeurs et acheteurs doivent être qualifiés pour avoir accès au service. Pour ceci, des frais d’inscription élevés doivent être payés par les vendeurs et les acheteurs. Pour ces derniers, des investigations supplémentaires sont également réalisées. Selon Mitnick, un exploit est vendu au minimum au prix de 100’000 dollars et leurs clients incluent des gouvernements et d’importantes sociétés.
Un autre exemple est le service ZERODIUM, fondés par des experts en cyber-sécurité. La société achète des exploits pour les produits ci-dessous :
Contrairement au service « Absolute Zero-Day », les développeurs d’exploits n’ont pas besoin d’être qualifiés. En ce qui concerne leurs clients, ZERODIUM n’accepte que des entreprises majeures actives dans la Défense, la Finance, la Technologie ainsi que les agences gouvernementales.
Marché parallèle
Comme nous l’avons vu ci-dessus, il est très difficile, voire impossible, d’acheter des exploits à ces entreprises. C’est pourquoi des lieux de vente et d’échange alternatifs ont vu le jour.
La plupart du temps, il s’agit de forum privés ou semi-privés où il est possible pour n’importe qui, moyennant finances, d’acheter des exploits 0-day mais également des Exploit kit, des outils de hacking, etc.
Un exemple est le forum privé DarkLife. Pour y avoir accès, il est nécessaire d’être déjà connu ou de payer 100 dollars USD. Une fois connecté et vérifié, il est possible d’accéder aux différentes sections du forum :
Un autre exemple, sur le forum exploit.in, ou l’utilisateur BuggyCorp propose un exploit 0-day de type élévation de privilèges concernant toutes les versions de Windows pour 90’000 dollars.
Une vidéo montrant l’efficacité de l’exploit malgré la présence de l’outil EMET (voir partie I) est également présente.
Exemple de transaction
Nous étudieront ici une transaction réalisée entre le hacker russe Vitaliy Toropov et la société Hacking Team, spécialisée dans la vente de logiciels servant à l’espionnage et à la surveillance.
Le 13 octobre 2013, Vitaliy Toropov contacte la société et propose de lui vendre six exploits concernant Windows, Java, Flash Player et Safari, pour un prix de 30’000 à 45’000 dollars par exploit.
Hi, is your company interested in buying zero-day vulnerabilities with RCE exploits for the latest versions of Flash Player, Silverlight, Java, Safari?
All exploits allow to embed and remote execute custom payloads and demonstrate modern techniques for bypassing ASLR and DEP-like protections on Windows, OS X, and iOS without using of unreliable ROP and heap sprays.
La société n’est intéressée que par l’exploit concernant Flash Player. Le 25 octobre, un accord est passé entre Toropov et Hacking Team, dont les clauses sont les suivantes :
- Le prix est fixé à 45’000 dollars pour une vente non-exclusive et un rabais sur les prochains exploits
- Les sources de l’exploit sont envoyées, et trois jours de tests sont prévus
- Le paiement sera réalisé en trois parties : 20’000, 15’000 et 10’000 dollars
- Le paiement peut être interrompu si la vulnérabilité est corrigée par le vendeur
- Hacking Team s’engage à ne pas rapporter cette vulnérabilités au vendeur
Le 29 octobre, Hacking Team teste l’exploit et le 30 octobre, Toropov reçoit la première partie du paiement. Il est ensuite précisé que le rabais sera de 5’000 dollars pour le second exploit et de 10’000 dollars pour le troisième.
Au total, la société Hacking Team a acheté pour un montant minimum connu de 84’000 dollars d’exploits à Vitaliy Toropov.
Conclusion
Il est tout à fait légal de rechercher des vulnérabilités et des exploits pour celles-ci. Les sociétés éditrices de logiciels l’ont bien compris et proposent depuis quelques années des programmes de Bug Bounty. Toutefois, ces programmes ne peuvent rivaliser en termes financiers avec les sociétés et les plateformes spécialisées dans la revente d’exploits. Il n’est donc que peu probable de voir celles-ci disparaître à court ou moyen termes.
Comme nous avons pu le voir avec la transaction réalisée entre Vitaliy Toropov et la société Hacking Team, l’acquisition d’un exploit respecte des conditions strictes (engagement du client, test de l’exploit, mesures de garantie, etc.) même sur le marché parallèle, assurant à la fois les intérêts du développeur et du client.
Il est ainsi possible d’imaginer que certaines sociétés n’hésitent pas à réaliser des transactions de ce genre, pour des motifs plus ou moins louables.