
Outil d'équipe rouge pour l'évasion des EDR : résout dynamiquement les identifiants de syscalls, corrige les stubs de ntdll, supprime les hooks IAT et liste les API hookées des principaux fournisseurs d'EDR.
Ce dépôt contient des informations sur les EDR qui peuvent être utiles lors d'un exercice de red team.
Cette preuve de concept résout dynamiquement l'identifiant syscall, sans avoir besoin de vérifier la version exécutée sur l'hôte distant. Pour obtenir les informations sur le disque (non altérées), un appel aux API Windows CreateFileMapping et MapViewOfFile est effectué. La DLL est ensuite analysée pour récupérer les données et les utiliser pour patcher le code en mémoire.
Cette preuve de concept patche l'identifiant syscall spécifié dans le code. La version en mémoire de la DLL est ensuite patchée à l'aide de l'identifiant syscall codé en dur, puis restaurée à son état d'origine non patché.
Cet utilitaire est utilisé pour récupérer l'identifiant syscall associé à une API Windows.
get_syscall64.exe ntdll.dll NtOpenProcess
ntdll.dll!NtOpenProcess at 0x00007FF873F6CAD0
NtOpenProcess syscall ID 0x00000026 (38)
Cette preuve de concept détecte les hooks placés par les EDR/AV/Malware dans la table d'adresses d'importation et les remplace par les adresses d'origine (codé par xalicex).
EDRs.xlsx formaté par Vincent Yiu
EDRs.md formaté par Vincent Yiu
Vous voulez contribuer ? Il suffit d'exécuter hook_finder64.exe C:\windows\system32\ntdll.dll et de soumettre la sortie.
Liste des hooks de CrowdStrike
La version la plus récente a abandonné l'UMH et s'appuie désormais sur un callback noyau, comme illustré ci-dessous :

Liste des hooks de SentinelOne
Liste des hooks de CarbonBlack
Liste des hooks de DeepInstinct
Liste des hooks de CheckPoint SandBlast
⚠️ Ces hooks sont définis en mode noyau. Ils ne peuvent pas être retirés depuis le mode utilisateur.
Liste des hooks de Bitdefender
Mr.Un1k0d3r RingZer0 Team
Et toute la communauté <3