Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
EDRPrison — Nutzen Sie einen legitimen WFP-Callout-Treiber, um zu verhindern, dass EDR-Agenten Telemetriedaten senden. | Kitploit
Tools/GitHubGitHub/senzee1984/edrprison
IDS/IPS-UmgehungPost-ExploitationNetzwerksicherheitRed TeamingAdversarial-Angriff
GitHubsenzee1984/edrprison

EDRPrison

Nutzen Sie einen legitimen WFP-Callout-Treiber, um zu verhindern, dass EDR-Agenten Telemetriedaten senden.

Repository anzeigen
479463vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

EDRPrison

Co-Autor: @oops4git(https://github.com/oops4git)

EDRPrison macht sich einen legitimen WFP-Callout-Treiber, WinDivert, zunutze, um EDR-Systeme effektiv stummzuschalten. Inspiriert von Tools wie Shutter, FireBlock und EDRSilencer konzentriert sich dieses Projekt auf netzwerkbasierte Umgehungstechniken. Im Gegensatz zu seinen Vorgängern installiert und lädt EDRPrison einen externen legitimen WFP-Callout-Treiber, anstatt sich ausschließlich auf das integrierte WFP zu verlassen. Darüber hinaus blockiert es ausgehenden Datenverkehr von EDR-Prozessen, indem es dynamisch Laufzeitfilter hinzufügt, ohne direkt mit den EDR-Prozessen oder deren ausführbaren Dateien zu interagieren.

Zusammenfassend bietet EDRPrison die folgenden wichtigsten Funktionen und Fähigkeiten:

  • Legitimer WFP-Callout-Treiber: Nutzt einen legitimen WFP-Callout-Treiber zur Erweiterung der Fähigkeiten, während ein unauffälliges Profil beibehalten wird.
  • Erkennung von EDR-Prozessen: Sucht anhand vordefinierter Prozessnamen nach laufenden EDR-Prozessen.
  • Paketidentifizierung: Identifiziert Pakete, die von EDR-Prozessen stammen.
  • Dynamisches Hinzufügen von Filtern: Fügt dynamisch WFP-Filter basierend auf dem Quellprozess der Pakete hinzu.
  • Nicht-intrusiver Ansatz: Vermeidet direkte Interaktion mit EDR-Prozessen und deren ausführbaren Dateien, was Tarnung gewährleistet und das Erkennungsrisiko reduziert.

Weitere technische Details finden Sie im Artikel: https://winslow1984.com/books/malware/page/edrprison-borrow-a-legitimate-driver-to-mute-edr-agent

Komponenten

Zum erfolgreichen Ausführen von EDRPrison sind erhöhte Rechte erforderlich. EDRPrison besteht aus den folgenden drei Komponenten:

  • EDRPrison: Dies sind das Hauptprogramm und seine Abhängigkeiten. Die erste Ausführung installiert den WinDivert-Treiber.
  • WinDivert64.sys: Dies ist der signierte WFP-Callout-Treiber.
  • WinDivert.dll: Eine Komponente des WinDivert-Projekts.

Vorteile und Verbesserungen

EDRPrison bietet gegenüber seinen Vorgängern mehrere Erweiterungen und Verbesserungen und ist damit ein robusteres und heimlicheres Werkzeug für die netzwerkbasierte EDR-Umgehung:

  1. Statt statische WFP-Filter zu den ausführbaren Dateien von EDR-Prozessen hinzuzufügen, fügt EDRPrison dynamisch Laufzeit-WFP-Filter basierend auf dem Quellprozess der Pakete hinzu.
  2. Vermeidet das Erlangen eines Handles auf EDR-Prozesse oder EDR-Ausführbare, wodurch das Risiko der Erkennung und der Beeinträchtigung der EDR-Systeme reduziert wird.
  3. Durch das Laden eines legitimen WFP-Callout-Treibers erweitert EDRPrison seine Fähigkeiten, während ein unauffälliges Profil beibehalten wird.

Bekannte Probleme

  1. Derzeit ist EDRPrison in C# geschrieben, was mehrere Dateien auf der Festplatte erfordert und die Tarnung beeinträchtigt. Ich plane, es in C++ neu zu implementieren, damit das Hauptprogramm vollständig im Arbeitsspeicher ausgeführt werden kann, was seine Tarnfähigkeiten verbessert.
  2. Es gibt eine Verzögerung zwischen der Ausführung des Programms und der ersten Blockierung der Netzwerkverbindungen einiger EDR-Prozesse. Diese Verzögerung könnte es ermöglichen, dass innerhalb der ersten Sekunden Telemetriedaten an Cloud-Server gesendet werden. Ich arbeite daran, dieses Problem zu beheben, um ein sofortiges Abfangen und Blockieren zu gewährleisten.

Testbeispiel

Aufgrund der mir zur Verfügung stehenden Ressourcen habe ich EDRPrison bisher auf meinem physischen Server gegen Elastic Endpoint und Microsoft Defender for Endpoint (MDE) getestet.

Die relevanten Prozesse für Elastic Endpoint und MDE sind im Quellcode fest verdrahtet. Während der Tests wurden weder das Hauptprogramm noch WinDivert von den Sicherheitssystemen erkannt.

Ich habe einige gängige Malware-Beispiele wie Mimikatz getestet. Diese Beispiele können weiterhin erkannt werden, da EDR-Systeme auch ohne Internetverbindung grundlegende Erkennungsfunktionen wie hashbasierte Signaturen beibehalten. Nach der Ausführung der Malware stieg die Anzahl der Pakete, was darauf hindeutet, dass sie Alarmdaten enthielten.

image

Während einige Erkennungen lokal erfolgen, erscheinen sie nicht im EDR-Panel. Ohne Internetverbindung sind EDR-Systeme nicht in der Lage, erweiterte Funktionen wie maschinelles Lernen und Cloud-Computing zu nutzen, um anspruchsvollere Malware-Angriffe zu verhindern.

image

image

Test gegen weitere EDR-Prozesse

Ändern Sie das folgende Code-Snippet, um weitere EDR-Prozesse fest zu verdrahten.

root@kitploit:~
        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);
        }

Erkennung und Gegenmaßnahmen

Die folgenden Ansätze können verwendet werden, um die Nutzung von EDRPrison zu erkennen oder abzuschwächen. Abhängig von der Umgebung können einige dieser Erkennungen jedoch zu Fehlalarmen (False Positives, FP) führen.

Treiberladeereignis

Wenn der WinDivert-Treiber nicht bereits auf dem System installiert ist, installiert EDRPrison den Callout-Treiber bei der ersten Ausführung. Sowohl das Betriebssystem als auch die Telemetriedaten protokollieren dieses Ereignis.

Vorhandensein von WinDivert-Dateien

EDRPrison und andere von WinDivert abhängige Programme benötigen das Vorhandensein von WinDivert64.sys und WinDivert.dll auf der Festplatte. Die Überwachung dieser Dateien kann bei der Erkennung solcher Programme helfen.

Tools zur Erkennung der WinDivert-Nutzung

Tools wie WinDivertTool können Prozesse erkennen, die derzeit die Windows Filtering Platform (WFP) verwenden.

image

Paketverwerfungs-/Blockierungsaktionen gegen EDR-Prozesse

Elastic verfügt über eine Erkennungs-Regel, die Paketverwerfungs- oder Blockierungsaktionen gegen Prozesse von Sicherheitssoftware identifizieren kann, was auf das Vorhandensein von EDRPrison hindeuten kann.

Überprüfung registrierter WFP-Anbieter, Filter und Callouts

Das Tool WFPExplorer unterstützt Administratoren bei der Überprüfung aktiver WFP-Sitzungen, registrierter Callouts und Filter.

image

image

image

image

Adminless

Ein potenzielles zukünftiges Feature könnte zusätzliche Schutzmaßnahmen für die Treiberinstallation hinzufügen und so die Sicherheit gegen unbefugte Nutzung von Treibern wie WinDivert weiter erhöhen.

Red-Team-Strategien zur Umgehung der Erkennung

Aus Red-Team-Sicht können je nach den Sicherheitskonfigurationen der Umgebung mehrere Strategien eingesetzt werden, um die zuvor genannten Erkennungen zu umgehen.

Eine Alternative zu WinDivert suchen

Wenn WinDivert in der Umgebung als bösartig eingestuft wird, können alternative signierte Open-Source-Treiber verwendet werden. Diese Alternativen sollten weniger Aufzeichnungen über bösartige Nutzung aufweisen und weiterhin Paketabfangen, Wiedereinspeisung und andere Manipulationstechniken unterstützen.

Wiederverwendung eines installierten oder integrierten WFP-Callout-Treibers

In Umgebungen, in denen externe Treiber ohne Genehmigung nicht zulässig sind, ist es herausfordernd, aber machbar, einen installierten oder integrierten WFP-Callout-Treiber zu reverse-engineeren. Durch die Wiederverwendung seiner Callout-Funktionen können Red Teamer vorhandene Treiber nutzen. Viele Sicherheitssoftware-Lösungen enthalten eigene WFP-Callout-Treiber, die zweckentfremdet werden können.

Änderung der Aktion für abgefangene Pakete

Statt abgefangene Pakete zu blockieren oder zu verwerfen, können Red Teamer sie umleiten oder über einen Proxy leiten. Diese Methode kann Erkennungsregeln umgehen, die sich auf Paketverwerfungs- oder Blockierungsaktionen konzentrieren, während weiterhin die gewünschte Beeinträchtigung der EDR-Prozesse erreicht wird.

Danksagung

Die folgenden Ressourcen haben mich während meiner Forschung inspiriert und sehr unterstützt. Ich danke allen Autoren:

https://github.com/netero1010/EDRSilencer

https://github.com/dsnezhkov/shutter

https://www.mdsec.co.uk/2023/09/nighthawk-0-2-6-three-wise-monkeys/

https://github.com/amjcyber/EDRNoiseMaker

https://www.securityartwork.es/2024/06/17/edr-silencer-2/

https://windowsir.blogspot.com/2024/01/edrsilencer.html

https://github.com/TechnikEmpire/HttpFilteringEngine

https://reqrypt.org/windivert.html

https://learn.microsoft.com/en-us/defender-cloud-apps/network-requirements

https://learn.microsoft.com/en-us/defender-endpoint/configure-network-connections-microsoft-defender-antivirus

https://github.com/microsoft/windows-driver-samples/tree/main/network/trans/WFPSampler

https://github.com/TechnikEmpire/CitadelCore

https://github.com/TechnikEmpire/HttpFilteringEngine

Tool herunterladen