Installer Kali Linux pour du pentest
Installer Kali Linux pour le pentest : guide complet 2026 (VM, WSL, Live USB)
10 juin 2026

EDR (Endpoint Detection and Response) : fonctionnement, architecture et perspective offensive

Détection - Réponse - Sécurité des endpoints - Red Team

Les EDR sont devenus le principal obstacle que les pentesters et les attaquants doivent contourner sur chaque endpoint Windows. Comment fonctionnent-ils réellement ? Quels mécanismes de détection activent-ils ? Comment nos équipes les testent et les évaluent en mission ? Guide complet par les experts offensifs PIIRATES.

Qu’est-ce qu’un EDR ?

 

Un EDR (Endpoint Detection and Response) est une solution de sécurité conçue pour surveiller en continu l’activité des terminaux d’un système d’information : postes de travail, serveurs, machines virtuelles. Contrairement aux antivirus traditionnels qui reposent principalement sur la détection de signatures connues, les EDR adoptent une approche comportementale. Leur objectif n’est plus uniquement d’identifier un fichier malveillant, mais de détecter les actions suspectes réalisées en temps réel sur une machine, même lorsqu’aucun malware connu n’est présent sur le disque.

Le terme « EDR » a été introduit en 2013 par Anton Chuvakin (Gartner) pour décrire une nouvelle catégorie de solutions capables de combler le vide entre la détection statique des antivirus et la capacité de réponse aux incidents. Depuis, les EDR sont devenus le composant central de la sécurité des endpoints dans les organisations de toutes tailles.

Concrètement, un EDR est capable de surveiller :

  • La création de processus et de threads, et leurs relations parent/enfant.
  • Les chargements de bibliothèques en mémoire (DLL injection, process hollowing).
  • Les accès aux processus sensibles comme LSASS (cible des attaques de vol de credentials).
  • Les modifications du registre Windows (persistance, désactivation de protections).
  • Les connexions réseau sortantes (C2, exfiltration de données).
  • Les opérations sur le système de fichiers (création, modification, chiffrement de fichiers).
  • L’exécution de scripts PowerShell, WMI et d’autres LOLBins (Living Off the Land Binaries).

Ces événements sont collectés en continu, envoyés à une plateforme centralisée et analysés par des moteurs de corrélation pour détecter des comportements caractéristiques d’une attaque : injection de code, tentative d’extraction d’identifiants, mouvement latéral, établissement d’un canal C2 ou ransomware.

 

 

EDR vs Antivirus : pourquoi l’antivirus ne suffit plus

 

La différence fondamentale entre un antivirus et un EDR tient à leur philosophie de détection. L’antivirus compare des fichiers à une base de signatures connues : si la signature du fichier correspond à un malware répertorié, l’alerte est déclenchée. Cette approche est efficace contre les malwares connus et distribués en masse, mais échoue face aux menaces modernes.

Critère Antivirus traditionnel EDR
Méthode de détection Signatures statiques Comportement en temps réel
Menaces fileless (en mémoire) Aveugle Détectées
LOLBins (outils Windows détournés) Aveugle Détectés par comportement
Zero-days Aveugle Partiellement détectés (comportement)
Historique des événements Absent Journal complet (investigation forensique)
Réponse automatique Quarantaine fichier uniquement Isolation réseau, kill process, rollback
Visibilité post-compromission Nulle Complète (timeline d’attaque reconstituée)

Architecture interne d’un EDR : user-mode et kernel-mode

Un agent EDR moderne n’est pas un simple exécutable. Il se compose de deux couches distinctes qui communiquent en permanence, chacune ayant une responsabilité spécifique dans la chaîne de détection.

Architecture d'un agent EDR USER-MODE (Ring 3) DLL injectée (API Hooking) Service de collecte (AMSI) Agent → Console cloud (télémétrie) KERNEL-MODE (Ring 0) Driver noyau (Kernel Callbacks) ETW-Ti (Event Tracing) Minifilter (filesystem) Hardware / CPU (Ring -1 : Hyperviseur)
Architecture à deux couches d’un agent EDR moderne : user-mode et kernel-mode

Couche User-Mode (Ring 3)

Le composant user-mode est la première couche d’observation de l’EDR. Il se présente généralement sous la forme d’une DLL injectée dans les processus en cours d’exécution sur le système. Son rôle principal est d’intercepter les appels API sensibles avant qu’ils n’atteignent le noyau, via des techniques d’API Hooking.

En pratique, l’EDR modifie les premières instructions des fonctions critiques de ntdll.dll (comme NtAllocateVirtualMemory, NtWriteVirtualMemory, NtCreateThread) pour rediriger les appels vers ses propres routines d’inspection. Avant que l’appel ne soit transmis au noyau, l’EDR peut lire les arguments, logger l’événement, ou bloquer l’appel si le comportement est jugé malveillant.

Un service en arrière-plan centralise la télémétrie collectée, l’envoie à la console d’administration cloud et exécute les actions de réponse : alerte, suspension de processus, quarantaine, isolation réseau.

Couche Kernel-Mode (Ring 0)

Le composant kernel-mode est le cœur du système de surveillance. Exécuté sous forme d’un driver noyau signé avec les privilèges les plus élevés du système (Ring 0), il bénéficie d’une visibilité sur des événements inaccessibles depuis l’espace utilisateur.

Contrairement aux hooks user-mode, contournables par un attaquant qui syscalle directement le noyau en évitant ntdll.dll, les mécanismes kernel offrent une visibilité plus fiable. C’est à ce niveau que s’enregistrent les Kernel Callbacks, les abonnements ETW-Ti (Event Tracing for Windows - Threat Intelligence) et les drivers Minifilter pour le système de fichiers.

Les Kernel Callbacks : le système nerveux de l’EDR

Le noyau Windows met à disposition des drivers un mécanisme de notification appelé callbacks. Ces points d’ancrage permettent au driver EDR d’être automatiquement notifié quand un événement système spécifique se produit, en temps réel.

Process Creation Callbacks

Ces callbacks notifient le driver EDR à chaque création ou terminaison de processus. Ils sont stockés dans le tableau noyau nt!PspCreateProcessNotifyRoutine et les drivers s’y enregistrent via PsSetCreateProcessNotifyRoutineEx.

Lorsqu’un processus est créé (via NtCreateUserProcess), le noyau appelle PspCallProcessNotifyRoutines qui exécute tous les callbacks enregistrés. L’EDR reçoit immédiatement : PID, PPID, chemin de l’exécutable, arguments de lancement, contexte de création.

C’est via ce mécanisme que l’EDR détecte par exemple cmd.exe ou powershell.exe lancés depuis winword.exe ou excel.exe (indicateur fort d’exploitation de macro malveillante).

Thread Creation Callbacks

Les Thread Callbacks s’enregistrent via PsSetCreateThreadNotifyRoutine et notifient l’EDR à chaque création de thread. Ils permettent notamment de détecter les remote thread injections : quand un processus A crée un thread dans le contexte d’un processus B, c’est un indicateur classique d’injection de code (DLL injection, shellcode injection).

Image Load Callbacks

Ces callbacks (PsSetLoadImageNotifyRoutine) sont déclenchés à chaque fois qu’une image (exécutable ou DLL) est chargée en mémoire. Ils permettent à l’EDR de détecter le chargement de DLL malveillantes, de DLL non signées, ou de bibliothèques chargées depuis des emplacements non standards (technique DLL side-loading).

Registry Operation Callbacks

Via le framework CmRegisterCallbackEx, l’EDR surveille toutes les opérations sur le registre Windows en temps réel. Cela permet de détecter les techniques de persistance classiques comme l’ajout de clés Run/RunOnce, la modification des services Windows, ou la désactivation des protections (DisableAntiSpyware, DisableRealtimeMonitoring).

Object Operation Callbacks

Ces callbacks (ObRegisterCallbacks) permettent à l’EDR d’intercepter les tentatives d’accès aux objets noyau, en particulier les processus et les threads. C’est le mécanisme qui permet de détecter et bloquer les tentatives d’accès à LSASS (exécutables comme Mimikatz, ou techniques de dumping via MiniDumpWriteDump). L’EDR peut réduire les droits demandés (PROCESS_VM_READ) avant de les accorder.

Minifilter Callbacks (Filesystem)

Un driver minifilter s’insère dans la pile d’I/O du système de fichiers Windows et intercepte toutes les opérations (création, lecture, écriture, suppression de fichiers). C’est ce mécanisme qui permet aux EDR de détecter les comportements de ransomware (chiffrement massif de fichiers), de dropper de malwares (exécutables créés dans des emplacements inhabituels) ou d’exfiltration vers un support amovible.

Votre EDR est-il vraiment efficace contre une attaque ciblée ?

Nos pentesters testent la résistance des EDR déployés chez nos clients lors de chaque mission d’audit interne et de Red Team. Nous évaluons ce que votre EDR voit, ce qu’il ne voit pas, et comment un attaquant réel l’aborderait.

Mécanismes de détection avancés : ETW-Ti, AMSI et analyse mémoire

 

ETW-Ti : Event Tracing for Windows Threat Intelligence

 

ETW-Ti est l’une des sources de télémétrie les plus puissantes disponibles pour les EDR modernes. Il s’agit d’un canal ETW privilégié, accessible uniquement aux processus Protected Process Light (PPL), qui fournit des événements de sécurité à haute granularité directement depuis le noyau.

Les événements ETW-Ti couvrent notamment :

  • Allocations mémoire exécutables : détection de shellcodes injectés en mémoire (RWX pages, suspicious regions).
  • Remote thread injection : création de threads dans des processus distants avec des adresses de départ suspectes.
  • Accès LSASS : toute tentative de lecture de la mémoire de lsass.exe est logée avec le handle demandé.
  • Suspicious API chains : séquences d’appels API typiques de l’injection de code (VirtualAllocEx → WriteProcessMemory → CreateRemoteThread).

ETW-Ti est particulièrement difficulté à contourner car il fonctionne indépendamment des hooks user-mode. Même si un attaquant contourne les hooks ntdll.dll via des syscalls directs, ETW-Ti continue de logger les événements depuis le noyau.

 

 

AMSI (Antimalware Scan Interface)

 

AMSI est une interface Windows qui permet aux applications (PowerShell, WScript, Office, .NET) de soumettre du contenu à analyser aux solutions de sécurité installées avant son exécution. C’est le mécanisme qui permet aux EDR de voir le contenu déchiffré et désobfusqué des scripts PowerShell, là où un scan statique ne verrait qu’un payload chiffré.

Quand PowerShell exécute un script, il appelle AmsiScanBuffer() pour soumettre le contenu en clair à l’EDR avant d’effectivement exécuter les instructions. L’EDR peut alors analyser le script, détecter des patterns malveillants (appels Win32 API suspects, encodage Base64 multiple, appels à des fonctions de téléchargement) et bloquer l’exécution.

AMSI couvre aujourd’hui : PowerShell, Windows Script Host (VBScript/JScript), Office VBA macros, .NET assemblies (depuis .NET 4.8), et WMI.

 

Détection réseau

Les EDR modernes intègrent également une visibilité sur les communications réseau des processus. En combinant inspection DNS, surveillance des connexions TCP/UDP et analyse des certificats TLS (via inspection du SNI), ils peuvent détecter :

  • Connexions vers des domaines C2 connus (threat intelligence).
  • Connexions inhabituelles depuis des processus système (lsass.exe, svchost.exe qui initient des connexions sortantes vers Internet).
  • DNS over HTTPS non autorisé (tentative de contourner l’inspection DNS).
  • Beaconing régulier à intervalles fixes (pattern typique d’un implant C2 comme Cobalt Strike).

 

Détection mémoire

Les attaques fileless (sans fichier sur le disque) sont entièrement en mémoire. Les EDR modernes analysent périodiquement l’état de la mémoire des processus pour détecter :

  • Des régions mémoire exécutables non associées à un fichier sur disque (anomalie typique d’un shellcode injecté).
  • Des artefacts Cobalt Strike Beacon (MZ header en mémoire, patterns de configuration).
  • Des stack de thread pointant vers des régions mémoire anormales (indicateur d’un thread injecté).
  • Signatures de Mimikatz ou de ses variantes en mémoire.

EDR et pentest : la perspective offensive de PIIRATES

 

Du point de vue d’un pentester ou d’un attaquant réel, l’EDR est le principal obstacle à surmonter sur chaque machine Windows cible. Comprendre son fonctionnement interne est une prérequis pour mener des missions de pentest interne et de Red Team crédibles.

 

Ce que nos pentesters font face à un EDR

Lors d’un test d’intrusion interne, la première étape après avoir obtenu un premier accès sur une machine est d’identifier la solution EDR déployée. Cette identification se fait par des moyens passifs : liste des processus en cours, services Windows, drivers chargés, clés de registre associées.

Quelques indicateurs visibles sans privilège :

tasklist /svc | findstr -i "sentinel crowdstrike defender cylance carbon"

Ou via PowerShell :

Get-Process | Where-Object {$_.Name -match "sense|csagent|mssense|csc|carbonblack"}

 

Les techniques de contournement d’EDR en contexte de pentest

 

En Red Team et en pentest boite blanche, nos pentesters évaluent la capacité de l’EDR à résister aux techniques d’évasion modernes. Voici les approches les plus courantes que nous testons.

Direct Syscalls (contournement des hooks user-mode)
Plutôt que d’appeler NtAllocateVirtualMemory via ntdll.dll (où l’EDR a posé ses hooks), un outil peut appeler directement l’instruction syscall du CPU avec le numéro SSN (System Service Number) correspondant. Les hooks user-mode de l’EDR sont court-circuités. Outils : SysWhispers2/3, HellsGate, Tartarus’ Gate.

AMSI et ETW patching
Des techniques en mémoire permettent de neutraliser AMSI en écrasant les premières instructions de AmsiScanBuffer() pour qu’elle retourne toujours « clean ». De même, EtwEventWrite() peut être parchée pour éviter que les événements soient envoyés aux fournisseurs ETW. Ces techniques sont détectées par les EDR modernes via ETW-Ti (qui surveille les modifications de mémoire dans les processus système).

Process Hollowing et Process Doppelgänging
Ces techniques créent un processus légitime suspendu, remplacent son code par un payload malveillant, puis le reprennent. L’EDR voit un processus avec un nom légitime. Les EDR modernes contrent cela via les Image Load Callbacks et l’analyse mémoire (détection d’une région mémoire exécutable dont le contenu ne correspond pas à l’image sur disque).

LOLBins et Living Off The Land
Plutôt que de déposer un outil malveillant sur le disque, l’attaquant utilise des binaires légitimes Windows : certutil.exe pour télécharger des fichiers, mshta.exe pour exécuter du code, rundll32.exe pour charger des DLL arbitraires. Les EDR modernes détectent ces abus via les Process Creation Callbacks (corrélation contexte parent + arguments) et leur base de règles comportementales.

Indirect Syscalls et Shellcode Obfuscation
Variante des Direct Syscalls : l’adresse de retour du syscall est falsifiée pour pointer vers une région légitime de ntdll.dll, contournant certaines vérifications de stack ETW-Ti. Les techniques d’obfuscation de shellcode (XOR, AES, segmentation) retardent la détection à l’analyse statique mais ne trompent pas l’analyse comportementale après déchiffrement en mémoire.

Note PIIRATES

Dans nos missions de Red Team et de pentest interne, nous testons systématiquement la capacité de l’EDR déployé à détecter les techniques d’accès LSASS, les injections de code et les mouvements latéraux. Les résultats varient très significativement selon la solution, sa version, et sa configuration. Un EDR déployé avec les règles par défaut est généralement beaucoup moins efficace qu’un EDR configuré et maintenu activement par une équipe SOC.

EDR, XDR, MDR, NDR : comprendre les différences

 

Le marché de la sécurité des endpoints est riche en acronymes qui désignent des approches distinctes mais complémentaires. Voici le comparatif structuré pour les RSSI et DSI qui doivent choisir ou combiner ces solutions.

Solution Périmètre Sources de données Réponse Exploitation humaine
EDR Endpoints (postes, serveurs) Télémétrie agent local Automatisée sur endpoint Equipe interne (RSSI/SOC)
XDR Endpoint + réseau + cloud + email Multi-sources corrélées Automatisée multi-vecteurs Equipe interne (SOC)
MDR Variable (selon prestataire) EDR + SIEM + CTI Automatisée + humaine (SOC externalisé) SOC externalisé 24/7
NDR Réseau uniquement Flux réseau (NTA, DPI) Alerte + corrélation Equipe réseau/SOC

 

Ce qu’un EDR ne remplace pas

Même le meilleur EDR du marché a des angles morts que nos missions de pentest révèlent régulièrement :

  • Les vulnérabilités applicatives : l’EDR surveille les comportements au niveau OS mais ne voit pas une injection SQL dans une application web. Un pentest applicatif reste indispensable.
  • Les erreurs de configuration Active Directory : les chemins d’éscalade de privilèges via Kerberoasting, délégation non contrainte ou ACL mal configurées passent souvent sous le radar des EDR. Un audit BloodHound complète cette couverture.
  • Les attaques physiques et les vecteurs humains : l’ingénierie sociale et les accès physiques ne génèrent pas nécessairement d’alertes EDR.
  • Les systèmes non couverts : les équipements OT, les systèmes industriels SCADA et de nombreux systèmes IoT ne peuvent pas exécuter un agent EDR. C’est ce que couvrent nos missions de pentest industriel.

Foire
Aux
Questions

Qu'est-ce qu'un EDR en cybersécurité ?
Un EDR (Endpoint Detection and Response) est une solution de sécurité qui surveille en temps réel l'activité des terminaux (postes de travail, serveurs) pour détecter et répondre aux comportements malveillants. Contrairement à un antivirus qui compare des signatures, l'EDR analyse les comportements : création de processus, injections mémoire, accès à LSASS, connexions réseau suspectes. Il fournit également un historique complet des événements pour la réponse à incident et l'investigation forensique. Lors de nos missions de pentest interne, l'EDR est le principal obstacle à évaluer.

Quelle est la différence entre un EDR et un XDR ?
L'EDR surveille uniquement les endpoints (postes, serveurs) via un agent local. Le XDR (Extended Detection and Response) étend cette corrélation à d'autres sources : flux réseau, emails, cloud, applications SaaS. Un XDR peut relier une attaque de phishing par email (source email) à une exécution de code sur un poste (source EDR) et à une connexion sortante vers un C2 (source firewall), en un seul incident. Le XDR produit moins d'alertes isolées et plus de scénarios d'attaque complets, facilitant le travail des équipes SOC.

Un EDR peut-il être contournable ?
Oui, par des attaquants suffisamment compétents. Les techniques de contournement incluent les direct syscalls (qui évitent les hooks user-mode), le patching AMSI en mémoire, les techniques de shellcode obfusqué et certaines approches de process injection avancées. Cependant, les EDR modernes avec ETW-Ti actif et analyse mémoire restent très difficiles à contourner complètement. Dans nos missions de Red Team, nous évaluons concrètement ce que détecte votre EDR et ce qu'il manque.

Microsoft Defender for Endpoint suffit-il pour une PME ?
Microsoft Defender for Endpoint (MDE) est inclus dans les licences Microsoft 365 Business Premium et E3/E5. Pour une PME sans équipe SOC dédiée, MDE offre une très bonne couverture de base : intégration AMSI native, détection comportementale, isolation réseau en un clic. Sa faiblesse principale est sa configuration par défaut trop conservative et sa détection plus limitée contre des techniques avancées comparé à CrowdStrike ou SentinelOne. Sans une configuration durcis et un suivi actif des alertes, même MDE ne suffit pas. PIIRATES peut évaluer son efficacité dans un pentest interne.

Comment savoir si mon EDR est bien configuré ?
La réponse la plus fiable est un test d'intrusion interne conduit par des pentesters qui utilisent des techniques offensives réalistes contre votre EDR déployé. Moins radicalement, vous pouvez utiliser des outils de simulation comme MITRE ATT&CK Evaluations pour bénchmarker votre configuration, ou vérifier que les modules de détection comportementale, l'analyse mémoire et la protection AMSI sont activés. Un EDR déployé avec les paramètres par défaut est généralement beaucoup moins efficace qu'un EDR correctement configuré et surveillé.

Qu'est-ce qu'ETW-Ti et pourquoi est-ce important pour un EDR ?
ETW-Ti (Event Tracing for Windows - Threat Intelligence) est un canal de télémétrie privilégié accessible uniquement aux processus PPL (Protected Process Light), comme les agents EDR signés Microsoft. Il fournit des événements de haute granularité directement depuis le noyau Windows : allocations mémoire exécutables, remote thread injections, accès LSASS, séquences d'appels API suspects. ETW-Ti est beaucoup plus difficile à contourner que les hooks user-mode car il fonctionne indépendamment de ntdll.dll. C'est l'une des raisons pour lesquelles les EDR modernes sont significativement plus résistants aux évasions que les solutions plus anciennes.

EDR : fonctionnement interne, kernel callbacks, ETW-Ti, AMSI, comparatif XDR/MDR, panorama des solutions et perspective offensive de nos pentesters. Guide complet PIIRATES.

Nos articles liés

Vous êtes arrivé jusqu’ici ?
N’en restons pas là.

Vous souhaitez en savoir plus sur nos expertises, nos services et les motivations qui nous animent ?
Venez discuter avec nous et obtenez des réponses pertinentes !

EDR (Endpoint Detection and Response) : fonctionnement, architecture et perspective offensive
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considérerons que vous acceptez l'utilisation des cookies.
Plus d'info