Share
Beitragsbild zu Windows Defender-Antivirus 2025: Neue Umgehungstechniken mit Systemaufrufen und XOR-Verschlüsselung

Windows Defender-Antivirus 2025: Neue Umgehungstechniken mit Systemaufrufen und XOR-Verschlüsselung

Eine kürzlich aufgedeckte Cybersicherheitslücke zeigt, wie es Forschern gelungen ist, die Antivirus-Schutzmechanismen von Windows Defender zu überwinden. Dabei kamen fortschrittliche Techniken zum Einsatz, darunter XOR-Verschlüsselung und direkte Systemaufrufe. Dieser Vorfall hat eine breite Diskussion über die Effektivität traditioneller Antivirus-Lösungen gegenüber zunehmend komplexeren Angriffsmethoden angestoßen.

Der von Hackmosphere veröffentlichte Blogbeitrag beleuchtet, wie Schwachstellen in Windows Defender durch Shellcode-Verschlüsselung und -Injektion ausgenutzt werden können.

Shellcode, eine häufig genutzte Form von Exploits, ermöglicht es Angreifern, beliebige Befehle innerhalb des Systems eines Opfers auszuführen. Die Forscher zeigtn, wie XOR-Verschlüsselung zur Tarnung von Shellcode eingesetzt werden kann, um die Erkennung durch Windows Defender zu erschweren. Diese Technik nutzt die Schwächen in den Scanfunktionen des Programms, wodurch der Schadcode weniger auffällt.

Der Fokus der Untersuchung liegt auf der Umgehung sowohl statischer als auch dynamischer Analysemethoden von Antiviren-Software. Während bei der statischen Analyse bekannte Malware-Signaturen mit Dateien abgeglichen werden, zielt die dynamische Analyse darauf ab, das Verhalten von Anwendungen zu überwachen, um mögliche Bedrohungen zu identifizieren. Durch die Verschlüsselung der Nutzlasten und die gezielte Manipulation von Systemprozessen gelingt es Angreifern, beide Erkennungstechniken zu umgehen.

Haftungsausschluss

Dies ist keine Anleitung zur Erstellung bösartiger Malware, sondern ein praktischer Fall ausschließlich zu Bildungszwecken.

Außerdem wird der Code wahrscheinlich bald nach seiner Offenlegung nicht mehr funktionieren. Es liegt an Ihnen, ihn wieder funktionsfähig zu machen, indem Sie (oft geringfügige) Änderungen daran vornehmen (Hinweis: threatcheck.exe sollte Ihnen dabei helfen).

Antivirus und Shellcode – Überblick

Antivirus (AV) und Endpoint Detection and Response (EDR) sind beide wichtige Komponenten der Cybersicherheit, dienen jedoch unterschiedlichen Zwecken.

AV vs. EDR: Hauptunterschiede

Antivirus

Windows Defender konzentriert sich wie jede herkömmliche Antivirus-Lösung in erster Linie auf einen präventiven Ansatz. Es stützt sich auf zwei Hauptsäulen, um Bedrohungen zu erkennen und zu entschärfen:

  • Statische Analyse: Identifizierung von Bedrohungen durch Abgleich bekannter Signaturen in Dateien.
  • Dynamische Analyse: Überwachung des Anwendungsverhaltens mithilfe von Sandboxing oder eingeschränkten Verhaltensanalysetechniken.

Dieser Ansatz ist zwar wirksam gegen bekannte Bedrohungen, reicht aber oft nicht gegen fortgeschrittene und neu aufkommende Angriffsvektoren aus.

EDR (Endpoint Detection and Response)

Diese Lösungen gehen über die Prävention hinaus und verfolgen einen proaktiveren und investigativeren Ansatz. Sie lassen Programme laufen und überwachen kontinuierlich die Aktivitäten von Endpunkten (Servern, Computern usw.), wobei sie Verhaltensanalysen auf Kernel-Ebene und andere fortgeschrittene Erkennungsmechanismen nutzen, um Anomalien und potenzielle Bedrohungen aufzudecken.

Antivirus VS EDR

Antivirus konzentriert sich darauf, Bedrohungen zu stoppen, bevor sie auf dem System ausgeführt werden, und dient als virtuelles „Türschloss“.

EDR geht davon aus, dass Sicherheitsverletzungen unvermeidlich sind, und priorisiert die Sichtbarkeit nach der Kompromittierung und die Reaktion auf Vorfälle, um Schäden zu minimieren und die Wiederherstellung zu erleichtern.

Zusammen bilden diese Tools eine mehrschichtige Verteidigungsstrategie, wobei Antivirus die Prävention und EDR die Erkennung, Untersuchung und Behebung von Vorfällen übernimmt.

Hinweis: In diesem Blog werden die Feinheiten der Umgehung von Antivirenprogrammen untersucht, während das ebenso wichtige Thema der EDR-Umgehung einen eigenen Artikel verdient. Bleiben Sie dran!

Verständnis von Shellcode

Wenn Sie eine Schwachstelle in einem Ziel ausnutzen wollen, benötigen Sie eine Nutzlast, die das Opfer dazu bringt, das zu tun, was Sie wollen.

Nutzlasten können verschiedene Formen annehmen, eine davon wird als Shellcode bezeichnet. In der Regel in Binärform geschrieben, wird Shellcode in den Prozess oder den Speicherraum eines Ziels eingeschleust, um bösartige Anweisungen auszuführen.

Der Begriff „Shellcode“ leitet sich von seinem ursprünglichen Zweck ab: dem Angreifer eine Shell (Eingabeaufforderung) zur Verfügung zu stellen. Moderner Shellcode kann jedoch verschiedene Aufgaben ausführen, von der Privilegienerweiterung bis hin zum Herunterladen und Ausführen zusätzlicher Nutzlasten. In der Cybersicherheit ist Shellcode sowohl eine Waffe für Angreifer als auch ein Werkzeug für Verteidiger, wie z. B. Penetrationstester, die damit reale Exploits während Sicherheitsbewertungen simulieren. Das Verständnis von Shellcode ist entscheidend für die Erkennung und Abwehr von Angriffen, die diese Technik nutzen, um Abwehrmechanismen zu umgehen und Systeme zu kompromittieren.

Shellcode-Injektion

Zuweisen – Schreiben – Ausführen | Dies sind die Schritte, die normalerweise ausgeführt werden, um Shellcode in einen Prozess einzufügen (es können auch andere fortgeschrittene Techniken verwendet werden, die jedoch nicht im Rahmen dieses Artikels behandelt werden):

  • Zuweisen eines RWX-Speicherbereichs mit der Größe des Shellcodes
  • Schreiben des Shellcodes in diesen Speicherbereich
  • Ausführen des Inhalts des zugewiesenen Speichers
Wie richtet man ein Lab ein, um ein Antivirenprogramm zu umgehen?

Für den Test benötigen Sie eine angreifende Kali-VM und eine Windows-VM als Opfer: Sie müssen miteinander kommunizieren können.

Wie wird grundlegender Shellcode mit C++ ausgeführt?

Beim Einrichten des Labors sollten Sie nun eine Datei mit dem Namen „reverse64-192168242128-443.bin“ haben. Diese Datei enthält den Shellcode, den Sie ausführen müssen, um sich wieder mit Ihrem angreifenden Computer zu verbinden und die vollständige Kontrolle über das Opfer zu erlangen.

Wie bereits erwähnt, handelt es sich bei Shellcode um Binärdaten. Wir müssen ihn daher in Hexadezimaldaten umwandeln, damit C++ ihn verwenden kann. Dies kann mit myEncoder3.py erfolgen, das hier verfügbar ist.

Jetzt, da das Lab eingerichtet ist und Sie Ihren Shellcode erstellt haben, ist es ENDLICH an der Zeit, Ihre erste Shellcode-Injektion zu implementieren!

Schlussfolgerung

In diesem ersten Artikel einer zweiteiligen Serie haben wir die Grundlagen für das Verständnis des Windows-Ausführungsflusses, der Funktionsweise von Antivirenprogrammen und deren Funktionsweise geschaffen.

Wir haben auch erklärt, wie man ein Lab einrichtet, um in aller Ruhe zu üben. Schließlich haben wir grundlegenden C++-Code bereitgestellt, um einen mit msfvenom generierten Shellcode auszuführen. Offensichtlich wurde dieser Code sofort erkannt, als er auf der Festplatte landete.

Im zweiten Artikel, der hier verfügbar ist, wird erläutert, wie Umgehungstechniken implementiert werden, die die Erkennung durch Windows Defender umgehen. Haben Sie weitere Fragen zur Cybersicherheit? Zögern Sie nicht, uns hier zu kontaktieren: https://www.hackmosphere.fr/contact

Quelle: Hackmosphere


Bild/Quelle: https://depositphotos.com/de/home.html

Teile diesen Beitrag: