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
CobaltWhispers — CobaltWhispers is an aggressor script that utilizes a collection of Beacon Object Files (BOF) for Cobalt Strike to perform process injection, persistence and more, leveraging direct syscalls (SysWhispers2) to bypass EDR/AV | Kitploit
Tools/GitHubGitHub/nvisosecurity/cobaltwhispers
Persistence MechanismsIDS/IPS EvasionPost-ExploitationCommand and ControlRed TeamingPayload DevelopmentAdversarial Attack
GitHubnvisosecurity/cobaltwhispers

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CobaltWhispers

CobaltWhispers is an aggressor script that utilizes a collection of Beacon Object Files (BOF) for Cobalt Strike to perform process injection, persistence and more, leveraging direct syscalls (SysWhispers2) to bypass EDR/AV

Repository anzeigen
24035vor 3 JahrenVon Kitploit geprüft

CobaltWhispers

Autor: @Cerbersec

CobaltWhispers ist ein Aggressor-Skript, das eine Sammlung von Beacon Object Files für Cobalt Strike verwendet, um Prozessinjektion, Persistenz und mehr durchzuführen, indem es direkte Syscalls nutzt, um EDR/AV zu umgehen.

CobaltWhispers nutzt SysWhispers2 und InlineWhispers2
CobaltWhispers basiert auf StayKit sowie Arbeiten von Hasherezade und Forrest Orr.

CobaltWhispers wurde im Rahmen eines Praktikums im Red Team von NVISO Security erstellt. Die zugehörigen Blogbeiträge finden Sie hier (Prozessinjektion) und hier (Kernel Karnage).

Kompilieren aus dem Quellcode

CobaltWhispers erfordert mehrere Werkzeuge zum Kompilieren:

  • MingW-w64 - apt install mingw-w64
  • Make - apt install make
  • Python3
  • SysWhispers2
  • InlineWhispers2

Jedes Projekt benötigt 3 Dateien, die von SysWhispers2 / InlineWhispers2 generiert werden, um zu funktionieren:

  • syscalls-asm.h
  • syscalls.c
  • syscalls.h

Diese Dateien können gemäß der InlineWhispers2-Dokumentation generiert werden, dies ist jedoch nicht die optimale Methode, da eine Menge ungenutzter Code enthalten sein wird:

root@kitploit:~
git clone https://github.com/Sh0ckFR/InlineWhispers2 && cd InlineWhispers2
cd SysWhispers2/ && python3 syswhispers.py --preset all -o syscalls_all && cd ..
python3 InlineWhispers2.py

Verwenden Sie stattdessen SysWhispers2, um die Ausgabedateien nur für die erforderlichen APIs zu generieren, und stellen Sie sie dann manuell (oder per Skript) InlineWhispers2 zur Verfügung, das sie in das richtige Format konvertiert. Weitere Informationen finden Sie im mitgelieferten Makefile, oder verwenden Sie die mitgelieferten Dateien auf eigenes Risiko.

Injektion

SpawnProcess

Payload-TypZielZuverlässigkeit (0-5)Erweiterte RechteBemerkungen
--5NeinErbt Berechtigungen vom übergeordneten Prozess

Beschreibung

Startet einen neuen angehaltenen Prozess mit aktiviertem Code Integrity Guard (CIG), um nicht von Microsoft signierte Binärdateien zu blockieren. Spooft den angegebenen übergeordneten Prozess. Die PID wird zurückgegeben.

Parameter

Übergeordneter Prozess: Der Name des Prozesses, der als übergeordneter Prozess festgelegt werden soll
Speicherort der ausführbaren Datei: Vollständiger Pfad zur ausführbaren Datei auf der Festplatte, die zum Starten eines neuen Prozesses verwendet wird


CreateRemoteThread

Payload-TypZielZuverlässigkeit (0-5)Erweiterte RechteBemerkungen
Shellcode/RawPID5Nein-

Beschreibung

Injiziert einen Payload in einen entfernten Prozess mithilfe von NtCreateThreadEx

Parameter

Prozess-PID: Die Prozess-ID des entfernten Prozesses
Payload-Speicherort: Speicherort des Payloads in binärer Form auf der Festplatte (Bedingt | Optional)
Payload b64: Roher Shellcode im Base64-kodierten String-Format (Bedingt | Optional)
Listener: Listener, für den ein Payload generiert werden soll (Bedingt)

Ein Listener sollte angegeben werden, um einen Beacon-Payload zu generieren. Wenn ein manueller Payload gewünscht ist, sollte er über einen Pfad zur rohen Binärdatei auf der Festplatte oder als Base64-kodierten Shellcode bereitgestellt werden.


QueueUserAPC

Payload-TypZielZuverlässigkeit (0-5)Erweiterte RechteBemerkungen
Shellcode/RawPID2NeinKann den Zielprozess möglicherweise zum Absturz bringen

Beschreibung

Injiziert einen Payload in einen entfernten Prozess mithilfe von NtQueueApcThread

Parameter

Prozess-PID: Die Prozess-ID des entfernten Prozesses
Threads: Anzahl der Threads, zu denen ein APC-Aufruf hinzugefügt werden soll
Payload-Speicherort: Speicherort des Payloads in binärer Form auf der Festplatte (Bedingt | Optional)
Payload b64: Roher Shellcode im Base64-kodierten String-Format (Bedingt | Optional)
Listener: Listener, für den ein Payload generiert werden soll (Bedingt)

Ein Listener sollte angegeben werden, um einen Beacon-Payload zu generieren. Wenn ein manueller Payload gewünscht ist, sollte er über einen Pfad zur rohen Binärdatei auf der Festplatte oder als Base64-kodierten Shellcode bereitgestellt werden.


MapViewOfSection

Payload-TypZielZuverlässigkeit (0-5)Erweiterte RechteBemerkungen
Shellcode/RawSurrogate-Prozess5Nein-

Beschreibung

Injiziert einen Payload in einen Surrogate-Prozess mithilfe von NtMapViewOfSection

Parameter

Übergeordneter Prozess: Der Name des Prozesses, der als übergeordneter Prozess festgelegt werden soll
Speicherort der ausführbaren Datei: Der Speicherort der ausführbaren Datei auf der Festplatte, die zum Starten eines neuen Prozesses verwendet wird
Payload-Speicherort: Speicherort des Payloads in binärer Form auf der Festplatte (Bedingt | Optional)
Payload b64: Roher Shellcode im Base64-kodierten String-Format (Bedingt | Optional)
Listener: Listener, für den ein Payload generiert werden soll (Bedingt)

Ein Listener sollte angegeben werden, um einen Beacon-Payload zu generieren. Wenn ein manueller Payload gewünscht ist, sollte er über einen Pfad zur rohen Binärdatei auf der Festplatte oder als Base64-kodierten Shellcode bereitgestellt werden.


TransactedHollowing

Payload-TypZielZuverlässigkeit (0-5)Erweiterte RechteBemerkungen
PESurrogate-Prozess5NeinErfordert x64-PE-Payload

Beschreibung

Injiziert einen Payload in einen Surrogate-Prozess mithilfe transaktionaler Sektionen und gemappter Ansichten. Der entfernte Einstiegspunkt und die PEB werden aktualisiert, keine anomalen Speichersektionen oder Speicherberechtigungen. Weitere Informationen finden Sie hier.

Parameter

Übergeordneter Prozess: Der Name des Prozesses, der als übergeordneter Prozess festgelegt werden soll
Speicherort der ausführbaren Datei: Der Speicherort der ausführbaren Datei auf der Festplatte, die zum Starten eines neuen Prozesses verwendet wird
Payload-Speicherort: Speicherort des x64-PE-Payloads auf der Festplatte (Bedingt | Optional)
Payload b64: x64-PE-Payload im Base64-kodierten String-Format (Bedingt | Optional)
Listener: Listener, für den ein Payload generiert werden soll (Bedingt)

Ein Listener sollte angegeben werden, um einen Beacon-Payload zu generieren. Wenn ein manueller Payload gewünscht ist, sollte er über einen Pfad zur x64-PE-Datei auf der Festplatte oder als Base64-kodierte x64-PE bereitgestellt werden.


PhantomDLLHollowing

DERZEIT NICHT IMPLEMENTIERT

Payload-TypZielZuverlässigkeit (0-5)Erweiterte RechteBemerkungen
Positionsunabhängiger Shellcode (PIC)Surrogate-Prozess5JaErweiterte Berechtigungen sind erforderlich, um System-DLLs mit Schreibberechtigung zu öffnen

Beschreibung

Injiziert einen Payload in einen Surrogate-Prozess mithilfe transaktionaler Sektionen in Kombination mit DLL-Hollowing. Weitere Informationen finden Sie hier.

Parameter

Übergeordneter Prozess: Der Name des Prozesses, der als übergeordneter Prozess festgelegt werden soll
Speicherort der ausführbaren Datei: Der Speicherort der ausführbaren Datei auf der Festplatte, die zum Starten eines neuen Prozesses verwendet wird
Payload-Speicherort: Speicherort des Payloads in binärer Form auf der Festplatte (Bedingt | Optional)
Payload b64: Roher Shellcode im Base64-kodierten String-Format (Bedingt | Optional)
Listener: Listener, für den ein Payload generiert werden soll (Bedingt)

Ein Listener sollte angegeben werden, um einen Beacon-Payload zu generieren. Wenn ein manueller Payload gewünscht ist, sollte er über einen Pfad zur rohen Binärdatei auf der Festplatte oder als Base64-kodierten Shellcode bereitgestellt werden.


Persistenz

ElevatedRegKey

Beschreibung

Erstellt oder ändert einen Registrierungsschlüssel an der angegebenen Position.

  • HKLM:Software\Microsoft\Windows\CurrentVersion\Run
  • HKLM:Software\Microsoft\Windows\CurrentVersion\RunOnce

Parameter

Schlüsselname: Wertname
Befehl: Befehl, der ausgeführt wird, wenn die Registrierung verwendet wird
Registrierungsschlüssel: Speicherort, an dem der Registrierungsschlüssel erstellt wird
Versteckt: Stellt dem Schlüsselnamen ein Nullbyte voran; führt in regedit zu Fehlern
Bereinigung: Entfernt den erstellten Schlüssel

Für die Bereinigung sind der Schlüsselname und der Registrierungsschlüssel (Speicherort) erforderlich.


ElevatedUserInitRegKey

Beschreibung

Erstellt oder ändert einen Registrierungsschlüssel an der angegebenen Position.

  • HKLM:Software\Microsoft\Windows NT\CurrentVersion\Winlogon [UserInit]

Parameter

Schlüsselname: Wertname
Befehl: Befehl, der ausgeführt wird, wenn die Registrierung verwendet wird
Registrierungsschlüssel: Speicherort, an dem der Registrierungsschlüssel erstellt wird
Versteckt: Stellt dem Schlüsselnamen ein Nullbyte voran; führt in regedit zu Fehlern
Bereinigung: Entfernt den erstellten Schlüssel

Für die Bereinigung sind der Schlüsselname und der Registrierungsschlüssel (Speicherort) erforderlich.
UserInit: Legt 'Schlüsselname' und 'Registrierungsschlüssel' automatisch fest.


UserRegKey

Beschreibung

Erstellt oder ändert einen Registrierungsschlüssel an der angegebenen Position.

  • HKCU:Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU:Software\Microsoft\Windows\CurrentVersion\RunOnce

Parameter

Schlüsselname: Wertname
Befehl: Befehl, der ausgeführt wird, wenn die Registrierung verwendet wird
Registrierungsschlüssel: Speicherort, an dem der Registrierungsschlüssel erstellt wird
Versteckt: Stellt dem Schlüsselnamen ein Nullbyte voran; führt in regedit zu Fehlern
Bereinigung: Entfernt den erstellten Schlüssel

Für die Bereinigung sind der Schlüsselname und der Registrierungsschlüssel (Speicherort) erforderlich.


UserInitMprRegKey

Beschreibung

Erstellt oder ändert einen Registrierungsschlüssel an der angegebenen Position.

  • HKCU:Environment [UserInitMprLogonScript]

Parameter

Schlüsselname: Wertname
Befehl: Befehl, der ausgeführt wird, wenn die Registrierung verwendet wird
Registrierungsschlüssel: Speicherort, an dem der Registrierungsschlüssel erstellt wird
Versteckt: Stellt dem Schlüsselnamen ein Nullbyte voran; führt in regedit zu Fehlern
Bereinigung: Entfernt den erstellten Schlüssel

Für die Bereinigung sind der Schlüsselname und der Registrierungsschlüssel (Speicherort) erforderlich.
UserInitMprLogonScript: Legt 'Schlüsselname' und 'Registrierungsschlüssel' automatisch fest.


COM-Hijack für geplante Aufgaben

Beschreibung

Übernimmt den COM-Handler einer geplanten Aufgabe. Erstellt einen Registrierungsschlüssel unter HKCU:\Software\Classes\CLSID\\InprocServer32, der auf eine DLL verweist.

Parameter

Klassen-ID: Die CLSID, die der COM-Handler-CLSID der Aufgabe entspricht
DLL-Pfad: Pfad zur DLL, die geladen werden soll
Bereinigung: Entfernt den erstellten Schlüssel


Treiber

DisableDSE

Zuverlässigkeit (0-5)Erweiterte RechteBemerkungen
4JaKann das Zielsystem möglicherweise zum Absturz bringen (BSOD)

Beschreibung

Lädt einen verwundbaren signierten Treiber mit beliebigem Kernel-Speicher-Lesen/Schreiben (NalDrv/iqvm64.sys). Ändert das g_CiEnabled-Flag von ntoskrnl.exe oder das g_CiOptions-Flag von CI.dll, um die Treibersignaturerzwingung (Driver Signature Enforcement, DSE) zu deaktivieren.
Lädt einen nicht signierten Treiber (Interceptor/Interceptor.sys) und stellt dann die DSE-Flag-Werte wieder her. Sowohl der signierte Treiber als auch der nicht signierte Treiber werden auf die Festplatte geschrieben.

TreiberMD5-Prüfsumme
iqvm64.sys1898ceda3247213c084f43637ef163b3
Interceptor.sys508c8943359717cfa0c77b61ebea2118

Parameter

Speicherort des verwundbaren Treibers: Speicherort des verwundbaren signierten Treibers in binärer Form auf der Festplatte
Speicherort des schädlichen Treibers: Speicherort des schädlichen, nicht signierten Treibers in binärer Form auf der Festplatte
Name des verwundbaren Treibers: Name, der zum Erstellen des Registrierungsschlüssels '\Registry\Machine\System\CurrentControlSet\Services\' verwendet wird
Gerätename des verwundbaren Treibers: Name, der zum Kontaktieren des Treibers '\DosDevices\' verwendet wird
Name des schädlichen Treibers: Name, der zum Erstellen des Registrierungsschlüssels '\Registry\Machine\System\CurrentControlSet\Services\' verwendet wird
Gerätename des schädlichen Treibers: Name, der zum Kontaktieren des Treibers '\DosDevices\' verwendet wird
Zielpfad: Temporärer Pfad, in den die Dateien des verwundbaren und des schädlichen Treibers geschrieben werden


UnloadDriver

Zuverlässigkeit (0-5)Erweiterte RechteBemerkungen
5Ja-

Beschreibung

Entlädt einen Treiber auf dem Zielsystem mithilfe des angegebenen Registrierungsschlüssels und löscht die Binärdatei von der Festplatte unter dem angegebenen Pfad.

Parameter

Registrierungsschlüssel des Treibers: Registrierungsschlüssel, der zum Entladen des Treibers verwendet wird '\Registry\Machine\System\CurrentControlSet\Services\'
Installationspfad des Treibers: Speicherort des Treibers auf der Festplatte


Intercept

Zuverlässigkeit (0-5)Erweiterte RechteBemerkungen
4NeinKann das Zielsystem möglicherweise zum Absturz bringen (BSOD)

Beschreibung

Information: Fragt den Interceptor-Treiber ab
Hook: Hookt die Hauptfunktionen (IRP) des Zieltreibers
Unhook: Stellt die Hauptfunktionen des Zieltreibers wieder her
Patch: Patcht die Kernel-Callbacks des Ziels
Restore: Stellt die Kernel-Callbacks des Ziels wieder her

Parameter: Information

Anbieter: Unterstützte Anbieter anzeigen
Module: Alle geladenen Treiber abfragen
Gehookte Module: Alle gehookten Treiber anzeigen
Callbacks: Alle registrierten Callbacks abfragen

Parameter: Hook

Index: Einen Treiber per Index hooken (siehe: Informationen – Module)
Name: Einen Treiber per Gerätenamen hooken (\Device\Name)
Werte: Kommagetrennte Liste von Indizes (bedingt)
Name: Gerätename des Zieltreibers (bedingt)

Werte sind erforderlich, wenn 'Index' ausgewählt ist. Name ist erforderlich, wenn 'Name' ausgewählt ist.

Parameter: Unhook

Index: Einen Treiber per Index unhooken (siehe: Informationen – gehookte Module)
Alle: Alle gehookten Treiber unhooken
Werte: Kommagetrennte Liste von Indizes (bedingt)

Werte sind erforderlich, wenn 'Index' ausgewählt ist.

Parameter: Patch

Anbieter: Alle Callbacks patchen, die mit Anbietermodul(en) verknüpft sind
Modul: Alle Callbacks patchen, die mit Modul(en) verknüpft sind
Prozess: Prozess-Callback(s) patchen
Thread: Thread-Callback(s) patchen
Image: Image-Callback(s) patchen
Registrierung: Registrierungs-Callback(s) patchen
Objektprozess: Objektprozess-Callback(s) patchen
Objektthread: Objektthread-Callback(s) patchen
Werte: Kommagetrennte Liste von Indizes (siehe: Informationen – Callbacks) (bedingt)
Name: Kommagetrennte Liste von Modulnamen oder ein einzelner Anbietername (siehe: Informationen – Anbieter) (bedingt)

Werte sind erforderlich, wenn 'Prozess', 'Thread', 'Image', 'Registrierung', 'Objektprozess' oder 'Objektthread' ausgewählt ist. Name ist erforderlich, wenn 'Anbieter' oder 'Modul' ausgewählt ist.

Parameter: Restore

Anbieter: Alle Callbacks wiederherstellen, die mit Anbietermodul(en) verknüpft sind
Modul: Alle Callbacks wiederherstellen, die mit Modul(en) verknüpft sind
Prozess: Prozess-Callback(s) wiederherstellen
Thread: Thread-Callback(s) wiederherstellen
Image: Image-Callback(s) wiederherstellen
Registrierung: Registrierungs-Callback(s) wiederherstellen
Objektprozess: Objektprozess-Callback(s) wiederherstellen
Objektthread: Objektthread-Callback(s) wiederherstellen
Alle: Alle Callbacks wiederherstellen
Werte: Kommagetrennte Liste von Indizes (siehe: Informationen – Callbacks) (bedingt)
Name: Kommagetrennte Liste von Modulnamen oder ein einzelner Anbietername (siehe: Informationen – Anbieter) (bedingt)

Werte sind erforderlich, wenn 'Prozess', 'Thread', 'Image', 'Registrierung', 'Objektprozess' oder 'Objektthread' ausgewählt ist. Name ist erforderlich, wenn 'Anbieter' oder 'Modul' ausgewählt ist.


Tool herunterladen