Datenintelligenz von Platon.
Vertikale Suche & KI.

Hinterhältiger Shellcode: Windows-Fasern bieten EDR-sichere Codeausführung

Datum:

Windows-Fasern, wenig bekannte Komponenten des Windows-Betriebssystems, stellen einen weitgehend undokumentierten Codeausführungspfad dar, der ausschließlich im Benutzermodus existiert – und daher von weitgehend übersehen wird Endpoint Detection and Response (EDR)-Plattformen. Daher ist es für Angreifer möglich, sie auszunutzen, um heimlich auf PCs einzudringen und bösartige Payloads bereitzustellen.

Das sagt Daniel Jary, ein unabhängiger Sicherheitsforscher, der zwei neue Proof-of-Concept-Angriffe (PoC) mithilfe von Glasfasern entwickelt hat eine Sitzung bei Black Hat Asia am Donnerstag.

Fasern seien eine Alternative zu den Standard-„Threads“, die Windows verwendet, um Code vom Betriebssystem oder einer Anwendung auszuführen, erklärt er.

„Threads sind im Wesentlichen wie Worker innerhalb eines Windows-Prozesses oder einer Anwendung, und traditionell waren sie schon immer die Art und Weise, wie man Code ausführte und Dinge erledigte“, sagt er gegenüber Dark Reading. „Aber es gibt einen eher nischenorientierten Weg, nämlich Fasern.“

Fasern: Ein vergessener und übersehener Weg zum Windows-Betriebssystem

Wenn Fasern verwendet werden, befinden sie sich in Fäden – sie sind im Wesentlichen kleinere, leichtere Versionen des größeren Fadenkonzepts. Zunächst wurden Fasern entwickelt zu einer Zeit, als CPUs über weniger Kerne verfügten und nur eine begrenzte Anzahl von Threads aufnehmen konnten. Auf hoher Ebene stellten die kleineren eine Möglichkeit zur Kapazitätserweiterung dar, indem sie es Entwicklern ermöglichten, Arbeitslasten innerhalb eines einzelnen Threads aufzuteilen und Prozesse effizienter zu gestalten.

„Aber als Computer immer leistungsfähiger wurden und über mehr Speicher verfügten, wurden die Glasfasern in den allermeisten Fällen etwas überflüssig“, erklärt Jary. „Und deshalb haben viele Leute wirklich noch nichts von ihnen gehört und sie sind etwas unklar, aber sie erfüllen einige Zwecke für einige alte Legacy-Anwendungen und eine Möglichkeit, Programme von anderen Betriebssystemen auf Windows zu portieren. Und einige Windows-Prozesse selbst verwenden tatsächlich immer noch Fasern.“

Somit genießen Glasfasern die zweifelhafte Ehre, sowohl eine Kernfunktion von Windows zu sein als auch von Sicherheitsteams übersehen zu werden. Darüber hinaus weist Jary darauf hin, dass herkömmliche Erkennungsmechanismen in EDR-Plattformen und Antiviren-Engines dazu neigen, sie zu ignorieren – was sie zu einer perfekten heimlichen Möglichkeit macht, bösartigen Code auszuführen.

„Threads werden stark von EDR-Agenten überwacht, die sich Systemaufrufe und Kernel-Modus-Rückrufe ansehen, um Telemetriedaten zu erfassen und diese an eine Regel-Engine zu senden, um eine Erkennung zu generieren“, erklärt Jary. „Aber Fasern existieren nur im Benutzermodus und werden nicht in der Kernel-Sammlung angezeigt. Daher wird ihre Telemetrie nicht wirklich von EDRs aufgezeichnet.“

Es gibt bereits einige Open-Source-Techniken, um den bislang kaum bekannten Status von Glasfasern auszunutzen. Ein PoC aus dem Jahr 2022 beschreibt beispielsweise detailliert eine Methode dafür Verstecken von bösartigem Shell-Code in einer Glasfaser, wodurch die meisten AV-Engines umgangen werden.  

Andere haben Methoden für erstellt Callstack-MaskierungDadurch können Angreifer einen böswilligen Ausführungspfad innerhalb eines Threads – in diesem Fall eine Faser – hinter einer anderen, inaktiven Faser verbergen, die harmlos ist – und so ebenfalls der Erkennung entgehen. Die Technik macht sich die Tatsache zunutze, dass es bei Verwendung von Fasern immer eine aktive und dann eine ruhende Faser gibt, mit der sie sich abschaltet. Diese Maskierungsfunktion wurde 2022 dem Artefact Kit von Cobalt Strike hinzugefügt.

Neue Grenzen bei der Ausführung bösartiger Glasfasern

Jary machte sich auf die Suche, ob es möglich ist, bestehende bösartige Glasfasertechniken zu verbessern, und entwickelte zwei neue PoCs mit den Namen Phantom Thread und Poison Fiber.

Bestehende gegnerische Glasfasermethoden haben für Angreifer gewisse Nachteile: Einige Indikatoren könnten immer noch für die EDR-Erkennung verwendet werden; und die Bösartigkeit bleibt nicht vor der ereignisbasierten Inline-Callstack-Sammlung verborgen. Und jede Ansammlung ruhender Fasern, für die es mehrere Techniken gibt, würde die Callstack-Maskierung entfernen.

Phantom Thread ist ein Callstack-Maskierungsansatz der nächsten Generation, der die Fähigkeit von Speicherscans zum Zielen von Fasern aufhebt, indem diese Fasern als Threads maskiert werden. Dabei wird eine Faser erstellt und dann so gepatcht, dass sie sich selbst als Thread identifiziert. Dann ist es möglich, alle Faser-Callstack-Indikatoren zu entfernen und die Fasern praktisch vollständig vor jeglichem Scannen auszublenden.

Der zweite PoC, Poison Fiber, zählt alle laufenden Windows-Prozesse auf, prüft die verwendeten Threads und prüft dann, ob einer dieser Threads Fibers verwendet. Dann „bietet es Ihnen die Möglichkeit, Ihre Nutzlast oder Ihren Shellcode in eine ruhende Faser einzuschleusen“, erklärt Jary.

„Man kann jeweils nur eine Faser pro Thread laufen lassen, was bedeutet, dass man immer eine andere ruhende Faser irgendwo anders auf dem Stapel geparkt hat“, sagt er. „Wenn wir unseren Code mit Poison Fiber ausführen, wird unser Code in eine ruhende Fiber eingefügt, sodass wir den Thread nicht anhalten müssen, um den Shellcode einzuschleusen, was ein großer Indikator für bösartige Aktivitäten ist. Und da wir die Nutzlast in eine ruhende Faser eingespeist haben, löst die Anwendung die Ausführung für uns aus und wir initiieren die Ausführung nicht selbst.“ Der zusätzliche Vorteil dieser Technik besteht darin, dass sie auch Remote-Codeausführung (RCE) ermöglicht.

Erkennen Sie das kontroverse Potenzial von Fiber

Obwohl sie noch etwas unklar sind, sollten Glasfasern auf der Liste der Angriffsvektoren der Sicherheitsteams stehen, warnt Jary, der seine weiterentwickelten PoCs oder detaillierten Details zu den Methoden noch nicht öffentlich veröffentlicht hat. Er argumentiert, dass es nur eine Frage der Zeit sei, bis andere Möglichkeiten finden, die Nachteile bestehender Open-Source-Fiber-Ausführungsmethoden zu überwinden.  

„Die alternative Ausführungsmethode von Fiber ist für Angreifer wertvoll, weil sie uns hilft, traditionelle Telemetriequellen zu umgehen, die wir mit Threads erhalten, insbesondere Kernel-Callbacks“, sagt er. „Fibers sind keine Taktik zur Privilegienausweitung; und sie stellen keine Umgehung der Benutzerzugriffskontrolle (UAC) dar. Es ermöglicht jedoch eine Nutzlastbereitstellung, die von der Sicherheitsgemeinschaft viel weniger ins Rampenlicht und an die Aufmerksamkeit gerückt wird. Fasern sind wirklich einfach zu implementieren, aber sie sind schwieriger zu erkennen. Das macht sie perfekt für jeden Script-Kiddie, mit dem er Unternehmen angreifen kann.“

Jary rät zur Umsetzung ausgereifte EDR-Produkte das kontinuierlich anhand neuer Techniken wie diesen getestet werden kann.

„Sprechen Sie mit Ihren Red Teamern über Open-Source-Glasfasermethoden, die in der Wildnis eingesetzt werden“, sagt er. „Recherchieren Sie, woran Angreifer Freude haben und was in der Öffentlichkeit beliebt ist, und geben Sie dies dann an Ihr Forschungsteam und Ihre EDR-Produktentwickler weiter. Das wird dazu beitragen, eine bessere Verteidigung aufzubauen und wahrscheinlich auch das Leben Ihrer Bedrohungsjäger ein wenig einfacher machen.“

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?