
Agent de détection d'injection mémoire (PoC) basé sur ETW, à des fins de recherche offensive et défensive
Ce projet a été créé pour rechercher, construire et tester différents cas d'usage de détection d'injection mémoire et techniques de contournement. L'agent utilise le fournisseur de traçage d'événements Microsoft-Windows-Threat-Intelligence, comme alternative plus moderne et stable au hooking en espace utilisateur, avec l'avantage de la visibilité en mode noyau.
Le projet dépend de la bibliothèque microsoft/krabsetw pour la configuration et la consommation de l'ETS.
Un article de blog associé peut être trouvé ici : https://blog.redbluepurple.io/windows-security-research/kernel-tracing-injection-detection

Les fonctions de détection peuvent être facilement ajoutées dans DetectionLogic.cpp, et appelées depuis detect_event(GenericEvent evt) pour tout type d'événement source. La prise en charge de nouveaux champs d'événement peut être facilement ajoutée en ajoutant leur nom à la carte dans la déclaration de la classe GenericEvent.
En supposant que vous ne possédez pas de certificat de signature approuvé par Microsoft :
PS. Si vous ne souhaitez pas écrire un pilote ELAM, vous pouvez en obtenir un depuis https://github.com/pathtofile/PPLRunner/tree/main/elam_driver
Remerciements spéciaux à @pathtofile pour l'article ici : https://blog.tofile.dev/2020/12/16/elam.html