Exploitation de CVE-2025-0282 | CVSS 9.0 | Famille SPAWN/SPAWNCHIMERA
Techniques ATT&CK dominantes : T1190 (Exploit Public-Facing Application), T1071.001 (Web Protocols), T1556 (Modify Authentication Process)
Technologie affectée : Ivanti Connect Secure (Pulse Secure) VPN Appliance
document classifié : TLP:CLEAR-PAP:CLEAR
1. Synthèse décisionnelle
L’implant RESURGE constitue une menace structurelle de premier ordre pour toute organisation exploitant des appliances Ivanti Connect Secure en périmétrie. Identifie par la Cybersecurity and Infrastructure Security Agency (CISA) a la suite de la compromission d’une infrastructure critique, cet implant exploite la vulnérabilité CVE-2025-0282 (CVSS 9.0, stack-based buffer overflow) pour obtenir un accès initial non authentifie, puis déployer un ensemble de capacités de persistance, d’évasion et de contrôle a distance d’une sophistication élevée.
La nature de la menace est fondamentalement differente des compromissions classiques de perimetrie. RESURGE adopte un modele passif de Command and Control : l’implant ne genere aucun trafic sortant vers une infrastructure C2. Il demeure latent sur l’equipement compromis, en attente d’une connexion entrante de l’operateur. Cette architecture rend la detection par les mecanismes traditionnels de surveillance du trafic sortant (proxy, DNS, NetFlow) structurellement inefficace.
La probabilité d’occurrence est évaluée comme élevée. CVE-2025-0282 a fait l’objet d’une exploitation active confirmée (Known Exploited Vulnerability, KEV) avant la disponibilité du correctif. L’analyse de la CISA, mise a jour le 26 février 2026, confirme que RESURGE peut demeurer dormant et non détecte sur des équipements Ivanti Connect Secure, constituant une menace active persistante. La surface d’exposition est considérable : Ivanti Connect Secure représente l’une des solutions VPN les plus déployées dans les secteurs gouvernementaux, financiers, de la sante et de l’industrie.
L’impact systémique est critique. L’implant offre un accès shell complet via SSH embarque, la capacite de modifier les mécanismes d’intégrité du firmware (coreboot), de neutraliser les outils de détection internes (Integrity Checker Tool, scanner.py), d’installer des web shells, et de manipuler les journaux système via un composant SPAWNSLOTH. Ces capacités combinées permettent un accès persistant, furtif et total a l’infrastructure interne de l’organisation cible.
Sur le plan reglementaire, une compromission impliquant RESURGE declenche des obligations de notification au titre de NIS2 (UE), DORA (secteur financier europeen), et potentiellement du RGPD en cas d’exfiltration de donnees personnelles. L’absence de detection liee au caractere dormant de l’implant peut allonger significativement la duree d’exposition, aggravant les implications reglementaires.
2. Introduction
Le présent article analyse en profondeur l’implant RESURGE, documenté par la CISA dans le Malware Analysis Report MAR-25993211-r1.v2, publié initialement le 28 mars 2025 puis substantiellement enrichi le 26 février 2026. Cette mise à jour apporte des éclairages techniques majeurs sur les mécanismes d’évasion réseau, l’authentification TLS personnalisée et les capacités cryptographiques avancées de RESURGE, qui n’avaient pas été documentés dans la version initiale.
La problématique étudiée est double. Premièrement, comment un acteur de menace parvient-il à maintenir un accès persistant, furtif et résilient sur une appliance VPN de périmétrie, en contournant à la fois les mécanismes d’intégrité du constructeur et les dispositifs de détection opérationnels ? Deuxièmement, quelles sont les implications architecturales et stratégiques pour les organisations dont la sécurité périmétrique repose sur des appliances propriétaires dont le firmware n’est pas intégralement auditable ?
Les hypothèses d’analyse sont les suivantes. Hypothèse 1 : l’acteur de menace dispose de capacités avancées compatibles avec un profil APT (Advanced Persistent Threat), au vu de la sophistication du tradecraft observé (cryptographie sur courbes elliptiques, usurpation TLS, manipulation du coreboot). Hypothèse 2 : la conception passive du C2 suggère une opération de collecte stratégique à long terme plutôt qu’une campagne cybercriminelle a visee financière immédiate. Hypothèse 3 : d’autres instances de RESURGE sont probablement déployées et non détectées sur des équipements Ivanti Connect Secure à travers le monde.
Le périmètre de l’analyse couvre les trois artefacts soumis à la CISA : libdsupgrade.so (RESURGE, 1.41 Mo), liblogblock.so (variante SPAWNSLOTH, 95 Ko), et dsmain (binaire embarqué BusyBox avec extract_vmlinux.sh, 5.10 Mo). L’analyse s’appuie sur les versions originale et mise à jour du MAR CISA, les travaux antérieurs sur la famille SPAWN/SPAWNCHIMERA, le cadre MITRE ATT&CK, le Diamond Model of Intrusion Analysis, et la Cyber Kill Chain de Lockheed Martin.
Le positionnement dans le Threat Landscape global s’inscrit dans la tendance lourde observée depuis 2023 d’exploitation systématique des appliances de périmétrie (edge devices) par des acteurs étatiques. Les compromissions d’appliances Ivanti (Connect Secure, Policy Secure, ZTA), Fortinet FortiGate, Citrix NetScaler, et Palo Alto PAN-OS ont constitue un axe d’attaque privilégié, en raison de la visibilité limitée des défenseurs sur ces équipements, de l’absence fréquente de solutions EDR, et de la position stratégique de ces appliances dans l’architecture réseau des cibles.
3. Etat de la menace et contexte stratégique
3.1 Historique et évolution
La famille de malwares SPAWN a été identifiée pour la première fois dans le contexte de l’exploitation de vulnérabilités Ivanti. SPAWNSNAIL (backdoor SSH), SPAWNMOLE (tunneler), SPAWNSLOTH (log tamper), et SPAWNANT (installer) constituent les composants modulaires de cet écosystème. SPAWNCHIMERA représente une évolution consolidant plusieurs de ces capacités en un seul binaire. RESURGE constitue l’itération la plus avancée observée, intégrant des capacités supplémentaires non documentées précédemment : manipulation du coreboot, neutralisation des scanners d’intégrité, et surtout un mécanisme d’authentification TLS passif basé sur le fingerprinting CRC32.
CVE-2025-0282, publiée en janvier 2025, est une vulnérabilité de type stack-based buffer overflow dans Ivanti Connect Secure, Policy Secure et ZTA Gateways. Son score CVSS est de 9.0 (Critical). L’exploitation ne requiert aucune authentification préalable et permet l’exécution de code arbitraire à distance. Ivanti a confirmé une exploitation active antérieure à la publication du correctif, et la CISA a inscrit cette vulnérabilité au catalogue KEV (Known Exploited Vulnerabilities).
3.2 Typologie d’acteurs
L’analyse du tradecraft observé oriente l’attribution vers un acteur étatique ou paraétatique. Plusieurs éléments convergent : la sophistication cryptographique (Elliptic Curve Cryptography sur courbe P-521, Mutual TLS, CA embarquée) ; le modèle passif de C2 optimisé pour la persistance à long terme et l’évasion ; la capacité de manipulation du firmware (coreboot) dénotant une connaissance approfondie de l’architecture interne d’Ivanti ; et le ciblage d’infrastructures critiques. Des rapports publics ont associé l’exploitation de CVE-2025-0282 à des groupes liés à la République Populaire de Chine, notamment UNC5337/UNC5221, bien que l’attribution définitive dépasse le périmètre de la présenté analyse.
Le rôle des Initial Access Brokers (IABs) ne peut etre exclu comme vecteur de proliferation secondaire. L’exploitation de CVE-2025-0282 ayant été largement documentée, il est plausible que des IABs aient intégré cette vulnérabilité dans leur catalogue pour revendre des accès à des opérateurs de ransomware ou d’autres acteurs.
3.3 Modèle économique sous-jacent
Le modèle économique de l’exploitation d’appliances VPN de périmétrie repose sur le ratio coût/bénéfice extrêmement favorable pour l’attaquant. L’investissement initial (développement de l’exploit, ingénierie de l’implant) est amorti sur un grand nombre de cibles potentielles. Le retour sur investissement comprend : l’accès persistant aux réseaux internes de grandes organisations, la capacité d’exfiltration de données stratégiques, le positionnement pour des opérations ultérieures (déploiement de ransomware, sabotage, espionnage), et la possibilité de revente d’accès via les écosystèmes IAB. Le caractère dormant de RESURGE maximise la durée d’exploitation de chaque compromission.
3.4 Corrélation MITRE ATT&CK
| Tactic | Technique ID | Technique Name | Implémentation RESURGE |
| Initial Access | T1190 | Exploit Public-Facing Application | Exploitation de CVE-2025-0282 (stack buffer overflow) |
| Exécution | T1059.004 | Unix Shell | Shell SSH via libssh embarqué |
| Persistence | T1542.003 | Bootkit | Modification du coreboot RAM disk chiffré |
| Persistence | T1546.006 | LD_PRELOAD Hijacking | Insertion dans ld.so.preload |
| Persistence | T1505.003 | Web Shell | compcheckresult.cgi avec paramètre vXm8DtMJG |
| Défense Évasion | T1014 | Rootkit | Hooking de la fonction accept() du processus web |
| Défense Évasion | T1070.002 | Clear Linux or Mac System Logs | SPAWNSLOTH (liblogblock.so) via funchook |
| Défense Évasion | T1036.005 | Match Legitimate Name or Location | Certificat TLS forgé imitant Ivanti |
| Défense Évasion | T1027 | Obfuscated Files or Information | Rechiffrement du coreboot avec clé AES extraite |
| Défense Évasion | T1553.006 | Code Signing Policy Modification | Régénération des signatures SHA-256/SHA-512 du manifest |
| Credential Access | T1556 | Modify Authentication Process | Manipulation de l’Integrity Checker (scanner.py) |
| Command and Control | T1071.001 | Web Protocols | TLS passif avec fingerprint CRC32 |
| Command and Control | T1573.002 | Asymmetric Cryptography | ECC P-521 pour le canal C2 chiffré |
| Command and Control | T1090.001 | Internal Proxy | Proxy via socket Unix .logsrv |
3.5 Tendances sur 24 mois et corrélations géopolitiques
La période 2024-2026 confirmé l’industrialisation de l’exploitation des appliances de périmétrie. La fréquence de découverte de vulnérabilités critiques sur Ivanti (CVE-2023-46805, CVE-2024-21887, CVE-2024-21893, CVE-2025-0282) indique un effort de recherche soutenu de la part d’acteurs offensifs. La réponse de la CISA, qui a émis une Emergency Directive (ED 24-01) ordonnant la déconnexion des appliances Ivanti dans les agences fédérales américaines, illustre la gravité systémique de cette tendance. Les corrélations géopolitiques pointent vers des opérations de collecte de renseignements stratégiques par des acteurs étatiques asiatiques, dans un contexte de tensions accrues en mer de Chine méridionale et autour de Taiwan.
4. Méthodologie
4.1 Approche CTI
L’analyse s’articule sur trois niveaux du cycle CTI. Au niveau tactique, l’étude porte sur les indicateurs de compromission (IoCs) : hashes des fichiers, certificats TLS forgés, artefacts réseau et file system. Au niveau opérationnel, l’analyse reconstitué la chaine d’attaque complète, de l’exploitation initiale à la persistance post-reboot, en documentant les TTPs (Tactics, Techniques and Procédures). Au niveau stratégique, l’évaluation couvre les implications pour la posture de sécurité des organisations, les considérations réglementaires et les tendances du threat landscape.
4.2 Frameworks mobilises
MITRE ATT&CK v15 constitue le référentiel principal pour la cartographie des TTPs. Le Diamond Model of Intrusion Analysis est utilisé pour structurer la relation entre l’adversaire, l’infrastructure, la victime et les capacités. La Cyber Kill Chain de Lockheed Martin fournit le cadre séquentiel de l’analyse technique (sections 5.1 a 5.10). Le CVSS v3.1 est utilisé pour la qualification de la vulnérabilité exploitée.
4.3 Logique d’analyse
L’analyse procédé par reverse engineering statique des artefacts binaires documentés dans le MAR CISA, complète par l’interprétation du pseudocode fourni dans les figures 1 a 7 du rapport. La reconstruction de la chaine d’attaque repose sur la documentation technique de la CISA, les publications antérieures sur la famille SPAWN, et la connaissance de l’architecture interne d’Ivanti Connect Secure. Les indicateurs réseau sont dérives de l’analyse du protocole d’authentification TLS personnalise documenté dans le MAR mis à jour.
4.4 Limités méthodologiques
Plusieurs limités doivent etre explicitement reconnues. L’analyse repose sur la documentation publique de la CISA et non sur un accès direct aux binaires. Le pseudocode fourni est une représentation simplifiée du code désassemblé, pouvant omettre des branches conditionnelles ou des mécanismes additionnels. L’attribution à un acteur spécifique depasse le périmètre de cette analyse en l’absence d’accès aux données classifiées. Enfin, les capacités non documentées potentielles de RESURGE (autres commandes, autres mécanismes de persistance) ne peuvent être exclues.
5. Analyse technique
5.1 Accès initial
Le vecteur d’accès initial est l’exploitation de CVE-2025-0282, une vulnérabilité de type stack-based buffer overflow affectant le composant web d’Ivanti Connect Secure (versions antérieures a 22.7R2.5), Policy Secure et ZTA Gateways. L’exploitation est réalisable sans authentification préalable (pre-auth), à distance, via une requête HTTP spécialement formatée. Le CVSS v3.1 de cette vulnérabilité est de 9.0 (Critical). L’exploit maturity est évaluée comme weaponized : des preuves d’exploitation active in-the-wild antérieures à la publication du correctif ont été confirmées par Ivanti et la CISA. Des Proof-of-Concept (PoC) publics ont été identifiés.
5.2 Chaine d’exploitation
La chaine d’exploitation suit un schéma en deux phases. La première phase consiste en l’exploitation du buffer overflow pour obtenir l’exécution de code arbitraire dans le contexte du processus web d’Ivanti Connect Secure. La deuxième phase implique le déploiement de la charge utile RESURGE (libdsupgrade.so) sur le système de fichiers de l’appliance. L’implant est conçu pour être charge dynamiquement par les processus web et dsmdm via le mécanisme LD_PRELOAD de Linux, assurant son exécution automatique lors du demarrage de ces services.
5.3 L’Architecture de la Payload
RESURGE (libdsupgrade.so) est un fichier ELF 32-bit LSB (Intel 80386), dynamically linked, stripped, de 1.41 Mo. Le binaire intégré une architecture modulaire articulee autour de deux modes operatoires determines par le processus hote :
Mode web : Si RESURGE est charge par le processus web d’Ivanti, il intercepté la fonction accept() via un hook (process injection). Ce hook lui permet d’inspecter l’ensemble du trafic TLS entrant et de différencier les connexions légitimes des connexions de l’opérateur distant, via le schéma de fingerprinting CRC32 détaillé en section 5.8.
Mode dsmdm : Si RESURGE est charge par le processus dsmdm, il déploie un serveur SSH complet basé sur une implémentation statiquement liée de libssh. Ce serveur SSH ne se lié pas à un port réseau mais à un socket Unix (/home/runtime/tmp/.logsrv), créant un canal de communication interne entre le composant proxy (mode web) et le composant shell (mode dsmdm).
En complément, RESURGE contient le composant SPAWNSLOTH (liblogblock.so, 95 Ko), qu’il déploie dans /tmp pour neutraliser la journalisation du processus dslogserver. Le troisième artefact, dsmain (5.10 Mo, ELF 64-bit), est un binaire statique embarquant BusyBox et le script extract_vmlinux.sh, utilises pour les opérations de manipulation du firmware.
5.4 Persistance
RESURGE implémenté quatre mécanismes de persistance complémentaires, assurant sa survie même après un reboot ou une mise à jour du firmware :
Persistance via LD_PRELOAD : RESURGE s’inséré en première position dans le fichier /etc/ld.so.preload, garantissant son chargement automatique par tout processus dynamiquement lié. Le fichier DSUpgrade.pm est également modifié pour positionner la variable d’environnement LD_PRELOAD.
Persistance via Web Shell : Un web shell est inséré dans le fichier compcheckresult.cgi, activable via le paramètre HTTP vXm8DtMJG. Ce paramètre permet l’exécution de commandes système arbitraires via le serveur web Ivanti.
Persistence via Bootkit (coreboot) : RESURGE modifié le coreboot RAM disk chiffré de l’appliance. Le processus comprend : extraction de la clé AES de 16 octets depuis le noyau vmlinux (à un offset calcule dynamiquement), déchiffrement du coreboot.img, extraction de l’archive cpio, injection de RESURGE et de dsmain dans le système de fichiers du coreboot, modification du script d’initialisation /bin/init, recompressions, re-chiffrement avec la même clé AES, et remplacement du coreboot.img original. Ce mécanisme assure la persistance même après un reboot complet.
Falsification des contrôles d’intégrité : RESURGE recalculé les hashes SHA-256 de chaque fichier modifié et met à jour le fichier manifest. Il génère ensuite une nouvelle paire de clés RSA 2048 bits, signe le manifest avec SHA-512, et remplacé les fichiers manifest.1 (signature) et manifest.2 (clé publique). Le script check_integrity.sh est modifié pour toujours retourner un code de succès (exit 0). Les scripts scanner.py et scanner_legacy.py sont neutralisés en remplacant les compteurs de fichiers non conformes par des instructions pass.
5.5 Élévation de privilèges
L’exploitation de CVE-2025-0282 fournit directement une exécution de code dans le contexte du processus web, qui s’exécute avec des privilèges élevés sur l’appliance Ivanti. Le mécanisme LD_PRELOAD assure que RESURGE hérite des privilèges de tout processus qu’il infecte. L’accès au coreboot et la capacité de modifier le script init démontrent un accès de niveau root. Aucun mécanisme spécifique d’escalade de privilèges supplémentaire n’est documenté, l’exploitation initiale fournissant déjà les privilèges nécessaires.
5.6 Contournement des défenses
RESURGE implémenté un arsenal d’évasion d’une profondeur remarquable, operant à plusieurs niveaux :
Évasion au niveau réseau : Le mécanisme de C2 passif par fingerprinting CRC32 des paquets TLS ClientHello permet a RESURGE de se fondre dans le trafic TLS légitime. Aucun trafic sortant anormal n’est génère. Le certificat TLS forgé imitant un certificat Ivanti (CN=va1.Ivanti.net, O=Ivanti Org) est utilisé comme mécanisme d’authentification dans le ServerHello, non pour chiffrer les communications. L’échange TLS initial est un faux : le buffer de 65547 octets utilisé pour recevoir les données est une variable locale de pile (stack) qui n’est pas persistante, confirmant qu’il s’agit d’une vérification d’identité et non d’un handshake TLS réel. La connexion sécurisée réelle utilisé ensuite Mutual TLS avec ECC (courbe P-521).
Évasion au niveau système de fichiers : La régénération des hashes SHA-256 dans le manifest, la résignation avec une nouvelle paire RSA, et la modification du script check_integrity.sh neutralisent complètement le mécanisme d’intégrité d’Ivanti (Integrity Checker Tool, ICT).
Évasion au niveau journaux : Le composant SPAWNSLOTH (liblogblock.so) intercepté la fonction _ZN5DSLog4File3addEPKci du processus dslogserver via funchook, supprimant ou altérant les entrées de journalisation.
Évasion au niveau scanner : Les modifications de scanner.py et scanner_legacy.py empêchent la détection de fichiers modifiés ou ajoutes par le scanner de conformité d’Ivanti.
5.7 Mouvement latéral.
RESURGE ne contient pas de mécanismes intrinsèques de mouvement latéral. Cependant, la position stratégique de l’appliance Ivanti Connect Secure en tant que concentrateur VPN confère à l’opérateur un accès direct au réseau interne de l’organisation. Le shell SSH complet fourni par le composant libssh permet à l’opérateur d’utiliser l’appliance compromise comme pivot pour mener des opérations de mouvement latérales via des outils standards ou supplémentaires déployés ultérieurement. L’outil BusyBox embarqué dans dsmain (avec les applets wget, curl-like via sh, et les utilitaires de compression) facilite le téléchargement d’outils additionnels.
5.8 Command and Control
L’architecture C2 de RESURGE repose sur un modèle passif d’une sophistication élevée, en quatre étapes :
Étape 1 – Fingerprinting CRC32 du ClientHello : Le hook sur la fonction accept() intercepté les connexions TLS entrantes. RESURGE extrait les 32 octets du champ random du ClientHello TLS. Les 28 derniers octets sont hashes avec CRC32. Le résultat est byte-swappe via l’instruction BSWAP ((v2 << 8) & 0xFF0000 | (v2 << 24) | (v2 >> 8) & 0xFF00 | HIBYTE(v2)). Ce résultat est compare aux 4 premiers octets du champ random. Si la correspondance échoue, la connexion est transmise au serveur web Ivanti légitime.
Étape 2 – Generation du ServerHello avec fingerprint CRC32 : RESURGE génère 28 octets aléatoires, en calcule le CRC32 hash, byte-swappe le résultat via _byteswap_ulong(), et place ces 4 octets en tête du champ random du ServerHello. L’opérateur distant peut ainsi vérifier qu’il communique bien avec RESURGE et non le serveur Ivanti légitime.
Étape 3 – Transmission du certificat TLS forgé : Le ServerHello est accompagne d’un certificat TLS forgé (1306 octets au total pour la réponse). Ce certificat, émis pour CN=va1.Ivanti.net par O=Ivanti Org, valide du 15 juillet 2024 au 5 janvier 2030, avec un serial number 59:d3:b0:74:ac:64:33:01, constitue un indicateur réseau déterministe. Ce certificat est transmis en clair sur le réseau et peut être détecté par inspection passive du trafic.
Étape 4 – Établissement du Mutual TLS avec ECC : Après la phase d’authentification initiale (fake TLS), une session Mutual TLS réelle est établie utilisant Elliptic Curve Cryptography sur la courbe secp521r1 (NIST P-521). RESURGE demande la clé EC de l’opérateur et la vérifié via un certificat d’autorité de certification (CA) EC embarqué en dur. La clé publique EC du certificat serveur et la clé privée EC sont codées en dur dans le binaire (format DER). Ce mécanisme assure que seul un opérateur disposant d’un certificat signe par la CA embarquée peut accéder aux capacités C2.
Communication interne proxy-shell : Le composant proxy (mode web) transmet le trafic authentifie vers le socket Unix /home/runtime/tmp/.logsrv. Le composant shell (mode dsmdm) écoute sur ce même socket et fournit l’accès SSH complet via libssh. Cette architecture découplé le point d’entrée réseau du shell interactif.
5.9 Exfiltration de données
Aucun mécanisme automatisé d’exfiltration de données n’est documenté dans RESURGE. Cependant, le shell SSH complet fourni à l’opérateur permet une exfiltration manuelle ou scripté via tout protocole disponible sur l’appliance. La position de l’appliance Ivanti en tant que concentrateur VPN offre un accès potentiel à l’ensemble du trafic VPN transitant par l’équipement, y compris les identifiants d’authentification des utilisateurs. Les applets BusyBox (tar, gzip, cat, etc.) facilitent la préparation et le transfert de données.
5.10 La logic d’impact
L’impact de RESURGE est structurellement maximal. L’opérateur dispose d’un contrôle total sur l’appliance (shell root via SSH), d’une visibilité sur le trafic VPN de l’organisation, d’une persistance survivant aux redémarrages et aux mises à jour (bootkit coreboot), d’une invisibilité vis-à-vis des outils d’intégrité du constructeur, et d’une capacité d’effacement de traces (log tampering). L’appliance compromise devient un point d’entrée permanent et furtif vers le réseau interne, exploitable à la discretion de l’opérateur pour de l’espionnage, de l’exfiltration, du positionnement pre-opérationnel, ou du sabotage.
6. Détection Engineering Perspective
6.1 Détection surface
La surface de détection de RESURGE est intentionnellement minimale, mais plusieurs indicateurs exploitables sont identifiés :
Indicateurs réseau (Network-Based) : Le certificat TLS forgé (CN=va1.Ivanti.net, serial 59:d3:b0:74:ac:64:33:01) est transmis en clair dans le ServerHello lors des connexions C2. Ce certificat constitue l’indicateur le plus fiable et le plus actionnable. Une règle de détection sur le serial number ou le modulos RSA du certificat dans les flux TLS non déchiffres (inspection du ServerHello) offre une détection déterministe. Le schéma CRC32 du champ random TLS est détectable théoriquement mais difficilement exploitable opérationnellement en raison du volume de trafic TLS.
Indicateurs système (Host-Based) : Présence de libdsupgrade.so dans /lib/ et dans le coreboot. Présence de /home/runtime/tmp/.logsrv (socket Unix). Présence de /tmp/.liblogblock.so. Modification de /etc/ld.so.preload. Modification de compcheckresult.cgi (ajout du paramètre vXm8DtMJG). Modification de DSUpgrade.pm (ajout de LD_PRELOAD). Modification de scanner.py et scanner_legacy.py (remplacement par pass). Modification de check_integrity.sh (exit 0).
6.2 Blind spots
Les angles morts sont significatifs. L’ICT d’Ivanti est neutralisé (hashes régénères, manifest resigne, scanner désactivé). Les journaux système sont altérés par SPAWNSLOTH. Le trafic C2 se fond dans le trafic TLS légitime. Le firmware modifié (coreboot) n’est pas inspecte par les outils standards. Les solutions EDR ne sont généralement pas déployées sur les appliances VPN. La nature dormante de RESURGE signifie que les indicateurs réseau ne sont observables que lorsque l’opérateur se connecte activement.
6.3 Telemetry requirements
La détection opérationnelle requiert : l’inspection passive du trafic TLS (extraction des certificats du ServerHello) sur les liens en amont de l’appliance Ivanti ; l’accès au système de fichiers de l’appliance pour la vérification des IoCs host-based (idealement via une méthode indépendante du mécanisme ICT compromis) ; la capture et l’analyse du trafic réseau en amont et en aval de l’appliance ; et la capacité de forensique firmware (extraction et analyse du coreboot).
6.4 SOC corrélation logic
Les règles de corrélation SOC doivent cibler : la détection du certificat TLS forgé dans les flux ServerHello (signature déterministe) ; les connexions TLS entrantes vers l’appliance Ivanti dont le ServerHello contient un certificat différent du certificat Ivanti légitime connu ; les accès au fichier compcheckresult.cgi avec le paramètre vXm8DtMJG dans les journaux du reverse proxy ou du WAF si déployé en amont ; et les anomalies de journalisation sur l’appliance Ivanti (gaps, interruptions).
6.5 Threat Hunting hypothèses
Hypothèse 1 : Des appliances Ivanti Connect Secure déployées dans l’organisation hébergent une instance dormante de RESURGE, détectable par l’analyse forensique du système de fichiers et du coreboot. Hypothèse 2 : Des connexions TLS entrantes vers les appliances Ivanti contiennent le certificat forgé de RESURGE, détectables par l’analyse rétrospective des captures réseau. Hypothèse 3 : Les fichiers de configuration et de contrôle d’intégrité de l’appliance ont été modifiés, détectable par comparaison avec une image de référence propre.
6.6 Indicateurs de compromission vs indicateurs de comportement
Les IoCs statiques (hashes SHA-256) des trois artefacts sont documentés dans le MAR CISA et le fichier STIX JSON associé. Cependant, la valeur opérationnelle des IoCs statiques est limitée dans ce cas : les hashes peuvent varier entre deployments, et le caractère dormant de l’implant réduit les opportunités de détection basée sur les IoCs réseau. Les Indicators of Behavior (IoBs) sont plus durables et incluent : la présence de la structure CRC32 de fingerprinting TLS, l’utilisation d’un socket Unix nomme .logsrv, la modification de ld.so.preload, et la neutralisation des mécanismes d’intégrité. Les règles YARA fournies par la CISA (CISA_25993211_01, CISA_25239228_04, CISA_25993211_02) constituent les signatures de détection les plus fiables au niveau host.
Indicators of Compromise
| Type | Value | Description |
| SHA-256 | 52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda | libdsupgrade.so (RESURGE) |
| SHA-256 | 3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104 | liblogblock.so (SPAWNSLOTH) |
| SHA-256 | b1221000f43734436ec8022caaa34b133f4581ca3ae8eccd8d57ea62573f301d | dsmain (BusyBox + extract_vmlinux.sh) |
| TLS Cert Serial | 59:d3:b0:74:ac:64:33:01 | Fake Ivanti TLS Certificate |
| TLS Cert CN | va1.Ivanti.net | Fake Ivanti TLS Certificate Subject |
| TLS Cert Org | Ivanti Org | Fake Ivanti TLS Certificate Issuer |
| File Path | /home/runtime/tmp/.logsrv | UNIX socket for C2 proxy-shell communication |
| File Path | /tmp/.liblogblock.so | SPAWNSLOTH dropper location |
| Web Shell Parameter | vXm8DtMJG | compcheckresult.cgi backdoor parameter |
| EC CA CN | CN=QcCpIAsFy6cEI | Embedded EC Certificate Authority |
| EC Cert CN | CN=YUjdgeQQyLtco | Embedded EC Public Certificate |
7. Modélisation du risque
7.1 Risque opérationnel
Le risque opérationnel est évalué comme CRITICAL. L’implant fournit un accès shell complet, persistant et furtif à un équipement en position de périmétrie. La compromission d’une appliance VPN permet potentiellement l’interception de l’ensemble des sessions VPN, l’accès aux identifiants des utilisateurs, et le pivotement vers le réseau interne. La neutralisation des mécanismes d’intégrité du constructeur signifie que les procédures opérationnelles standard de vérification ne sont plus fiables. La nature dormante de l’implant implique que la fenêtre d’exposition peut s’étendre sur des mois ou des années sans détection.
7.2 Risque stratégique
Le risque stratégique est évalué comme HIGH. La compromission d’appliances Ivanti Connect Secure dans des secteurs critiques (gouvernement, défense, finance, santé, Energie) peut avoir des conséquences stratégiques : accès à des informations classifiées ou sensibles, positionnement pour des opérations de sabotage en temps de crise, et atteinte à la confiance dans les solutions de sécurité périmétrique. L’attribution probable à un acteur étatique amplifie la dimension stratégique.
7.3 Risque réglementaire
Le risque réglementaire est évalué comme HIGH. En Europe, la directive NIS2 impose des obligations de notification des incidents significatifs dans un délai de 24 heures (alerte précoce) et 72 heures (notification complète). Le règlement DORA impose des exigences similaires pour le secteur financier. La découverte d’un implant dormant datant potentiellement de plusieurs mois pose la question de la détermination de la date de l’incident et de la conformité aux délais de notification. Le RGPD s’applique si des données personnelles ont été accessibles ou exfiltrées via l’appliance compromise.
7.4 Risque lié à la chaîne d’approvisionnement
Le risque supply chain est évalué comme MODERATE a HIGH. Bien que RESURGE ne constitue pas stricto sensu une attaque de supply chain (le vecteur initial est l’exploitation d’une vulnérabilité, non la compromission du processus de distribution d’Ivanti), la modification du firmware (coreboot) introduit un risque de propagation via les mécanismes de mise à jour. Si une image de firmware compromise est sauvegardée et réutilisée, le risque se propage. La confiance dans les mécanismes d’intégrité du constructeur est structurellement compromise par les capacités de RESURGE.
7.5 Scénarios d’amplification du risque
Plusieurs scénarios d’amplification sont identifiés. La compromission simultanée de multiples appliances Ivanti dans une même organisation permettrait un accès latéral étendu. L’utilisation de l’accès RESURGE comme point d’entrée pour une opération de ransomware amplifierait l’impact opérationnel et financier. La combinaison avec une attaque de supply chain ciblant les processus de backup et de restauration pourrait rendre la remédiation significativement plus complexe. La revente d’accès RESURGE via des écosystèmes IAB pourrait multiplier les acteurs exploitant la compromission.
8. Mesures d’atténuation et contrôles structurels
8.1 Contrôles techniques immédiats
Les contrôles immédiats doivent inclure : le déploiement des règles YARA fournies par la CISA (CISA_25993211_01, CISA_25239228_04, CISA_25993211_02) sur les systèmes de scan de fichiers ; l’implémentation d’une règle de détection réseau sur le certificat TLS forgé (serial 59:d3:b0:74:ac:64:33:01, CN=va1.Ivanti.net) dans les solutions NIDS/NIPS ; la vérification forensique indépendante (non basée sur l’ICT Ivanti) du système de fichiers de toutes les appliances Ivanti Connect Secure déployées ; et l’analyse du coreboot des appliances pour détecter les modifications non autorisées.
8.2 Ajustements tactiques de réponse
Les ajustements tactiques comprennent : la reconstruction complète (factory reset et réinstallation à partir d’une image propre) de toute appliance Ivanti sur laquelle des IoCs sont détectés ; la rotation immédiate de tous les identifiants, certificats et clés accessibles depuis l’appliance compromise ; l’examen forensique du trafic réseau historique pour identifier les connexions C2 via le certificat forgé ; et l’activation d’une surveillance renforcée du trafic en amont des appliances Ivanti.
8.3 Refonte architecturale si nécessaire
La compromission répétée d’appliances Ivanti Connect Secure doit conduire à une réévaluation architecturale. Les options incluent : la migration vers une architecture Zero Trust Network Access (ZTNA) réduisant la dépendance à un concentrateur VPN unique ; le déploiement de solutions de micro-segmentation limitant l’impact d’une compromission de périmétrie ; l’ajout de couches de détection indépendantes de l’appliance (sondes réseau, inspection TLS en amont, jump servers) ; et l’évaluation de solutions VPN alternatives avec un historique de sécurité plus favorable.
8.4 Adaptation de la gouvernance
Les adaptations de gouvernance incluent : l’intégration des appliances de périmétrie dans le périmètre de la surveillance SOC avec le même niveau de télémétrie que les serveurs critiques ; la mise à jour des procédures de réponse à incident pour inclure la forensique firmware ; la révision des contrats de support constructeur pour exiger des mécanismes d’intégrité vérifiables indépendamment ; et l’ajout de scénarios de compromission d’appliances VPN dans les exercices de crise.
8.5 Implications en matière de maturité CERT
La détection et la remédiation de RESURGE requièrent un niveau de maturité CERT élevé. Les compétences nécessaires incluent : la forensique d’appliances embarquées (extraction et analyse de firmware, reverse engineering de binaires ELF 32/64-bit) ; l’analyse de trafic TLS (inspection des certificats dans les handshakes) ; la capacité de détection basée sur les IoCs réseau et host-based ; et la coordination avec les CERT nationaux (CERT-FR, CISA) pour le partage d’indicateurs. Les équipes CERT/CSIRT doivent évaluer leur capacité à conduire une investigation forensique sur des appliances propriétaires dont l’architecture interne est partiellement documentée.
9. Perspectives stratégiques (6-12 mois)
9.1 Industrialisation probable
La publication du MAR mis à jour par la CISA, bien que bénéfique pour les défenseurs, fournit également un blueprint détaillé pour d’autres acteurs de menace. L’industrialisation des techniques documentées (fingerprinting CRC32, manipulation du coreboot, falsification des mécanismes d’intégrité) au sein de frameworks offensifs est probable dans un horizon de 6 à 12 mois. La disponibilité de PoC pour CVE-2025-0282 accélère cette dynamique.
9.2 Évolution des TTP
Les évolutions TTP anticipées incluent : le remplacement du schéma CRC32 par des mécanismes d’authentification plus robustes (HMAC, signatures asymétriques) dans les variantes futures ; l’évolution du certificat TLS forgé pour échapper aux signatures de détection basées sur le certificat actuel ; l’extension du modèle à d’autres appliances de périmétrie (Fortinet, Palo Alto, Citrix) ; et le renforcement du chiffrement du canal C2 pour complexifier l’analyse.
9.3 Courbe de weaponization
La courbe de weaponization de CVE-2025-0282 est déjà à maturité. La vulnérabilité est activement exploitée, des PoC sont disponibles, et l’implant RESURGE est pleinement opérationnel. L’évolution probable concerne la diversification des payloads déployés via ce vecteur et l’adaptation aux correctifs déployés par Ivanti.
9.4 Anticipation des variantes
Des variantes de RESURGE sont prévisibles, ciblant : les nouvelles versions d’Ivanti Connect Secure avec des mécanismes d’intégrité renforcés (nécessitant une adaptation des techniques de falsification) ; d’autres appliances de périmétrie partageant des architectures similaires (Linux embarqué avec gestion de firmware chiffré) ; et des objectifs additionnels tels que l’injection de capacités d’exfiltration automatisée ou de mouvement latéral autonome.
9.5 Impact sur la surface d’attaque sectorielle
Les secteurs les plus exposés sont : le secteur gouvernemental et de la défense (cibles prioritaires pour l’espionnage étatique) ; le secteur financier (données transactionnelles et stratégiques, obligations DORA) ; le secteur de la santé (données médicales, systèmes critiques) ; et les opérateurs d’infrastructures critiques (énergie, télécoms, transports). La généralisation du télétravail post-pandémie a amplifié la dépendance aux solutions VPN, élargissant la surface d’attaque sectorielle.
10. Ma conclusion
L’analyse approfondie de RESURGE révèle un implant d’une sophistication qui dépasse la compromission opportuniste. La combinaison d’un modèle C2 passif basé sur le fingerprinting TLS, d’une persistance multicouches incluant la manipulation du firmware chiffré, et d’une neutralisation méthodique de l’ensemble des mécanismes de détection et d’intégrité du constructeur constitue un tradecraft cohérent, méthodique et probablement opéré par un acteur disposant de ressources significatives et d’une connaissance approfondie de l’architecture Ivanti.
La mise à jour du MAR CISA de février 2026 apporte un éclairage déterminant sur la nature dormante de RESURGE. L’implant ne génère aucune activité observable en l’absence de connexion de l’opérateur, ce qui invalide les approches de détection basées sur le trafic C2 sortant. Cette caractéristique implique que le nombre d’instances de RESURGE déployées et non détectées est probablement sous-estimé.
Les implications pour les défenseurs sont structurelles. La confiance dans les mécanismes d’intégrité fournis par le constructeur (ICT, scanner.py) est irrémédiablement compromise pour les équipements potentiellement affectés. La seule remédiation fiable est la reconstruction complète à partir d’une image propre, précédée d’une forensique approfondie. À moyen terme, la dépendance à des appliances propriétaires de périmétrie dont le firmware n’est pas intégralement auditable constitue un risque architectural que les organisations doivent intégrer dans leur stratégie de sécurité.
Le certificat TLS forgé constitue l’indicateur réseau le plus actionnable identifié. Son déploiement en tant que signature de détection dans les solutions NIDS/NIPS et les capacités d’inspection TLS passive représente la mesure de détection la plus efficace pour les organisations n’ayant pas encore conduit une forensique complète de leurs appliances.
11. Références
- CISA MAR-25993211-r1.v2 : https://www.cisa.gov/news-events/analysis-reports/ar25-087a
- CISA Alert – RESURGE Malware Associated with Ivanti Connect Secure : https://www.cisa.gov/news-events/alerts/2025/03/28/cisa-releases-malware-analysis-report-resurge-malware-associated-ivanti-connect-secure
- CISA Mitigation Instructions for CVE-2025-0282 : https://www.cisa.gov/cisa-mitigation-instructions-cve-2025-0282
- CISA Known Exploited Vulnerabilities Catalog – CVE-2025-0282 : https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Ivanti Security Advisory SA-2025-0282 : https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-Policy-Secure-ZTA-Gateways-CVE-2025-0282
- NVD – CVE-2025-0282 : https://nvd.nist.gov/vuln/detail/CVE-2025-0282
- MITRE ATT&CK – T1190 Exploit Public-Facing Application : https://attack.mitre.org/techniques/T1190/
- MITRE ATT&CK – T1542.003 Bootkit : https://attack.mitre.org/techniques/T1542/003/
- MITRE ATT&CK – T1546.006 LC_LOAD_DYLIB Addition / LD_PRELOAD : https://attack.mitre.org/techniques/T1546/006/
- MITRE ATT&CK – T1505.003 Web Shell : https://attack.mitre.org/techniques/T1505/003/
- MITRE ATT&CK – T1014 Rootkit : https://attack.mitre.org/techniques/T1014/
- MITRE ATT&CK – T1573.002 Asymmetric Cryptography : https://attack.mitre.org/techniques/T1573/002/
- Mandiant – UNC5337 / UNC5221 Ivanti Exploitation : https://www.mandiant.com/resources/blog/investigating-ivanti-exploitation-new
- CISA Emergency Directive ED 24-01 : https://www.cisa.gov/emergency-directive-24-01
- Directive NIS2 (UE) 2022/2555 : https://eur-lex.europa.eu/eli/dir/2022/2555
- Règlement DORA (UE) 2022/2554 : https://eur-lex.europa.eu/eli/reg/2022/2554
- funchook (open source hooking library) : https://github.com/nicecai/funchook
- BusyBox : https://busybox.net/
- CISA AR25-087A STIX JSON : https://www.cisa.gov/sites/default/files/2025-03/AR25-087A_STIX.json



