
C# Azure-Funktion mit einem HTTP-Trigger, der verschleierte PowerShell-Snippets generiert, die AMSI für den aktuellen Prozess unterbrechen oder deaktivieren.
Ursprünglich eine C#-Azure-Funktion (später nach JS portiert) mit einem HTTP-Trigger, der obfuskierte PowerShell-Snippets generiert, die AMSI für den aktuellen Prozess unterbrechen oder deaktivieren. Die Snippets werden zufällig aus einem kleinen Pool von Techniken/Variationen ausgewählt, bevor sie obfuskiert werden. Jedes Snippet wird zur Laufzeit/bei Anfrage obfuskiert, sodass keine generierte Ausgabe dieselben Signaturen teilt.
Besuche https://amsi.fail/ für eine live und funktionierende Demo!
Wie f-secure in einem ihrer exzellenten Blogbeiträge: erklärte,
AMSI ist eine Schnittstelle, über die Anwendungen oder Dienste (einschließlich Drittanbieter) den Inhalt eines Skripts auf bösartige Nutzung scannen können. Wenn eine Signatur im Skript vom AMSI-Antimalware-Dienstanbieter (standardmäßig Windows Defender) registriert wird, wird sie blockiert. Um dies in einen Kontext zu setzen, betrachten Sie die folgenden Schritte, die PowerShell unternimmt, um in AMSI integriert zu werden:
Da AMSI darauf angewiesen ist, innerhalb des Prozesses geladen zu werden, der das eigentliche Skript ausführt, sind Techniken zum Unterbrechen oder Patchen bestimmter Funktionen in amsi.dll weithin bekannt.