🔍 Contexte
Publié le 8 juin 2026 par Sygnia, cet article présente les résultats d’une investigation forensique approfondie sur l’Opération Highland, une intrusion attribuée à Velvet Ant, un acteur de menace à nexus chinois. Les premiers artefacts forensiques remontent à 2016, soit près d’une décennie de présence non détectée.
🎯 Cible et particularité de l’attaque
Le réseau ciblé était une infrastructure critique sans connectivité internet directe. L’attaquant a contourné cette isolation en construisant une chaîne d’accès multi-étapes :
- Étape 1 : Compromission de systèmes exposés sur internet
- Étape 2 : Pivotement à travers le réseau IT vers l’infrastructure critique
- Étape 3 : Subversion de la couche d’authentification pour une persistance durable
🛠️ Techniques et outils utilisés
Étape 1 – Accès initial :
- Déploiement d’une version modifiée de GS-Netcat (renommé
auditdb, placé dans/usr/sbin/), se déguisant en thread kernel[khubd] - Persistance via unité systemd malveillante (déguisée en service Chrome) ou ajout dans les scripts SysVinit (
/etc/init.d/) - Déploiement d’un proxy SOCKS5 en Perl (basé sur le projet
ssspl), se déguisant ensmbd -D
Étape 2 – Mouvement latéral :
- Abus de Nginx et FastCGI (
fcgiwrap) pour créer un pont d’exécution vers le réseau isolé via requêtes HTTP POST - Un binaire nommé
uptimeétablissait des connexions SSH vers l’infrastructure critique
Étape 3 – Persistance dans la couche d’authentification :
- 9 variantes de
pam_unix.sobackdooré identifiées, compilées dans des environnements distincts :- Variante 1 : bypass par mot de passe hardcodé, effacement en mémoire après usage
- Variante 2 : bypass (
Pamauth@123456chiffré) + harvesting des credentials dans/usr/sbin/.ssh.log
- Binaires OpenSSH modifiés (
ssh,sshd,scp,ssh-keygen) :- Credential dumping chiffré vers
/usr/share/man9/ph/.ph.man - Keylogging chiffré vers
/usr/share/man9/ph/ - Flag
-dpour désactiver leur propre logging lors des opérations - Timestomping des fichiers créés (horodatage calqué sur
/etc/shells/) - Désactivation de SELinux via
scpexécuté en root - Masquage de processus
[kauditd] -shvia flag!
- Credential dumping chiffré vers
- Variante ancienne : backdoor sshd avec 7 hashes MD5 rotatifs (un par jour de la semaine), logs dans
/var/lib/sam/ - Abus des
authorized_keyspour un accès persistant sans mot de passe
📊 Indicateurs de sophistication
- 9 variantes de PAM compilées dans des environnements séparés → pipeline de build structuré
- Gestion active de l’empreinte forensique (flag
-d, timestomping) - Présence non détectée depuis 2016 (keylog le plus ancien)
- Escalade systématique vers des composants moins surveillés à chaque détection
📄 Nature de l’article
Il s’agit d’une analyse technique approfondie publiée par Sygnia à des fins de documentation CTI et de sensibilisation, présentant le déroulé complet d’une intrusion sophistiquée de longue durée.
🧠 TTPs et IOCs détectés
Acteurs de menace
- Velvet Ant (state-sponsored) — orkl.eu · MITRE ATT&CK
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1505.003 — Server Software Component: Web Shell (Persistence)
- T1090.001 — Proxy: Internal Proxy (Command and Control)
- T1090.002 — Proxy: External Proxy (Command and Control)
- T1021.004 — Remote Services: SSH (Lateral Movement)
- T1556.003 — Modify Authentication Process: Pluggable Authentication Modules (Credential Access)
- T1556.001 — Modify Authentication Process: Domain Controller Authentication (Defense Evasion)
- T1543.002 — Create or Modify System Process: Systemd Service (Persistence)
- T1037 — Boot or Logon Initialization Scripts (Persistence)
- T1098.004 — Account Manipulation: SSH Authorized Keys (Persistence)
- T1056.001 — Input Capture: Keylogging (Collection)
- T1003 — OS Credential Dumping (Credential Access)
- T1070.006 — Indicator Removal: Timestomp (Defense Evasion)
- T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
- T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)
- T1601.001 — Modify System Image: Patch System Image (Defense Evasion)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
- T1572 — Protocol Tunneling (Command and Control)
- T1599 — Network Boundary Bridging (Defense Evasion)
IOC
- Domaines :
gs.thc.org— VT · URLhaus · ThreatFox - CVEs :
CVE-2024-20399— NVD · CIRCL - Fichiers :
auditdb - Fichiers :
pam_unix.so - Fichiers :
uptime - Fichiers :
fcgiwrap - Chemins :
/usr/sbin/auditdb - Chemins :
/lib/systemd/system/ - Chemins :
/etc/init.d/ - Chemins :
/usr/sbin/.ssh.log - Chemins :
/usr/share/man9/ph/.ph.man - Chemins :
/usr/share/man9/ph/ - Chemins :
/usr/lib/eth-scsi/libethscsi.so - Chemins :
/var/lib/sam/
Malware / Outils
- GS-Netcat (tool)
- VELVETSHELL (backdoor)
- SOCKS5 Proxy (Perl custom) (tool)
- pam_unix.so backdooré (backdoor)
- OpenSSH modifié (backdoor)
🟡 Indice de vérification factuelle : 63/100 (moyenne)
- ⬜ sygnia.co — source non référencée (0pts)
- ✅ 29476 chars — texte complet (fulltext extrait) (15pts)
- ✅ 14 IOCs (IPs/domaines/CVEs) (10pts)
- ✅ 1/1 IOC(s) confirmé(s) (ThreatFox, URLhaus, VirusTotal) (8pts)
- ✅ 19 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ✅ acteur(s) identifié(s) : Velvet Ant (5pts)
- ⬜ 0/1 CVE(s) confirmée(s) (0pts)
IOCs confirmés externellement :
gs.thc.org(domain) → VT (11/91 détections)
🔗 Source originale : https://www.sygnia.co/blog/operation-highland-velvet-ant/