
Exploiter un pilote de callout WFP légitime pour empêcher les agents EDR d'envoyer de la télémétrie.
Co-auteur : @oops4git(https://github.com/oops4git)
EDRPrison exploite un pilote WFP callout légitime, WinDivert, pour réduire efficacement au silence les systèmes EDR. S'inspirant d'outils comme Shutter, FireBlock et EDRSilencer, ce projet se concentre sur les techniques d'évasion basées sur le réseau. Contrairement à ses prédécesseurs, EDRPrison installe et charge un pilote WFP callout externe et légitime au lieu de se reposer uniquement sur le WFP intégré. De plus, il bloque le trafic sortant des processus EDR en ajoutant dynamiquement des filtres runtime sans interagir directement avec les processus EDR ou leurs exécutables.
En résumé, EDRPrison possède les caractéristiques et capacités clés suivantes :
Veuillez consulter l'article pour plus de détails techniques : https://winslow1984.com/books/malware/page/edrprison-borrow-a-legitimate-driver-to-mute-edr-agent
Des privilèges élevés sont requis pour exécuter EDRPrison avec succès. EDRPrison comprend les trois composants suivants :
EDRPrison offre plusieurs améliorations et perfectionnements par rapport à ses prédécesseurs, ce qui en fait un outil plus robuste et plus furtif pour l'évasion EDR basée sur le réseau :
En raison des ressources dont je dispose, j'ai testé EDRPrison contre Elastic Endpoint et Microsoft Defender for Endpoint (MDE) sur mon serveur physique jusqu'à présent.
Les processus pertinents pour Elastic Endpoint et MDE sont codés en dur dans le code source. Au cours des tests, ni le programme principal ni WinDivert n'ont été détectés par les systèmes de sécurité.
J'ai testé quelques échantillons de malwares courants, comme Mimikatz. Ces échantillons peuvent toujours être détectés car, même sans connectivité Internet, les systèmes EDR conservent des capacités de détection de base telles que les signatures basées sur les hash. Après l'exécution du malware, le nombre de paquets a augmenté, indiquant qu'ils contenaient des données d'alerte.

Bien que certaines détections se produisent localement, elles n'apparaissent pas sur le panneau EDR. Sans connectivité Internet, les systèmes EDR sont incapables d'exploiter des capacités avancées comme l'apprentissage automatique et le cloud computing pour prévenir les attaques de malwares plus sophistiquées.


Modifiez l'extrait de code suivant pour coder en dur davantage de processus EDR.
static void initData()
{
processDictionary.TryAdd("MsMpEng.exe", 1);
processDictionary.TryAdd("MsSense.exe", 1);
processDictionary.TryAdd("SenseIR.exe", 1);
processDictionary.TryAdd("SenseNdr.exe", 1);
processDictionary.TryAdd("SenseCncProxy.exe", 1);
processDictionary.TryAdd("SenseSampleUploader.exe", 1);
processDictionary.TryAdd("elastic-endpoint.exe", 1);
processDictionary.TryAdd("elastic-agent.exe", 1);
}
Les approches suivantes peuvent être utilisées pour détecter ou atténuer l'utilisation d'EDRPrison. Cependant, selon l'environnement, certaines de ces détections pourraient entraîner des faux positifs (FP).
Si le pilote WinDivert n'est pas déjà installé sur le système, EDRPrison installera le pilote callout lors de sa première exécution. L'OS et les données de télémétrie journaliseront cet événement.
EDRPrison et les autres programmes dépendant de WinDivert nécessitent la présence de WinDivert64.sys et WinDivert.dll sur le disque. La surveillance de ces fichiers peut aider à détecter ces programmes.
Des outils comme WinDivertTool peuvent détecter les processus qui utilisent actuellement la plateforme de filtrage Windows (WFP).

Elastic dispose d'une règle de détection qui peut identifier les actions de suppression ou de blocage de paquets contre les processus des logiciels de sécurité, ce qui peut indiquer la présence d'EDRPrison.
L'outil WFPExplorer aide les administrateurs à examiner les sessions WFP actives, les callouts enregistrés et les filtres.



