Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Process Doppelganging

hacking

Définition

Process Doppelganging est une technique d'injection de code en mémoire présentée à Black Hat Europe 2017 par Tal Liberman et Eugene Kogan (enSilo), qui exploite le mécanisme de transactions NTFS (TxF) de Windows pour exécuter du code malveillant dans le contexte d'un processus légitime, sans que le code malveillant ne soit jamais écrit sur le disque de manière permanente et sans laisser les artefacts habituels des injections classiques. Le mécanisme utilise les transactions NTFS : 1) créer une transaction NTFS avec NtCreateTransaction, 2) écrire un payload malveillant dans un fichier dans le contexte de cette transaction (les modifications transactionnelles sont visibles uniquement dans le contexte de la transaction, pas pour d'autres processus ou l'antivirus qui scanne le disque), 3) créer une Section (objet de mémoire mappé) depuis ce fichier transactionnel, 4) annuler la transaction (le fichier n'est jamais validé sur disque), 5) créer un processus depuis cette Section — le processus démarre avec le code malveillant mais le fichier n'existe pas sur disque. L'avantage par rapport aux injections classiques : les AV qui scannent les fichiers sur disque ne trouvent jamais le payload (la transaction est annulée). Les techniques de détection basées sur les événements de création de processus voient un processus créé depuis un fichier 'légitime' (le fichier transactionnel qui n'existe plus). La mémoire du processus contient le code malveillant mais sans les marqueurs habituels des injections (pas de régions RWX créées par injection externe).

Fonctionnement

Implémentation simplifiée : CreateTransaction → NtCreateFile dans le contexte transactionnel → NtWriteFile (payload malveillant) → NtCreateSection depuis le fichier → RollbackTransaction (annule l'écriture disque) → ZwCreateProcess avec la Section créée → ZwCreateThreadEx. Le processus s'exécute avec le code malveillant mais le fichier source n'existe jamais sur disque de manière permanente. Des PoCs publics implémentent cette technique complète.

Exploitation offensive

Process Doppelganging est utilisé par des malwares sophistiqués (SynAck ransomware) pour échapper aux analyses AV. La technique est particulièrement efficace contre les AV qui ne monitoritent pas les objets de mémoire partagée (Sections) et se fient aux événements de création de fichiers pour la détection.

Détection et mitigation

La détection nécessite la surveillance des appels NtCreateTransaction couplés à NtCreateSection et NtCreateProcess dans des séquences inhabituelles. Windows Defender Antivirus a été mis à jour pour détecter les signatures de Process Doppelganging. Les EDR avec kernel callbacks sur les créations de processus et sections peuvent analyser la source de la Section pour détecter les sections non backed by disk files.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis