Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
sleep_python_bridge — Dieses Projekt ist eine „Brücke“ zwischen der Sleep- und der Python-Sprache. Es ermöglicht die Steuerung eines Cobalt-Strike-Teamservers über Python, ohne dass der standardmäßige GUI-Client benötigt wird. HINWEIS: Dieses Projekt befindet sich noch sehr stark in der BETA-Phase. Das Ziel ist es, eine Spielwiese zum Testen bereitzustellen, und es handelt sich keineswegs um ein offiziell unterstütztes Feature. Vielleicht könnte dies in Zukunft zum Kernprodukt hinzugefügt werden. | Kitploit
Tools/GitHubGitHub/cobalt-strike/sleep_python_bridge
Management von Indicators of Compromise (IOC)Payload-GenerierungCommand and ControlRed TeamingPayload-EntwicklungLog-Analyse
GitHubcobalt-strike/sleep_python_bridge

sleep_python_bridge

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
1883217vor 1 JahrVon Kitploit geprüft

Über

Dieses Projekt ist eine „Brücke“ zwischen der Sleep- und der Python-Sprache. Es ermöglicht die Steuerung eines Cobalt-Strike-Teamservers über Python, ohne dass der standardmäßige GUI-Client benötigt wird. HINWEIS: Dieses Projekt befindet sich noch sehr stark in der BETA-Phase. Das Ziel ist es, eine Spielwiese zum Testen bereitzustellen, und es handelt sich keineswegs um ein offiziell unterstütztes Feature. Vielleicht könnte dies in Zukunft zum Kernprodukt hinzugefügt werden.

Teilen

Cobalt Strike Sleep-Python-Brücke

Dieses Projekt ist eine 'Brücke' zwischen der Sleep- und der Python-Sprache. Es ermöglicht die Steuerung eines Cobalt-Strike-Teamservers über Python, ohne dass der standardmäßige GUI-Client benötigt wird.

HINWEIS: Dieses Projekt befindet sich noch sehr in der BETA-Phase. Das Ziel ist es, eine Spielwiese zum Testen bereitzustellen, und es ist in keiner Weise ein offiziell unterstütztes Feature. Vielleicht könnte dies in Zukunft zum Kernprodukt hinzugefügt werden.

Das Projekt wurde durch die Arbeit von @BinaryFaultline und @Mcgigglez16 im Projekt https://github.com/emcghee/PayloadAutomation inspiriert. Ich möchte euch beiden einen besonderen Dank aussprechen!!

Das Herzstück dieser Brücke ist eine Python-Implementierung eines Headless-Cobalt-Strike-Clients. Dies wird erreicht, indem die von agscript bereitgestellte Aggressor Script Console als Engine verwendet wird. Agscript ermöglicht die Headless-Interaktion mit Cobalt Strike (https://www.cobaltstrike.com/aggressor-script/index.html). Die 'Brücke' funktioniert, indem Python-Hilfsfunktionen in sleepy.py verwendet werden, um die benötigten Sleep-Befehle zu erzeugen, die von der agscript-Konsole erwartet werden. Anstatt die Sleep-Funktionen zu schreiben, bietet striker.py Hilfsfunktionen, die Sleep abstrahieren und die Verwendung von Python ermöglichen.

Nennenswerte Änderungen gegenüber dem ursprünglichen Projekt

Da das PayloadAutomation-Projekt dies inspiriert hat, begann es mit vielen der gleichen Codezeilen, aber ich wollte es auf die Komponenten reduzieren, die benötigt werden, um als agscript-Wrapper zu fungieren.

  • Umbenannt von Payload_Automation in sleep_python_bridge. Dieses Projekt ist mehr als nur Payload-Erzeugung.
  • Von einer PyPI-Bibliothek zu lokalen Modulen gewechselt. Dies geschah zum Testen und könnte nach umfangreichen Tests ein guter Kandidat für eine Python-Bibliothek sein.
  • Helfer aktualisiert und hinzugefügt, um sie an Aggressor-Versionen anzupassen.
  • Möglichkeit zum Laden externer Skripte hinzugefügt.

Enthaltene Bibliotheken

  • Striker: Eine Reihe von Funktionen zur Interaktion mit Cobalt Strike und zur Ausführung von Funktionen, die normalerweise nur über Sleep/GUI zugänglich sind.
  • Sleepy: Eine Reihe von Funktionen, die eine Brücke zwischen Sleep-Objekten und Python-Objekten erleichtern.
  • Compyler: Eine Reihe von Funktionen zum Kompilieren verschiedener Payloads für eine Plattform oder plattformübergreifend.
  • Artifactor: Eine Reihe von Funktionen zum Untersuchen und Überprüfen von Artefakten sowie zum Sammeln und Verfolgen von IoCs.

Dateien und Verzeichnisse

ItemDescription
sleep_python_bridgeDie Bibliothek, die es Python ermöglicht, mit Cobalt Strike zu interagieren
output/htmlPfad für HTML-Datenbetrachter
output/html/dataPfad für JSON-Daten, die vom Datenbetrachter verwendet werden
output/payloadsPfad für gespeicherte Payloads (vom Payload-Generator verwendet)
payload_scriptsPfad für externe Skripte, die von payloadgenerator.py geladen werden
beaconlogtracker.pyImplementierung eines Beacon-Log-Trackers, der ein HTML-Datengitter zur Anzeige von Beacon-Logs verwendet
payloadgenerator.pyImplementierung eines Beacon-Payload-Generators, der für jeden Listener Payloads erstellt
beacongrapher.pyImplementierung eines Beacon-Graph-Trackers, der einen gerichteten HTML-Javascript-Graphen für Beacons verwendet

TODO

  • Die offengelegten Funktionen dokumentieren
  • Kompilierungsbasierte Funktionen von striker.py nach compyler.py verschieben
  • Zusätzliche Fehlerprüfung hinzufügen, insbesondere für Anwendungsabhängigkeiten
  • Compyler erweitern, um Remote-Builds und mingw einzubeziehen
  • IOC-Verfolgung für Payloads hinzufügen, die über artifactor.py erzeugt werden
  • Fehler behandeln: „User is already connected."
  • Erwägen, dies in eine formale Python-Bibliothek umzuwandeln

Verwendung

Die Beispiele in diesem Projekt sind vielleicht der einfachste Weg, es zu verstehen, aber es ist das Skript example.py.

#!/usr/local/bin/python3

## Import the bridge
from sleep_python_bridge.striker import CSConnector
from argparse import ArgumentParser
from pprint import pp, pprint

###################
## Argparse
def parseArguments():
    parser = ArgumentParser()
    parser.add_argument('host', help='The teamserver host.')
    parser.add_argument('port', help='The teamserver port.')
    parser.add_argument('username', help='The desired username.')
    parser.add_argument('password', help='The teamserver password.')
    parser.add_argument('path', help="Directory to CobaltStrike")
    
    args = parser.parse_args()
    return args

## Let's go
def main(args):

    cs_host = args.host
    cs_port = args.port
    cs_user = args.username
    cs_pass = args.password
    cs_directory = args.path

    ## Connect to server
    print(f"[*] Connecting to teamserver: {cs_host}")
    with CSConnector(
        cs_host=cs_host, 
        cs_port=cs_port, 
        cs_user=cs_user, 
        cs_pass=cs_pass,
        cs_directory=cs_directory) as cs:

        # Perform some actions
        # 
        # Get beacon metadata - i.e., x beacons() from the script console
        beacons = cs.get_beacons()
        print("BEACONS")
        pprint(beacons)

        # Get list of listners - i.e., x listeners_stageless() from the script console
        listeners = cs.get_listeners_stageless()
        print("LISTENERS")
        pprint(listeners)

if __name__ == "__main__":
    args = parseArguments()
    main(args)

Rufe das Skript auf

python3 example.py 127.0.0.1 50050 example password /path/to/cobaltstrike

Praxisbeispiele

Log-Tracker

Beacon-Logs sind zur Laufzeit auf einem Teamserver oder über die auf dem Teamserver gespeicherten Beacon-Logdateien verfügbar. Die Daten sind immer vorhanden, aber möglicherweise nicht in der gewünschten Form aufbereitet. Dies ist ein Beispiel für einen Log-Tracker, der ein HTML-Datengitter verwendet, um Beacon-Logs schnell anzuzeigen.

beaconlogtracker.py ist ein Skript, das sich mit einem Teamserver verbindet, alle 30 Sekunden die laufenden Beacon-Logs extrahiert, in <code>beaconlogs.json` speichert und sie in einem durchsuchbaren und sortierbaren HTML-Datengitter anzeigt.

Beacon-Logs werden immer im Logs-Verzeichnis gespeichert, aber dies ist eine alternative Möglichkeit, die In-Memory-Logs mit einem alternativen Betrachter zu verfolgen. Wenn der Teamserver neu gestartet wird, gehen die In-Memory-Logs verloren, und du musst auf die im Logs-Verzeichnis auf dem Teamserver gespeicherten Logs zurückgreifen. Dieses Skript hält die In-Memory-Logs mit der Datei beaconlogs.json synchron. So hast du eine schnelle und einfache Möglichkeit, alle Daten zu visualisieren, ohne im Logs-Verzeichnis zu graben, selbst wenn Cobalt Strike neu gestartet wird.

Starte das Skript, indem du es sich alle 30 Sekunden mit deinem Teamserver verbinden lässt, um Logs zu synchronisieren.

Verwendung:

python3 beaconlogtracker.py 127.0.0.1 50050 logtracker password /path/to/cobaltstrike

Dadurch bleibt beaconlogs.json mit den gespeicherten und laufenden Beacon-Logs synchronisiert. Die Synchronisierung erfolgt alle 30 Sekunden.

Starte einen Webserver aus dem Verzeichnis output/html

python3 -m http.server 8000

Öffne http://localhost:8000/beaconlogs.html

Payload-Generator

Tool herunterladen