Black Kingdom
Produits et Services PRODUITS & SERVICES

Le ransomware Black Kingdom commence à apparaître sur les serveurs Exchange

Un nouveau ransomware, même s'il n'est pas particulièrement bien conçu, se propage sur les serveurs Exchange qui n'ont pas été corrigés pour contrer l'exploit ProxyLogon.

Suite aux attaques du ransomware DearCry signalées récemment, un autre gang de ransomware a également commencé à cibler les serveurs Exchange vulnérables avec un autre malware, appelé Black KingDom. La télémétrie Sophos a commencé à détecter ce ransomware le jeudi 18 mars alors qu’il ciblait les serveurs Exchange qui n’étaient toujours pas corrigés par rapport aux vulnérabilités ProxyLogon révélées par Microsoft au début du mois dernier.

Le ransomware Black KingDom est loin d’être la charge virale la plus sophistiquée que nous ayons vue. En fait, nos premières analyses révèlent qu’il est quelque peu basique dans sa composition, relevant plus du travail d’amateur, mais il peut tout de même causer de sérieux dégâts. Ce dernier peut être lié à un ransomware du même nom qui est apparu l’année dernière sur des machines qui, à l’époque, utilisaient une version vulnérable du logiciel concentrateur VPN Pulse Secure.

Distribué grâce à un webshell envoyé via Tor

La distribution de Black KingDom a été orchestrée à partir d’un serveur distant avec une adresse IP géolocalisée en Allemagne, 185.220.101.204, tandis que l’attaquant opérait à partir de l’adresse 185.220.101.216. Malheureusement, comme les deux adresses IP appartiennent à un nœud de sortie Tor, il est impossible de savoir où se trouvent physiquement les attaquants.

L’acteur malveillant a exploité les versions locales de Microsoft Exchange Server, abusant de la vulnérabilité d’exécution de code à distance (RCE) également connue sous le nom de ProxyLogon (CVE-2021-27065).

Après avoir réussi à pénétrer au sein du serveur Exchange, l’adversaire a utilisé un webshell. Ce dernier offre un accès à distance au serveur et permet l’exécution de commandes arbitraires.

Le webshell ChackLogsPL.aspx a été déposé ici :

Black Kingdom

Les autres noms de fichiers de webshell que nous avons observés être utilisés par cet adversaire sont ckPassPL.aspx et hackIdIO.aspx.

Le webshell a été écrit sur le disque par w3wp.exe, un processus de travail Internet Information Server (IIS) qui héberge l’EAC (Exchange Admin Center), auquel Microsoft a donné le nom interne ECP (Exchange Control Panel) :

Black Kingdom

Exécution et comportement des ransomwares

Suite au déploiement du webshell, les attaquants lancent l’attaque en émettant une commande PowerShell (non représentée ici dans son intégralité en raison des contraintes de taille) :

Black Kingdom

Cette dernière décode le script suivant (modifié pour améliorer la lisibilité) :

Black Kingdom

Ce script télécharge la charge virale du ransomware à partir de :

hxxp://yuuuuu44[.]com/vpn-service/$(f1)/crunchyroll-vpn

La partie $(f1) est générée par la fonction f1, qui produit une chaîne aléatoire de 15 caractères alphabétiques. Donc, en fin de compte, l’adresse Web exacte ressemble à celle-ci-dessous :

hxxp://yuuuuu44[.]com/vpn-service/ ojkgrctxslnbazd /crunchyroll-vpn

NB : Au moment d’écrire cet article, le domaine yuuuu44 redirigeait les visiteurs vers NASA.GOV.

Les attaquants stockent la charge virale du ransomware dans le dossier : \\[ComputerName]\c$\Windows\system32\, avec un nom de fichier aléatoire généré par cette même fonction, f1. Par exemple :

C:\Windows\System32\ojkgrctxslnbazd.exe

Le script exécute le ransomware en appelant Win32_Process via WMI, (Windows Management Interface). Le script inclut la possibilité d’uploader le ransomware sur d’autres ordinateurs du réseau et de l’exécuter.

Impact

Le binaire du ransomware est basé sur un script Python qui a été compilé en un exécutable à l’aide d’un outil appelé PyInstaller. Avec quelques efforts, nous avons pu décompiler le binaire dans son code source d’origine, ce qui nous a aidés à comprendre les fonctionnalités du ransomware. Le créateur a nommé le code source 0xfff.py, dont le “fff” représente la valeur hexadécimale du nombre décimal 4095. La signification de ce codage reste un mystère.

Le ransomware a une liste de blocage de dossiers intégrée dont il ne chiffrera pas le contenu :

Black Kingdom

Il tente de stopper les services en cours d’exécution sur la machine avec SQL dans le nom du service, fermant effectivement les bases de données, probablement pour qu’elles puissent également être chiffrées :

Black Kingdom

La clé de chiffrement est générée avec le code suivant :

Black Kingdom

Dans l’appel de la fonction gen_string, le script génère une chaîne aléatoire de 64 caractères. Le script hache ensuite cette valeur avec MD5, convertit ce hachage en caractères hexadécimaux et l’utilise comme clé de chiffrement.

Il a également généré un gen_id, qui est un identifiant de victime que le ransomware intègre dans la demande de rançon pour permettre aux personnes ciblées de s’identifier auprès de l’acteur malveillant, afin de pouvoir acheter la clé de déchiffrement appropriée.

La clé (key) et gen_id sont ensuite uploadés sur un compte via mega.io. Cependant, si pour une raison quelconque le ransomware Black KingDom ne parvient pas à uploader cette clé de chiffrement générée aléatoirement au niveau de Mega, il dispose d’une solution de secours sous la forme d’une clé statique hardcodée :

Black Kingdom

La clé codée en base64 représente cette valeur hexadécimale :

eebf143cf615ecbe2ede01527f8178b3

Le comportement du système de fichiers de la fonction de chiffrement de fichiers est simple : Lecture (original)> Écraser (chiffré)> Renommer :

Black Kingdom

Cette séquence se traduit par l’activité du système de fichiers suivante :

Black Kingdom

Le code permettant de renommer les fichiers désormais chiffrés choisit une chaîne aléatoire entre 4 et 7 caractères et l’ajoute au nom du fichier, de sorte que son suffixe ne corresponde plus à l’application à laquelle il était associé initialement :

Black Kingdom

Pour éviter que les fichiers chiffrés ne soient attaqués deux fois, le ransomware ajoute généralement la même extension de fichier choisie de manière unique à chaque fichier chiffré ou place un indicateur dans l’en-tête du fichier (ou à la fin). Cependant, le ransomware Black Kingdom ciblant les serveurs Exchange ne le fait pas. Il ne vérifie pas si un fichier ou la machine a déjà été affecté, soit par lui-même, soit par un autre ransomware. En conséquence, les fichiers chiffrés peuvent l’être plusieurs fois, potentiellement par le même ransomware, rendant ainsi le déchiffrement extrêmement compliqué. Cet oubli est probablement involontaire, mais aurait pu être anticipé.

Notre protection CryptoGuard a détecté le ransomware qui tentait de chiffrer des données. Ci-dessous, la télémétrie brute de notre technologie ne reposant pas sur des signatures montre le binaire du ransomware exécuté via WMI comme décrit ci-dessus (lisez la séquence Process Trace à l’envers, de 3 à 1) :

Black Kingdom

Pour compliquer davantage et entraver la réponse aux incidents, le ransomware Black KingDom supprime les logs d’événements Windows :

Une fois le système chiffré (ou après 20 minutes de travail), Black KingDom exécute ce sous-programme qui désactive la souris et le clavier, et affiche une fenêtre en plein écran et au premier plan de votre bureau.

Black Kingdom

La fenêtre plein écran générée ressemble à celle ci-dessous, avec un compte à rebours :

Black Kingdom

Parallèlement aux données chiffrées, une demande de rançon est stockée dans un fichier nommé decrypt_file.TxT :

Black Kingdom

Voici un aperçu des transactions reçues par le portefeuille de cryptomonnaie des attaquants, selon BitRef. Il semble qu’au moins une victime ait payé la demande de rançon et que les attaquants aient déjà retiré l’argent du portefeuille :

Black Kingdom

Conseils en matière de détection

Les utilisateurs des produits Sophos de protection endpoint peuvent visualiser les webshells détectés sous la forme d’une des longues listes de détections présentées dans l’article publié sur Hafnium, et la charge virale du ransomware peut être détectée sous la désignation Troj/Ransom-GFU, Troj/Ransom-GFV ou Troj/Ransom-GFP ou par la fonction CryptoGuard dans Intercept X. Les SophosLabs ont publié des indicateurs de compromission sur le SophosLabs Github. Les traqueurs de menaces utilisant Sophos EDR peuvent également utiliser les requêtes publiées dans cet article sur Sophos MTR pour trouver des indicateurs supplémentaires de compromission sur leurs réseaux.

Remerciements

Les SophosLabs souhaitent saluer les contributions de Vikas Singh, Alex Vermaning et Gabor Szappanos.

Billet inspiré de Black Kingdom ransomware begins appearing on Exchange servers, sur le Blog Sophos.