Des échantillons du tristement célèbre outil de surveillance du Hacking Team, le Système de contrôle à distance (ou RCS, pour Remote Control System), qui n'avaient jamais été signalés auparavant, se trouvent à l'état sauvage et ont été détectés par les systèmes d’ESET dans quatorze pays.
Notre analyse des échantillons révèle des preuves suggérant que les développeurs de Hacking Team eux-mêmes poursuivent activement le développement de cet espiongiciel
De Hacking Team à Hacked Team en passant par...?
Depuis sa création en 2003, le fournisseur italien de logiciels espions Hacking Team a gagné en notoriété dans la vente d'outils de surveillance aux gouvernements et à leurs agences à travers le monde.
Les capacités de son produit phare, le RCS, comprennent l'extraction de fichiers à partir d'un appareil ciblé, l'interception de courriels et de messages instantanés, ainsi que l'activation à distance de la webcam et du microphone d'un appareil. L'entreprise a été critiquée pour avoir vendu ces fonctionnalités à des gouvernements autoritaires - une allégation qu'elle a constamment démentie.
L’organisation a connu un revirement de situation majeur en juillet 2015, alors que Hacking Team a été victime d'un piratage et que l'utilisation du RCS par les régimes oppressifs a été confirmée. Avec 400 Go de données internes - y compris la liste autrefois secrète des clients, les communications internes et le code source des logiciels espions - divulgués en ligne, la Hacking Team a été contrainte de demander à ses clients de suspendre toute utilisation de RCS, ce qui l’a laissée face à un avenir incertain.
Suite à ce piratage, la communauté de la sécurité a suivi de près les efforts de l'entreprise pour se remettre sur pied. Les premiers rapports suggérant la reprise des opérations de Hacking Team sont arrivés six mois plus tard – un nouvel échantillon d’un espiongiciel du Hacking Team visant Mac était apparemment dans la nature. Un an après la violation, un investissement d'une société nommée Tablem Limited a apporté des changements à la structure de l'actionnariat de Hacking Team, Tablem Limited prenant 20% des parts de la société. Tablem Limited est officiellement basée à Chypre; cependant, de récentes nouvelles suggèrent qu'elle a des liens avec l'Arabie Saoudite.
Après avoir complété nos recherches sur un autre espiongiciel commercial, FinFisher, deux événements intéressants impliquant la Hacking Team se sont produits dans un cours laps de temps- le rapport sur la récupération financière apparente de Hacking Team et notre découverte d'une nouvelle variante RCS dans la nature avec un certificat numérique valide.
Les logiciels espions survivent
Au cours des premières étapes de cette enquête, nos amis du the Citizen Lab - qui ont une longue expérience dans la surveillance de l'équipe de piratage - nous ont apporté une précieuse contribution qui nous a permis de découvrir une version du logiciel espion actuellement utilisée dans la nature et qui a été signée avec un certificat numérique valide, jamais vu auparavant.
Notre recherche plus approfondie a mis au jour plusieurs autres échantillons de l’espiongiciel de Hacking Team créés après le piratage de 2015, tous légèrement modifiés par rapport aux variantes publiées avant la fuite du code source.
Les échantillons ont été compilés entre septembre 2015 et octobre 2017. Nous avons jugé que ces dates de compilation sont authentiques, sur la base des données télémétriques ESET indiquant l'apparition des échantillons dans la nature quelques jours après ces dates.
Une analyse plus poussée nous a permis de conclure que tous les échantillons peuvent être reliés à un seul groupe, et ne constituent donc pas des exemples isolés d'acteurs divers construisant leurs propres versions à partir du code source qui a connu une fuite.
Un indicateur à l'appui est la séquence des certificats numériques utilisés pour signer les échantillons - nous avons trouvé six certificats différents délivrés successivement. Quatre des certificats ont été délivrés par Thawte à quatre sociétés différentes, et deux sont des certificats personnels délivrés à Valeriano Bedeschi (cofondateur de l'équipe de piratage) et à une personne nommée Raffaele Carnacina, comme le montre le tableau suivant :
Certificate issued to | Validity period |
---|---|
Valeriano Bedeschi | 8/13/2015 – 8/16/2016 |
Raffaele Carnacina | 9/11/2015 – 9/15/2016 |
Megabit, OOO | 6/8/2016 - 6/9/2017 |
ADD Audit | 6/20/2016 - 6/21/2017 |
Media Lid | 8/29/2016 - 8/30/2017 |
Ziber Ltd | 7/9/2017 - 7/10/2018 |
Les échantillons ont également forgé des métadonnées Manifest communes - utilisées pour les déguiser comme étant une application légitime - apparaissant sous les noms “Advanced SystemCare 9 (9.3.0.1121)”, “Toolwiz Care 3.1.0.0” et “SlimDrivers (2.3.1.10)”.
Notre analyse montre en outre que le ou les auteurs des échantillons ont utilisé VMProtect, apparemment dans le but de rendre leurs échantillons moins susceptibles d'être détectés. C'était également courant dans les espiongiciels de la Hacking Team qui précédent la fuite.
Les connexions entre ces seuls échantillons auraient pu provenir de n'importe quel groupe qui aurait réorienté le code source ou l'installateur de Hacking Team - comme ce fut le cas avec le with Callisto Group au début de l'année 2016. Nous avons toutefois recueilli d'autres preuves qui établissent un lien entre ces échantillons post-fuite et les développeurs de Hacking Team eux-mêmes.
La version (à laquelle nous avons accédé après avoir surmonté la protection de VMProtect) observée dans les échantillons analysés se poursuit là où Hacking Team s'est arrêté avant la brèche, et suit les mêmes schémas. L'habitude de l'équipe de piratage de compiler ses charges utiles - nommées Scout et Soldat - consécutivement, et souvent le même jour, peut également être observée dans les échantillons plus récents.
Le tableau suivant indique les dates de compilation, la version et les autorités de certification des échantillons de logiciels espions Hacking Team Windows vus entre 2014 et 2017. La réutilisation par Callisto Group du code source divulguée est marquée en rouge.
Compilation date | Scout version | Soldier version | Certificate issued to |
---|---|---|---|
2014-11-27 | 1007 | Open Source Developer, Muhammad Lee's | |
2014-12-05 | 11 | Open Source Developer, Muhammad Lee's | |
2014-12-12 | 12 | 1008 | Open Source Developer, meicun ge |
2015-03-19 | 1009 | Open Source Developer, meicun ge | |
2015-03-27 | 13 | Open Source Developer, meicun ge | |
JULY 2015 LEAK |
#colspan# | #colspan# | #colspan# |
2015-09-04 | 15 | Valeriano Bedeschi | |
2015-10-19 | 16 | 1011 | Raffaele Carnacina |
2016-01-05 | 13 | SPC | |
2016-01-18 | 17 | Raffaele Carnacina | |
2016-03-24 | 18 | 1012 | Raffaele Carnacina |
2016-06-17 | 1014 | Megabit, OOO | |
2016-08-02 | 21 | 1016 | Megabit, OOO |
2016-09-01 | 22 | 1017 | ADD Audit |
2016-12-19 | 23 | 1018 | ADD Audit |
2017-01-31 | 24 | 1019 | ADD Audit |
2017-04-28 | 25 | 1020 | ADD Audit, Media Lid |
2017-06-28 | 27 | 1022 | Media Lid, Ziber Ltd |
2017-10-09 | 28 | Ziber Ltd | |
2017-10-18 | 1025 | Ziber Ltd |
De plus, notre recherche a confirmé que les changements introduits dans les mises à jour après la fuite ont été faits en accord avec le style de codage de l'équipe de piratage et sont souvent trouvés dans des emplacements suggérant une profonde familiarité avec le code. Il est hautement improbable qu'un autre acteur - autrement dit, autre que le développeur d'origine de Hacking Team - apporterait des changements à ces endroits précis lors de la création de nouvelles versions à partir du code source de Hacking Team qui a fait l'objet d'une fuite.
L'une des différences subtiles que nous avons relevées entre les échantillons pré-fuite et post-fuite concerne la taille du fichier Startup. Avant la fuite, le fichier copié était rembourré pour occuper 4MB. Dans les échantillons post-fuite, cette opération de copie de fichier est rembourrée à 6 Mo – il s’agit très probablement d’une technique de détection d'évasion primitive.
Nous avons découvert d'autres différences qui nous ont convaincus de l'implication de Hacking Team. Cependant, la divulgation de ces détails pourrait interférer avec le suivi futur du groupe; nous avons choisi de ne pas les publier pour cette raison. Nous sommes toutefois ouverts à partager ces détails avec nos collègues chercheurs (pour toute demande de renseignements, contactez-nous à threatintel@eset.com).
La fonctionnalité des logiciels espions chevauche largement celle du code source divulgué. Notre analyse n'a pas permis de confirmer jusqu’à maintenant la publication d'une mise à jour significative, comme l’a promise Hacking Team suite au piratage.
En ce qui concerne le vecteur de distribution des échantillons post-fuite que nous avons analysés, au moins dans deux cas, nous avons détecté le spyware dans un fichier exécutable déguisé en document PDF (utilisant plusieurs extensions de fichier) attaché à un email d’harponnage (ou spearphishing). Les noms des fichiers-joints contiennent des chaînes de caractères susceptibles de réduire les soupçons des diplomates qui les reçoivent.
Conclusion
Notre recherche nous permet d'affirmer avec une grande confiance que, à une exception près, les échantillons post-fuite que nous avons analysés sont en effet le travail des développeurs de Hacking Team, et non le résultat d'une réutilisation de code source par des acteurs non apparentés, comme c’était le cas pour Callisto Group en 2016.
Au moment d'écrire ces lignes, nos systèmes ont détecté ces nouveaux échantillons de spywares dans quatorze pays. Nous choisissons de ne pas nommer les pays pour éviter des attributions potentiellement incorrectes sur la base de ces détections, puisque la géolocalisation des détections ne révèle pas nécessairement l'origine de l'attaque.
Indicateurs de compromission (IoCs)
ESET detection names |
---|
Trojan.Win32/CrisisHT.F |
Trojan.Win32/CrisisHT.H |
Trojan.Win32/CrisisHT.E |
Trojan.Win32/CrisisHT.L |
Trojan.Win32/CrisisHT.J |
Trojan.Win32/Agent.ZMW |
Trojan.Win32/Agent.ZMX |
Trojan.Win32/Agent.ZMY |
Trojan.Win32/Agent.ZMZ |
Samples signed by Ziber Ltd |
---|
Thumbprint: 14 56 d8 a0 0d 8b e9 63 e2 22 4d 84 5b 12 e5 08 4e a0 b7 07 |
Serial Number: 5e 15 20 5f 18 04 42 cc 6c 3c 0f 03 e1 a3 3d 9f |
SHA-1 samples |
---|
2eebf9d864bef5e08e2e8abd93561322de2ab33b |
51506ed3392b9e59243312b0f798c898804913db |
61eda4847845f49689ae582391cd1e6a216a8fa3 |
68ffd64b7534843ac2c66ed68f8b82a6ec81b3e8 |
6fd86649c6ca3d2a0653fd0da724bada9b6a6540 |
92439f659f14dac5b353b1684a4a4b848ecc70ef |
a10ca5d8832bc2085592782bd140eb03cb31173a |
a1c41f3dad59c9a1a126324a4612628fa174c45a |
b7229303d71b500157fa668cece7411628d196e2 |
eede2e3fa512a0b1ac8230156256fc7d4386eb24 |
C&Cs |
---|
149.154.153.223 |
192.243.101.125 |
180.235.133.23 |
192.243.101.124 |
95.110.167.74 |
149.154.153.223 |
Samples signed by ADD Audit |
---|
Thumbprint: 3e 19 ad 16 4d c1 03 37 53 26 36 c3 7c a4 c5 97 64 6f bc c8 |
Serial Number: 4c 8e 3b 16 13 f7 35 42 f7 10 6f 27 20 94 eb 23 |
SHA-1 samples |
---|
341dbcb6d17a3bc7fa813367414b023309eb69c4 |
86fad7c362a45097823220b77dcc30fb5671d6d4 |
9dfc7e78892a9f18d2d15adbfa52cda379ddd963 |
e8f6b7d10b90ad64f976c3bfb4c822cb1a3c34b2 |
C&Cs |
---|
188.166.244.225 |
45.33.108.172 |
178.79.186.40 |
95.110.167.74 |
173.236.149.166 |
Samples signed by Media Lid |
---|
Thumbprint: 17 f3 b5 e1 aa 0b 95 21 a8 94 9b 1c 69 a2 25 32 f2 b2 e1 f5 |
Serial Number: 2c e2 bd 0a d3 cf de 9e a7 3e ec 7c a3 04 00 da |
SHA-1 samples |
---|
27f4287e1a5348714a308e9175fb9486d95815a2 |
71a68c6140d066ca016efa9087d71f141e9e2806 |
dc817f86c1282382a1c21f64700b79fcd064ae5c |
SHA-1 samples |
---|
27f4287e1a5348714a308e9175fb9486d95815a2 |
71a68c6140d066ca016efa9087d71f141e9e2806 |
dc817f86c1282382a1c21f64700b79fcd064ae5c |
C&Cs |
---|
188.226.170.222 |
173.236.149.166 |
Samples signed by Megabit, OOO |
---|
Thumbprint: 6d e3 a1 9d 00 1f 02 24 c1 c3 8b de fa 74 6f f2 3a aa 43 75 |
Serial Number: 0f bc 30 db 12 7a 53 6c 34 d7 a0 fa 81 b4 81 93 |
SHA-1 samples |
---|
508f935344d95ffe9e7aedff726264a9b500b854 |
7cc213a26f8df47ddd252365fadbb9cca611be20 |
98a98bbb488b6a6737b12344b7db1acf0b92932a |
cd29b37272f8222e19089205975ac7798aac7487 |
d21fe0171f662268ca87d4e142aedfbe6026680b |
5BF1742D540F08A187B571C3BF2AEB64F141C4AB |
854600B2E42BD45ACEA9A9114747864BE002BF0B |
C&Cs |
---|
95.110.167.74 |
188.226.170.222 |
173.236.149.166 |
46.165.236.62 |
Samples signed by Raffaele Carnacina |
---|
Thumbprint: 8a 85 4f 99 2a 5f 20 53 07 f8 2d 45 93 89 af da 86 de 6c 41 |
Serial Number: 08 44 8b d6 ee 91 05 ae 31 22 8e a5 fe 49 6f 63 |
SHA-1 samples |
---|
4ac42c9a479b34302e1199762459b5e775eec037 |
2059e2a90744611c7764c3b1c7dcf673bb36f7ab |
b5fb3147b43b5fe66da4c50463037c638e99fb41 |
9cd2ff4157e4028c58cef9372d3bb99b8f2077ec |
b23046f40fbc931b364888a7bc426b56b186d60e |
cc209f9456f0a2c5a17e2823bdb1654789fcadc8 |
99c978219fe49e55441e11db0d1df4bda932e021 |
e85c2eab4c9eea8d0c99e58199f313ca4e1d1735 |
141d126d41f1a779dca69dd09640aa125afed15a |
C&Cs |
---|
199.175.54.209 |
199.175.54.228 |
95.110.167.74 |
Samples signed by Valeriano Bedeschi |
---|
Thumbprint: 44 a0 f7 f5 39 fc 0c 8b f6 7b cd b7 db 44 e4 f1 4c 68 80 d0 |
Serial Number: 02 f1 75 66 ef 56 8d c0 6c 9a 37 9e a2 f4 fa ea |
SHA-1 samples |
---|
baa53ddba627f2c38b26298d348ca2e1a31be52e |
5690a51384661602cd796e53229872ff87ab8aa4 |
aa2a408fcaa5c86d2972150fc8dd3ad3422f807a |
83503513a76f82c8718fad763f63fcd349b8b7fc |
C&Cs |
---|
172.16.1.206 – It is an internal address which was found in the samples. |