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
LOLBITS — ** EINGESTELLT ** C2-Framework, das Background Intelligent Transfer Service (BITS) als Kommunikationsprotokoll und Direct Syscalls + Dinvoke zur Umgehung von EDR-User-Mode-Hooks nutzt. | Kitploit
Tools/GitHubGitHub/kudaes/lolbits
Privilege EscalationExploit-FrameworksLaterale BewegungPost-ExploitationCommand and ControlRed TeamingPayload-Entwicklung
GitHubkudaes/lolbits

LOLBITS

** EINGESTELLT ** C2-Framework, das Background Intelligent Transfer Service (BITS) als Kommunikationsprotokoll und Direct Syscalls + Dinvoke zur Umgehung von EDR-User-Mode-Hooks nutzt.

Repository anzeigen
22238vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

License

root@kitploit:~
			 ██╗      ██████╗ ██╗     ██████╗ ██╗████████╗███████╗
			 ██║     ██╔═══██╗██║     ██╔══██╗██║╚══██╔══╝██╔════╝
			 ██║     ██║   ██║██║     ██████╔╝██║   ██║   ███████╗
			 ██║     ██║   ██║██║     ██╔══██╗██║   ██║   ╚════██║
			 ███████╗╚██████╔╝███████╗██████╔╝██║   ██║   ███████║
			 ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝

Inhaltsverzeichnis

  • Über das Projekt
    • Danksagungen
  • Erste Schritte
    • Voraussetzungen
    • Einrichtung
  • Nutzung
  • Mitwirken
  • Lizenz
  • Kontakt

Über das Projekt

LOLBITS ist ein C2-Framework, das den Background Intelligent Transfer Service (BITS) von Microsoft nutzt, um den Kommunikationskanal zwischen dem kompromittierten Host und dem Backend herzustellen. Das C2-Backend ist hinter einer scheinbar harmlosen Flask-Webanwendung versteckt und nur erreichbar, wenn die von der App empfangenen HTTP-Anfragen einen gültigen Authentifizierungsheader enthalten. Da dieses Tool für stark überwachte Umgebungen gedacht ist, wurden die folgenden Funktionen implementiert, um die Erkennung durch EDR und AV zu vermeiden:

  • ETW- und AMSI-Patching.
  • Verwendung direkter Syscalls, um das EDR-Usermode-API-Hooking zu umgehen.
  • Manuelles Mapping von kernel32.dll und advapi32.dll in Kombination mit DInvoke.
  • Basis-Sandbox-Erkennung vor dem Aufbau des Kommunikationskanals mit dem C2-Backend.
  • Verwendung von BITS im Hintergrundmodus, um den Kommunikationskanal zu erzeugen, ohne die Benutzererfahrung zu beeinträchtigen.

Was die Architektur betrifft, besteht LOLBITS aus 3 Hauptelementen:

  • Der C#-Agent, der für die Ausführung der Befehle auf dem kompromittierten Host und die Rücksendung der Ausgabe an den C2-Server nach Abschluss der Aufgabe verantwortlich ist.
  • Die Flask-Webanwendung, die als Dispatcher fungiert. Dieses Element ermöglicht es, die C2-Infrastruktur hinter einer harmlosen Website zu verstecken und gleichzeitig dem Agenten neue Befehle zu liefern, wenn eine authentifizierte Anfrage eingeht.
  • Die C2-Konsole zur Steuerung des Agenten.

Um die Inhaltsprüfung durch Proxys zu verhindern, werden alle relevanten Inhalte, die zwischen dem Agenten und dem C2-Server gesendet werden, mit RC4 und einem vorab gemeinsam genutzten, zufällig generierten geheimen Schlüssel verschlüsselt. Ein High-Level-Diagramm des Infrastrukturverhaltens sieht wie im folgenden Bild aus:

High-Level-Diagramm

Um zu verhindern, dass das Blue Team einige der alten Anfragen reproduzieren und die C2-Backend-Infrastruktur entdecken kann, wird jeder Authentifizierungsheader zufällig generiert und ist nur für einen einzigen Zyklus gültig (ein Zyklus besteht aus einer POST-Anfrage gefolgt von einer GET-Anfrage, in dieser Reihenfolge). Alte Authentifizierungsheader werden ignoriert und die harmlose Website wird für diese Anfragen angezeigt.

Danksagungen

Einige Funktionen dieses Tools wurden entweder durch die Wiederverwendung von Code aus anderen Projekten oder dank der Arbeit mehrerer Cybersicherheitsforscher implementiert. Im Folgenden verlinke ich einige der externen Arbeiten und Projekte, die auf die eine oder andere Weise zur Verbesserung dieses Tools beigetragen haben:

  • Salsa Tools
  • Dinvoke
  • SharpSploit
  • Windows System Call Table
  • CheckPlease for Sandbox Evasion

Erste Schritte

Voraussetzungen

Für die C2-Infrastruktur wird ein Windows Server 2016 oder höher mit Python 3.4+ und PowerShell 5.1+ benötigt. Der C#-Agent wurde erfolgreich auf Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows 7, Windows 8.1 und Windows 10 getestet. Zum Kompilieren werden benötigt:

  • Visual Studio 2017 oder höher.
  • .NET Framework 4.5 oder höher.

Einrichtung

1.- Klonen Sie dieses Repository auf Ihren C2-Server

root@kitploit:~
git clone https://github.com/Kudaes/LOLBITS.git

2.- Installieren Sie den Webserver (IIS) über den Windows Server Manager. Stellen Sie sicher, dass die Rollen CGI, ASP.NET und .NET-Erweiterbarkeit installiert sind.

Serverrollen

Installieren Sie außerdem die .NET Framework- und BITS-Funktionen für IIS.

Serverfunktionen

3.- Führen Sie das Skript setup.ps1 als Administrator aus, um die gesamte Infrastruktur bereitzustellen und den C#-Agenten einzurichten.

4.- Kompilieren Sie den C#-Agenten. Die Kompilierung erzeugt eine .exe und eine externe Abhängigkeit (Newtonsoft.Json.dll). Sie können mit ILMerge eine einzelne .exe erzeugen oder beide Dateien auf den kompromittierten Host senden. Um DEBUG-Ausgaben zu vermeiden, kompilieren Sie das Projekt als Windows-Anwendung.

Windows-Anwendung

5.- (Optional) Standardmäßig erstellt das Skript setup.ps1 eine neue Website in Ihrem IIS mit dem Namen lawlbits, die auf dem Standard-HTTP-Port (80/TCP) lauscht. Diese neue Website verwendet kein HTTP über TLS, und obwohl der Inhalt der vom C#-Agenten an die C2 gesendeten Anfragen mit RC4 und einem vorab gemeinsam genutzten, zufällig generierten geheimen Schlüssel verschlüsselt wird, wird empfohlen, HTTPS für die neue Site einzurichten. Dazu empfehle ich die Verwendung von Let's Encrypt über lawlbits, was eine der einfachsten Möglichkeiten zur Einrichtung von HTTPS ist. Denken Sie danach daran, die Variable Url in Program.cs zu ändern, um HTTPS anstelle des standardmäßigen HTTP zu verwenden.

Nutzung

Um die Reverse Shell zu erhalten, geben Sie python lawlbin.py in einer Eingabeaufforderung des C2-Servers ein und führen Sie den C#-Agenten auf dem kompromittierten Host aus.

Da dieses Projekt aus der Asche eines früheren, gescheiterten Projekts entstanden ist, wurden einige der alten Funktionen beibehalten. Bei dem alten Projekt handelte es sich um eine Shell, in der alle verfügbaren Befehle ausschließlich mit Living off the Land Binaries ausgeführt wurden. Daher stammt auch das LOL in LOLBITS, und deshalb werden die folgenden Funktionen ausschließlich mit LOLBINS ausgeführt (dies könnte helfen, AWS- und einige AV-/EDR-Filter zu umgehen):

  • download: Herunterladen einer Datei von einem entfernten Webdav auf den kompromittierten Host.
  • base64encode: Base64-Kodierung des Inhalts einer lokalen Datei.
  • base64decode: Dekodieren einer base64-kodierten Datei.
  • compile: Kompilieren von .cs-Dateien in .exe oder .dll.

Obwohl diese Funktionen in manchen Umgebungen interessant sein könnten (hmm, entfernte Dateien ohne PowerShell herunterladen? Das gefällt mir!), habe ich sie nur behalten, um einen Teil des alten Codes für die C2-Konsole wiederzuverwenden. Unten finden Sie eine Liste mit einigen anderen Funktionen, die in einem klassischen Red-Team-Kontext sicherlich nützlicher sein werden:

  • inject: Herunterladen eines Shellcodes (.bin) oder einer PE-Datei (.NET-Assembly) von der C2 und Ausführung im Speicher. Mit diesem Befehl wird die Nutzlast nie unverschlüsselt auf die Festplatte geschrieben, was die AV-Erkennung umgeht. .NET-Assemblys können nur im selben aufrufenden Prozess geladen werden, während Shellcodes sowohl in den eigenen als auch in andere Prozesse (nur x64-Prozesse) injiziert werden können.
  • psh: Erzeugen einer PowerShell-Reverse-Shell. Diese Shell muss mit zusätzlicher Software wie netcat behandelt werden (einfach nc -lvp <port> ausführen).
  • send: Zum Senden einer Datei von Ihrer C2 an den kompromittierten Host. Die gesendete Datei wird unverschlüsselt auf der Festplatte gespeichert.
  • getsystem: Versuch, Systemrechte zu erlangen. Hohe Integritätsstufe erforderlich.
  • impersonate: Versuch, ein Zugriffstoken von einem anderen Prozess zu stehlen, um ein anderer Benutzer zu "werden".
  • runas: Verwenden gültiger Anmeldeinformationen, um den Sicherheitskontext zu ändern und sich als anderer (lokaler oder Domänen-)Benutzer anzumelden.
  • rev2self: Entfernen von Änderungen am Sicherheitskontext, die durch getsystem, impersonate oder runas vorgenommen wurden.
  • exfiltrate: Senden einer Datei vom kompromittierten Host an Ihre C2.

Um Nutzungshinweise zu erhalten, geben Sie help oder <somecommand> help ein.

Mitwirken

Jegliche Beiträge werden sehr geschätzt.

  1. Forken Sie das Projekt
  2. Erstellen Sie Ihren Feature-Branch (git checkout -b feature/AmazingFeature)
  3. Committen Sie Ihre Änderungen (git commit -m 'Add some AmazingFeature')
  4. Pushen Sie auf den Branch (git push origin feature/AmazingFeature)
  5. Öffnen Sie einen Pull Request

Lizenz

Verteilt unter der GNU-Lizenz. Weitere Informationen finden Sie in der LICENSE-Datei.

Kontakt

Mein Twitter

Mein LinkedIn

Tool herunterladen