CVE-2026-104935 : Faille Zero-Day dans Ivanti Connect Secure Exploitée dans des Attaques en Chaîne
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un acteur de menace suivi sous le nom UTA0576 a exploité une chaîne de trois vulnérabilités dans les appareils Ivanti Connect Secure pour obtenir un accès root non authentifié. La chaîne d’attaque combinait un contournement d’authentification avec une faille d’exécution de code à distance, suivie d’une vulnérabilité d’escalade de privilèges non corrigée. L’acteur a utilisé des charges utiles en mémoire pour réduire la visibilité et échapper à la détection par les outils de vérification d’intégrité standard.
Enquête
Volexity a identifié l’activité lors de l’enquête sur un incident impliquant un appareil VPN ICS. L’enquête a montré que l’acteur avait déployé une charge utile en mémoire, en plusieurs étapes, utilisant des scripts Perl, Bash, et Python pour minimiser son empreinte sur le système de fichiers. La reconstruction judiciaire nécessitait l’imagerie de la mémoire et du disque en raison des techniques anti-criminalistique de l’attaquant et de la falsification délibérée des journaux.
Atténuation
Les organisations devraient immédiatement mettre à niveau Ivanti Connect Secure vers la version 22.8R2.5 ou ultérieure, ou passer à la ligne de code 25.1. Les utilisateurs doivent rester vigilants face à la faille d’escalade de privilèges non corrigée et surveiller en permanence les signes de compromission. Compter uniquement sur l’outil Ivanti Integrity Checker est insuffisant car il peut échouer à identifier les modifications en mémoire.
Réponse
Lorsqu’une activité suspecte est identifiée, les intervenants devraient acquérir des images mémoire, des images disque et des vidages de noyau pour une analyse forensic détaillée. Surveillez les journaux web pour des volumes élevés de requêtes vers welcome.cgi et des anomalies impliquant l’en-tête X-DSCGI-PATH. Inspectez les répertoires temporaires à la recherche de scripts inattendus et consultez les journaux de débogage ou d’audit pour des lacunes qui pourraient indiquer des falsifications.
Flux d’Attaque
Nous mettons encore à jour cette partie.
Détections
Tentative d’exploitation possible du CVE-2026-104935 (Chaîne RCE Ivanti) (via serveur web)
IOCs (SourceIP) à détecter : Ivanti Connect Secure Zero-Day CVE-2026-104935 exploité dans des attaques en chaîne
IOCs (DestinationIP) à détecter : Ivanti Connect Secure Zero-Day CVE-2026-104935 exploité dans des attaques en chaîne
Détection de dsstatmond s’exécutant à partir d’un répertoire caché [Création de processus Linux]
Détection de contournement d’authentification et RCE dans Ivanti Connect Secure [Serveur Web]
Exécution Simulée
-
Narrative de l’Attaque & Commandes : L’adversaire cherche à exploiter une vulnérabilité connue dans l’appareil Ivanti Connect Secure pour obtenir un premier accès. Pour éviter les règles WAF traditionnelles basées sur la signature qui recherchent les traversées de chemin dans l’URL elle-même, l’attaquant utilise l’en-tête
X-DSCGI-PATH. Le but est d’injecter un chemin qui dirigera le serveur web à exécuter un script dans un répertoire temporaire ou inscriptible (/home/runtime/tmp/), contournant ainsi l’authentification et permettant l’exécution de commandes arbitraires. -
Script de Test de Régression : Ce script simule la requête HTTP malveillante contenant l’en-tête spécifique et la combinaison d’URI définie dans la règle Sigma.
#!/bin/bash # Simulation de contournement d'authentification/RCU Ivanti Connect Secure # Cible : Interface Web Ivanti Connect Secure TARGET_URL="https://<TARGET_IP>/dana-na/auth/url_default/welcome.cgi" MALICIOUS_HEADER="X-DSCGI-PATH: /home/runtime/tmp/" echo "[*] Début de la simulation de T1190/T1212..." echo "[*] Envoi de la requête malveillante à $TARGET_URL" # Utilisation de curl pour envoyer l'en-tête fabriqué curl -k -X GET "$TARGET_URL" -H "$MALICIOUS_HEADER" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)" -v if [ $? -eq 0 ]; then echo "[+] Requête envoyée avec succès. Vérifiez le SIEM pour détection." else echo "[-] Échec de l'envoi de la requête." fi -
Commandes de Nettoyage :
# Aucune modification permanente n'est faite au système cible par cette simulation. # Si des fichiers ont été téléchargés lors d'une attaque réelle, ils seraient supprimés ici. echo "[*] Nettoyage : Aucun fichier n'a été modifié sur la cible pendant cette simulation."