
Umgehen Sie EDRs auf einfache Weise, indem Sie keine der APIs berühren, die sie hooken.
Umgehen Sie EDRs auf einfache Weise, indem Sie keine der von ihnen überwachten APIs berühren.
Mir ist aufgefallen, dass die meisten EDRs Scripting-Dateien nicht scannen und sie lediglich als Textdateien behandeln. Mag das für sie bedauerlich sein, für uns ist es eine Gelegenheit, daraus Kapital zu schlagen.
Auffällige Methoden wie das Residieren im Arbeitsspeicher oder Thread-Injektion werden stark überwacht. Ohne ein von einer gültigen Zertifizierungsstelle signiertes Binärprogramm ist die Ausführung nahezu unmöglich.
Hier kommt BYOSI (Bring Your Own Scripting Interpreter) ins Spiel. Jeder Scripting-Interpreter ist von seinem Ersteller signiert, jedes Zertifikat ist gültig. Tests in einer Live-Umgebung lieferten überraschende Ergebnisse: Ein stark signiertes PHP-Skript aus diesem Repository lief nicht nur auf Systemen, die von CrowdStrike und Trellix überwacht wurden, sondern stellte auch eine externe Verbindung her, ohne dass eine EDR-Erkennung ausgelöst wurde. EDRs übersehen in der Regel Skriptdateien und konzentrieren sich stattdessen auf Binärdateien für die Implant-Auslieferung. Sie sind darauf ausgelegt, Bereiche mit hoher Entropie oder verdächtige Abschnitte in Binärdateien zu erkennen – nicht einfache Skripte.
Diese Angriffsmethode nutzt dieses Versehen aus, um erheblichen Gewinn zu erzielen. Die Schritte des PowerShell-Skripts spiegeln das wider, was ein Entwickler tun würde, wenn er zum ersten Mal eine Umgebung betritt. Bemerkenswerterweise umgehen nur vier Zeilen PowerShell-Code die EDR-Erkennung vollständig, und auch Defender/AMSI bleibt blind dagegen. Zur Steigerung der Effektivität fungiert GitHub als vertrauenswürdiger Verteiler.
Das PowerShell-Skript erreicht die EDR-/AV-Umgehung durch vier einfache Schritte (technisch gesehen drei):
1.) Es ruft das PHP-Archiv für Windows ab und entpackt es in ein neues Verzeichnis namens 'php' innerhalb von 'C:\Temp'.
2.) Das Skript besorgt sich dann das Implant-PHP-Skript oder die Shell und speichert es im selben Verzeichnis 'C:\Temp\php'.
3.) Danach führt es das Implant oder die Shell aus und nutzt dabei die whitelistete PHP-Binärdatei (die von den meisten Einschränkungen befreit ist, die ihre Ausführung von vornherein verhindern würden).
Nach diesen Aktionen herzlichen Glückwunsch: Sie haben jetzt eine aktive Shell auf einem von CrowdStrike überwachten System. Besonders amüsant ist, dass – wenn ich mich recht erinnere – Sentinel One PHP-Dateitypen nicht scannen kann. Also lassen Sie Ihrer Fantasie freien Lauf.
Ich bin in keiner Weise für den Missbrauch davon verantwortlich. Dieses Problem ist ein großer blinder Fleck im EDR-Schutz, ich mache nur darauf aufmerksam.
Ein großes Dankeschön an @im4x5yn74x für die liebevolle Namensgebung BYOSI und die Hilfe bei der Testumgebung, um diese Angriffsmethode zum Leben zu erwecken.
Scheinbar markiert MS Defender das PHP-Skript jetzt als bösartig, erlaubt aber immer noch die vollständige Ausführung des PowerShell-Skripts. Also modifizieren Sie das PHP-Skript. Das Problem ist jetzt, dass die PHP-Website das ursprüngliche ZIP-Archiv entfernt hat. Sie müssen also diese Codezeile anpassen, es ist Zeile 1. Finden Sie eine Version, die Sie verwenden möchten, und zack, schon haben Sie eine Shell. Defender markiert das PHP-Skript nicht, kein AV-Anbieter identifiziert das Skript richtig, das funktioniert immer noch mit einer 100%igen Erfolgsrate.
Hallo Sentinel One :) Sie sollten vielleicht sicherstellen, dass Sie Links nicht einbetten.
Hallo Claude-Team.