Bypass EDR
hackingDéfinition
Techniques permettant de contourner les solutions Endpoint Detection and Response : unhooking, direct syscalls, BYOVD, sleep obfuscation.
Fonctionnement technique
Le bypass EDR englobe l'ensemble des techniques utilisées pour contourner les solutions Endpoint Detection and Response, permettant l'exécution de code malveillant sans déclencher d'alerte. Les EDR modernes s'appuient sur plusieurs mécanismes de détection : hooking des appels système (NTDLL), analyse comportementale, scanning mémoire (AMSI), ETW (Event Tracing for Windows) et machine learning. Chaque mécanisme peut être ciblé individuellement.
Le unhooking consiste à restaurer les fonctions NTDLL originales en rechargeant une copie propre de ntdll.dll depuis le disque, éliminant les hooks placés par l'EDR. Les techniques de direct syscalls contournent complètement la couche userland en invoquant directement les syscalls du noyau via des stubs assembleur, évitant ainsi les fonctions hookées. Des outils comme SysWhispers automatisent la génération de ces stubs.
Le patching AMSI (Anti-Malware Scan Interface) neutralise l'inspection des scripts PowerShell et .NET en modifiant la fonction AmsiScanBuffer en mémoire. Le blinding ETW désactive la télémétrie en patchant EtwEventWrite. Les techniques de process injection (Process Hollowing, Early Bird APC) permettent d'exécuter du code dans le contexte de processus légitimes.
Cas d'usage
Les Red Teams et les pentesters utilisent ces techniques lors d'exercices offensifs pour simuler des attaques avancées et tester la robustesse des défenses EDR. Comprendre le bypass EDR est essentiel pour les Blue Teams qui doivent configurer et durcir leurs solutions de détection.
Les groupes APT sophistiqués emploient ces techniques en production. Le groupe FIN7 a utilisé des loaders personnalisés avec unhooking pour déployer Cobalt Strike sans détection. Les opérateurs de ransomware comme BlackCat ont développé des outils de neutralisation EDR (EDR killers) ciblant les drivers kernel des solutions de sécurité.
Outils et implémentation
SysWhispers et SysWhispers2 génèrent des stubs de direct syscalls en C/ASM. Scarecrow crée des loaders avec des techniques d'évasion intégrées (unhooking, ETW patching, encryption). NimPackt et Nim sont prisés pour créer des implants car le langage produit des binaires peu connus des signatures AV.
SharpBlock intercepte le chargement des DLL EDR dans les processus enfants. PPLdump et PPLmedic exploitent les processus protégés (PPL) pour extraire des credentials. Côté défensif, Elastic EDR et CrowdStrike implémentent des détections kernel-level plus résistantes au unhooking userland.
Défense / Bonnes pratiques
Pour renforcer votre EDR contre le bypass, activez les protections kernel-level quand disponibles. Les minifilters de fichiers et les callbacks kernel sont plus difficiles à contourner que les hooks userland. Activez le mode tamper protection pour empêcher la désactivation de l'agent EDR.
Surveillez les indicateurs de bypass : chargement de ntdll.dll depuis des chemins inhabituels, appels RtlAdjustPrivilege, modification des protections mémoire des DLL système (VirtualProtect sur ntdll), création de processus suspendus (Process Hollowing). Créez des règles de détection spécifiques dans votre SIEM.
Implémentez une stratégie de défense en profondeur : l'EDR n'est qu'une couche. Combinez-le avec du NDR (Network Detection and Response) pour détecter les communications C2, du SIEM pour la corrélation d'événements, et des honeypots pour détecter les mouvements latéraux. Testez régulièrement votre EDR avec des frameworks comme Atomic Red Team.
Articles associés
Voir nos articles détaillés sur ce sujet.
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis