Interception d’une menace d’APT41 ciblant une vulnérabilité zero-day

Max Heinemeyer, Director of Threat Hunting | jeudi 2 avril 2020

Résumé analytique

  • Darktrace a détecté plusieurs attaques ciblées au début du mois de mars, bien avant que des signatures associées ne soient disponibles. Deux semaines plus tard, ces attaques furent attribuées au groupe de hackers chinois APT41.

  • APT41 a exploité la vulnérabilité zero-day CVE-2020-10189 de Zoho ManageEngine. Darktrace a automatiquement détecté et signalé l’attaque dès ses premières manifestations, et les clients ont réussi à contenir la menace avant qu’elle ne puisse agir.

  • Les intrusions décrites ici s’inscrivaient dans une campagne de grande envergure menée par APT41 dans le but d’obtenir un accès initial à autant d’entreprises que possible durant la fenêtre d’opportunité offerte par la vulnérabilité CVE-2020-10189.

  • Les rapports générés par Darktrace ont mis en évidence les différentes étapes de l’incident et leur champ d’action sous forme d’un récit de sécurité instructif. Sur la base de ces rapports, même un membre peu expérimenté de l’équipe de sécurité aurait pu intervenir sur cette attaque APT zero-day en moins de 5 minutes.

Lutte contre l’attaque internationale d’APT41

Début mars, Darktrace a détecté plusieurs attaques sophistiquées visant des clients situés aux États-Unis et en Europe. La majeure partie de ces clients travaillaient dans le secteur juridique. Les attaques partageaient les mêmes techniques, outils et procédures (TTP) et ciblaient des serveurs accessibles au public en exploitant des vulnérabilités récentes à fort impact. La semaine dernière, FireEye a attribué cette activité suspecte au groupe de cyberespionnage chinois APT41.

Cette campagne utilisait la vulnérabilité zero-day CVE-2020-10189 de Zoho ManageEngine dans le but d’accéder à différentes entreprises, mais pratiquement aucune action ultérieure à l’intrusion initiale n’a été détectée. Cette activité indiquait la mise en œuvre d’une campagne de grande envergure visant à obtenir un accès initial à autant d’entreprises que possible durant la fenêtre d’opportunité offerte par la vulnérabilité zero-day.

L’activité malveillante observée par Darktrace s’est produite le soir du dimanche 8 mars 2020, et le matin du 9 mars 2020 (UTC). Ces horaires correspondent globalement aux heures d’activité attribuées au groupe chinois de cyberespionnage APT41.

L’illustration ci-dessous présente un exemple de chronologie fourni par l’un des clients ciblés par APT41. Les attaques observées dans l’environnement des autres clients étaient identiques.

Figure 1 : Chronologie de l’attaque

Analyse technique

L’attaque décrite ici s’articulait autour de la vulnérabilité zero-day CVE-2020-10189 de Zoho ManageEngine. La majeure partie de l’attaque a manifestement été automatisée.

Nous avons observé l’intrusion initiale, suivie de plusieurs téléchargements, ainsi qu’un trafic de commande et contrôle (C2). Dans tous les cas, l’activité a été contenue avant d’atteindre d’autres étapes dans le cycle de vie de l’attaque, comme le déplacement latéral ou l’exfiltration de données.

La capture d’écran ci-dessous présente une vue d’ensemble des principales détections signalée par l’AI Analyst. L’outil a non seulement signalé le trafic C2 SSL et HTTP, mais aussi les téléchargements malveillants :

Figure 2 : Détection de C3 SSL par le Cyber AI Analyst

Figure 3 : Détection de téléchargement par le Cyber AI Analyst

Faille initiale

La faille a commencé par l’exploitation de la vulnérabilité zero-day CVE-2020-10189 de Zoho ManageEngine. Suite à cette intrusion, l’outil de ligne de commande Microsoft BITSAdmin a été utilisé pour récupérer et installer un fichier Batch malveillant, décrit ci-dessous :

install.bat (MD5: 7966c2c546b71e800397a67f942858d0) provenant de l’infrastructure 66.42.98[.]220 sur le port 12345.

Source : 10.60.50.XX
Destination : 66.42.98[.]220
Port de destination : 12345
Type de contenu : application/x-msdownload
Protocole : HTTP
Hôte : 66.42.98[.]220
URI : /test/install.bat
Méthode : GET
Code d’état : 200

Figure 4 : Connexion sortante pour récupérer un fichier batch

Peu de temps après la faille initiale, la première phase de Cobalt Strike Beacon LOADER a été téléchargée.

Figure 5 : Détection de Cobalt Strike Beacon LOADER

Trafic de commande et contrôle

Il est intéressant de remarquer que l’activité de Teamviewer et le téléchargement de Notepad++ se sont produits au moment où le trafic C2 commençait dans certaines des attaques. Cela indique qu’APT41 essayait d’utiliser des outils courants plutôt que d’utiliser exclusivement les logiciels présents sur la machine.

Storesyncsvc.dll était un implant de Cobalt Strike Beacon (en version d’essai) qui s’est connecté à exchange.dumb1[.]com. Une résolution DNS réussie vers 74.82.201[.]8 a été identifiée, que Darktrace a interprétée comme une connexion SSL réussie à un nom d’hôte aux caractéristiques de DNS dynamiques.

Plusieurs connexions à exchange.dumb1[.]com ont été identifiées comme émettant un signal vers un centre C2. Ce trafic C2 vers l’implant initial Cobalt Strike Beacon a alors été utilisé pour télécharger une charge de seconde phase.

Il est intéressant de remarquer que l’activité de Teamviewer et le téléchargement de Notepad++ se sont produits au moment où le trafic C2 commençait dans certaines des attaques. Cela indique qu’APT41 essayait d’utiliser des outils courants plutôt que d’utiliser exclusivement les logiciels présents sur la machine. Il est très probable que l’utilisation de ces deux outils puisse être attribuée à l’intrusion, plutôt qu’à une activité ordinaire. Notepad++ n’était généralement pas utilisé dans l’environnement des clients ciblés, et Teamviewer non plus. En réalité, l’utilisation de ces applications était 100 % inhabituelle pour les entreprises cibles.

Téléchargement des outils d’attaque

CertUtil.exe, programme de ligne de commande installé dans le cadre de la certification de services, a ensuite été utilisé pour se connecter à l’extérieur et télécharger la charge de seconde phase.

Figure 6 : Darktrace détecte l’utilisation de CertUtil

Quelques heures après le téléchargement de ce fichier exécutable, la machine infectée a établi une connexion HTTP sortante pour demander l’identifiant URI /TzGG. Darktrace a interprété cette action comme le téléchargement d’un nouveau shellcode par Meterpreter pour Cobalt Strike Beacon.

Figure 7 : Détection associée à une activité de Meterpreter

Aucun déplacement latéral ni aucune exfiltration de données n’ont été observés.

Rapport du Cyber AI Analyst sur la faille zero-day

Darktrace a non seulement détecté cette campagne d’attaque zero-day, mais le Cyber AI Analyst a également fait gagner du temps aux équipes de sécurité en analysant différents événements de sécurité disparates et en générant un rapport permettant d’intervenir immédiatement.

La capture d’écran ci-dessous montre les incidents signalés par l’AI Analyst dans l’un des environnements infectés au cours des huit jours de la période d’intrusion. Le premier incident à gauche représente l’activité APT décrite ici. Les cinq autres incidents sont indépendants de l’activité APT et sont moins graves.

Figure 8 : Incidents de sécurité signalés par l’AI Analyst

L’AI Analyst a signalé six incidents au total au cours de la période de huit jours. Chaque rapport inclut une chronologie détaillée et un résumé de l’incident, dans un format compact qui se lit en moyenne en deux minutes. Avec le Cyber AI Analyst, même un employé non technique aurait pu mettre en œuvre une réponse à cet incident zero-day sophistiqué en moins de cinq minutes.

Conclusion

Même si l’attaque était très sophistiquée, APT41 a misé sur la vitesse aux dépens de la discrétion, en ciblant plusieurs entreprises simultanément. APT41 voulait exploiter au maximum la petite fenêtre d’opportunité ouverte par la faille zero-day Zoho avant qu’un correctif ne soit mis en place par les équipes informatiques.

En l’absence d’indicateurs de compromission (IoC) publics, ou d’informations open source, ces attaques ciblées auraient été incroyablement difficiles à détecter. De plus, les meilleures décisions restent inutiles si elles ne sont pas immédiatement converties en actions concrètes menées par un analyste de sécurité. Cette situation arrive trop souvent, à cause du nombre trop élevé d’alertes, ou simplement parce que les compétences requises pour catégoriser et analyser les incidents sont trop restrictives.

Cette attaque faisait manifestement partie d’une campagne de grande envergure menée par APT41 pour obtenir un accès initial à plusieurs entreprises différentes, appartenant à différents secteurs d’activité. Même si l’attaque était très sophistiquée, APT41 a misé sur la vitesse aux dépens de la discrétion, en ciblant plusieurs entreprises simultanément. APT41 voulait exploiter au maximum la petite fenêtre d’opportunité ouverte par la faille zero-day Zoho avant qu’un correctif ne soit mis en place par les équipes informatiques.

La cyber IA de Darktrace est spécifiquement conçue pour détecter les signaux subtils d’attaques ciblées et inconnues dès leurs premières manifestations, sans s’appuyer sur des connaissances préalables ni sur des IoC. Elle agit en apprenant continuellement le modèle comportemental normal de chaque utilisateur de chaque appareil et des groupes de pairs associés, en partant de zéro.

Face à la récente campagne d’attaque zero-day menée par APT41, la capacité de l’IA à détecter les menaces inconnues grâce à l’IA auto-apprenante, et à soutenir les intervenants débordés en fournissant des analyses et des rapports basés sur l’IA, s’est avérée cruciale. En effet, la solution s’est assurée que les attaques étaient rapidement contenues avant de passer aux étapes suivantes du cycle de vie de l’attaque.

Indicateurs de compromission

Exemples de violations de modèles Darktrace :

  • Anomalous File / Script from Rare External
  • Anomalous File / EXE from Rare External Location
  • Compromise / SSL to DynDNS
  • Compliance / CertUtil External Connection
  • Anomalous Connection / CertUtil Requesting Non Certificate
  • Anomalous Connection / CertUtil to Rare Destination
  • Anomalous Connection / New User-Agent to IP Without Hostname
  • Device / Initial Breach Chain Compromise
  • Compromise / Slow Beaconing Activity To External Rare
  • Compromise / Beaconing Activity To External Rare
  • Anomalous File / Numeric Exe Download
  • Device / Large Number of Model Breaches
  • Anomalous Server Activity / Rare External from Server
  • Compromise / Sustained TCP Beaconing Activity To Rare Endpoint
  • Compliance / Remote Management Tool On Server

La capture d’écran ci-dessous montre les violations de modèles Darktrace constatées simultanément pendant l’infiltration d’un client :

Figure 9 : Violations de modèles Darktrace se produisant simultanément

IoC réseau :

IoCCommentaire
66.42.98[.]220Faille initiale et téléchargement de charge malveillante
74.82.201[.]8Résolution de DNS pour un domaine C2
exchange.dumb1[.]comDomaine C2 principal
91.208.184[.]78Domaine C2 Cobalt Strike secondaire

IoC hôte :

IoCCommentaire
Nom de fichierHachage MD5
install.bat7966c2c546b71e800397a67f942858d0
storesyncsvc.dll5909983db4d9023e4098e56361c96a6f
2.exe3e856162c36b532925c8226b4ed3481c
TzGG659bd19b562059f3f0cc978e15624fd9

Observation des techniques MITRE ATT&CK

Accès initialT1190 – Faille dans une application en contact avec le public
T1133 – Services à distance externes
ExécutionT1064 — Scripts
PersistanceT1050 – Nouveau service
T1197 – Tâches BITS
Élévation des privilegesT1068 — Exploitation de l’élévation des privileges
Contournement des systèmes de défenseT1055 – Injection de processus
T1197 – Tâches BITS
Découverte
Exfiltration
Commande et contrôleT1043 – Ports fréquemment utilisés
T1071 – Protocole standard de couche applicative
T1132 – Chiffrement de données
T1008 – Canaux de secours

Max Heinemeyer

Max is a cyber security expert with over nine years’ experience in the field, specializing in network monitoring and offensive security. At Darktrace, Max works with strategic customers to help them investigate and respond to threats, as well as overseeing the cyber security analyst team in the Cambridge UK headquarters. Prior to his current role, Max led the Threat and Vulnerability Management department for Hewlett-Packard in Central Europe. In this role he worked as a white hat hacker, leading penetration tests and red team engagements. He was also part of the German Chaos Computer Club when he was still living in Germany. Max holds a MSc from the University of Duisburg-Essen and a BSc from the Cooperative State University Stuttgart in International Business Information Systems.