Windows Defender vs. Rubeus: ¿Quién ganará?

Windows Defender vs. Rubeus: Wer wird gewinnen?

Celia Catalán

Einführung

In der vorherigen Ausgabe haben wir diskutiert, wie man Rubeus umgeht, indem wir die YARA-Regeln verstehen und analysieren, die als Grundlage für die Erkennung dienen. Dies war jedoch nicht ausreichend, da das Tool beim Versuch, es in einer Umgebung mit Windows Defender auszuführen, weiterhin erkannt wurde. Dies liegt daran, dass es immer noch zusätzliche Sicherheitsmaßnahmen gibt, die umgangen werden müssen, und genau das werden wir in diesem Beitrag ansprechen.

Ziel

Wir konzentrieren uns weiterhin auf die Umgehung der statischen Analyse des Binärs, weshalb die Hauptstrategie weiterhin dessen Modifikation ist. Windows Defender bietet keine Liste der Erkennungsregeln auf die gleiche Weise wie die YARA-Regeln, was den Prozess der Erkennung und Umgehung mühsamer und herausfordernder macht.

Für diese Aufgabe verwenden wir ein von Daniel Duggan entwickeltes Tool namens ThreatCheck. Dieses Tool nutzt die Windows Defender-Scan-Binärdatei, um mehrere Abfragen durchzuführen, und verwendet dabei einen auf dem "Teile und herrsche"-Algorithmus basierenden Ansatz.


Der Prozess ist relativ einfach: Die Binärdatei wird in Hälften geteilt, und jedes Segment wird gescannt, bis der Teil identifiziert ist, der von Windows Defender als bösartig markiert wurde. Dann wird dieser Teil in kleinere Fragmente unterteilt, wobei der Prozess wiederholt wird, bis die genaue Zone lokalisiert ist, die die Erkennung verursacht. Im Gegensatz zu den YARA-Regeln, die alle als bösartig markierten Ausführungen zurückgeben, handelt ThreatCheck nicht auf diese Weise. Sobald die erste Erkennung geändert wird, müssen, falls weitere problematische Segmente vorhanden sind, die Scans wiederholt werden, bis die Binärdatei vollständig sauber ist.

Beispiel


Für das folgende Beispiel verwenden wir dasselbe Rubeus-Binärformat, nachdem die YARA-Regeln angewendet wurden. Bevor wir mit dem Scannen beginnen, muss der Windows Defender deaktiviert werden, damit er das Binärformat nicht scannt und löscht.

Das Ausführungsformat des Werkzeugs ist wie folgt: 


In der ersten Iteration erkennt es einen Bereich des Binärs, der mehrfach auf das Wort "Ticket" in den Funktionsnamen verweist.


Es ist zu beachten, dass bestimmte Änderungen die Funktionalität der Anwendung verändern können. Im folgenden Bild ist zu sehen, dass durch das Ersetzen von "ticket" durch "boletu" ein Anfangsparameter geändert wird. 

Die endgültige Version von Rubeus wird /ticket nicht berücksichtigen, sondern /boletu für die nachfolgenden Ausführungen. Es ist zu beachten, dass "case sensitive" ist und "ticket" und "Ticket" entsprechend mit der ausgewählten Option geändert werden müssen.



"Nachdem die Modifikation durchgeführt wurde, wird Rubeus nicht mehr im vorherigen Byte-Bereich erkannt und es erscheint erneut eine neue Erkennung durch Aufrufe der Funktionen von DiffieHellMan. Durch die Änderung des Wortes "DiffieHellmanKey" in "DiffieHellmanClave" sollte die Erkennung vermieden werden."


Schließlich wird ein weiteres Segment von Bytes angezeigt, das als bösartig erkannt wurde und auf Tickets " .kirbi " verweist. Diese Erweiterung ist hochgradig erkennbar, weshalb durch die Änderung des Ausgabeliterals in " .rosa " eine Umgehung erreicht wird.



Eine neue Iteration des Binärs sollte Rubeus als nicht erkennbares Binär markieren. Wenn wir Windows Defender aktivieren und die AMSI-Scan-Option hinzufügen, wird in diesem Fall keine Erkennung stattfinden, sodass Rubeus im dargestellten Labor vollständig umgangen wird.


"Wenn zu irgendeinem Zeitpunkt im Prozess das folgende oder ein ähnliches Ergebnis erzielt wird, liegt dies an der verwendeten Kompilierungsart in Visual Studio."


"Durch die Änderung auf x64 im "Release"-Modus würden wir die Erkennung vermeiden. Dies liegt daran, dass der Debug-Modus verschiedene Spuren hinterlässt, die von Antivirenprogrammen leicht erkannt werden können, wenn es dafür entsprechende Regeln gibt."


Schlussfolgerungen

In dieser Lieferung haben wir verschiedene Techniken zur effektiven Umgehung von Windows Defender, einem der am häufigsten verwendeten Schutzsysteme in Unternehmens- und Privatumgebungen, untersucht. Unser Ansatz richtete sich auf die Beseitigung von Indicators of Compromise (IOC) und charakteristischen Spuren bekannter Werkzeuge, die in geschützten Systemen häufig schnell identifiziert und blockiert werden. In realen Szenarien ist jedoch die Komplexität der Erkennungsmechanismen erheblich höher, was diese grundlegenden Modifikationen gegenüber fortschrittlichen Antivirus-Lösungen (AV) und insbesondere den Lösungen für Endpoint Detection and Response (EDR) unzureichend macht.
Um diese Herausforderungen besser zu verstehen, ist es entscheidend, die Faktoren zu analysieren, die die Umgehung in Umgebungen mit fortschrittlichen Sicherheitslösungen erschweren:

  • Eigene Erkennungsregeln: Jedes Sicherheitsprodukt verfügt über einen Satz von Regeln, die entwickelt wurden, um verdächtige Aktivitäten zu identifizieren. Diese Regeln sind nicht öffentlich und variieren zwischen den Herstellern, was bedeutet, dass das, was gegen eine Lösung funktioniert, bei einer anderen fehlschlagen kann. Viele dieser Regeln werden kontinuierlich aktualisiert, wodurch zuvor funktionierende Umgehungstechniken in kurzer Zeit obsolet werden können. Darüber hinaus verwenden einige Lösungen künstliche Intelligenz, um Variationen in den Angriffsmustern zu identifizieren, was sie noch schwieriger zu umgehen macht.
  • Dynamische und heuristische Analyse: Neben der Verwendung von Signaturen zur Erkennung von Bedrohungen integrieren moderne EDR-Technologien Verhaltensanalysen. Das bedeutet, dass sie nicht nur nach bekannten Mustern in ausführbaren Dateien suchen, sondern auch deren Interaktion mit dem Betriebssystem in Echtzeit überwachen. Wenn beispielsweise ein Tool versucht, Code in einen anderen Prozess einzuschleusen oder auf Anmeldeinformationen zuzugreifen, kann eine Warnung ausgelöst werden, ohne dass eine spezifische Signatur erforderlich ist. Einige Lösungen erstellen sogar kontrollierte Umgebungen oder Sandboxes, um potenzielle Bedrohungen auszuführen und ihr Verhalten zu analysieren, bevor sie die Ausführung im realen System erlauben.
Angesichts der Entwicklung dieser Abwehrmechanismen sind Werkzeuge zur Obfuskation entstanden, die es ermöglichen, Binärdateien und Skripte zu modifizieren, um sie weniger erkennbar zu machen. Ein Beispiel dafür ist InvisibilityCloak, ein speziell für C#-Umgebungen entwickeltes Werkzeug, das es ermöglicht, Projekte zu manipulieren und modifizierte Binärdateien zu erstellen, um die Wahrscheinlichkeit einer Erkennung durch AV- und EDR-Lösungen zu verringern.
Trotz der Verfügbarkeit von Automatisierungstools erfordert die effektive Umgehung von Abwehrmaßnahmen mehr als nur die Anwendung bekannter Techniken. Es ist entscheidend, sowohl das Funktionieren der Tools, die man einsetzen möchte, als auch die Umgebung, in der sie ausgeführt werden sollen, gründlich zu verstehen. Darüber hinaus ist es unerlässlich, über die Fortschritte in der Erkennung auf dem Laufenden zu bleiben und dynamische Ansätze zu entwickeln, die eine kontinuierliche Anpassung an die Entwicklung von Sicherheitslösungen ermöglichen. In vielen Fällen kann die Kombination mehrerer Techniken und das ständige Testen in Laborumgebungen den Unterschied zwischen Erkennung und Unauffälligkeit ausmachen.

Axel Losantos, Senior Offensive Security Consultant bei Zerolynx (von Cybertix).
Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachten Sie, dass Kommentare vor der Veröffentlichung genehmigt werden müssen.