Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sleep_python_bridge — Questo progetto è un 'ponte' tra il linguaggio sleep e python. Consente il controllo di un teamserver Cobalt Strike tramite python senza la necessità del client GUI standard. NOTA: Questo progetto è molto in BETA. L'obiettivo è fornire un parco giochi per test e non è in alcun modo una funzionalità supportata ufficialmente. Forse questo potrebbe essere aggiunto in futuro al prodotto principale. | Kitploit
Strumenti/GitHubGitHub/cobalt-strike/sleep_python_bridge
Gestione degli Indicatori di Compromissione (IOC)Generazione di PayloadCommand and ControlRed TeamingSviluppo PayloadAnalisi dei Log
GitHubcobalt-strike/sleep_python_bridge

sleep_python_bridge

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
18832171 anno faRevisionato da Kitploit

Informazioni

Questo progetto è un 'ponte' tra il linguaggio sleep e python. Consente il controllo di un teamserver Cobalt Strike tramite python senza la necessità del client GUI standard. NOTA: Questo progetto è molto in BETA. L'obiettivo è fornire un parco giochi per test e non è in alcun modo una funzionalità supportata ufficialmente. Forse questo potrebbe essere aggiunto in futuro al prodotto principale.

Condividi

Cobalt Strike Sleep Python Bridge

Questo progetto è un 'ponte' tra il linguaggio Sleep e Python. Consente il controllo di un teamserver di Cobalt Strike tramite Python senza la necessità del client GUI standard.

NOTA: questo progetto è molto in BETA. L'obiettivo è fornire un parco giochi per i test e non è in alcun modo una funzionalità supportata ufficialmente. Forse potrebbe essere qualcosa da aggiungere in futuro al prodotto principale.

Il progetto è stato ispirato dal lavoro svolto da @BinaryFaultline e @Mcgigglez16 nel progetto https://github.com/emcghee/PayloadAutomation. Voglio offrire un ringraziamento speciale a entrambi !!

Il cuore di questo ponte è un'implementazione Python di un client Cobalt Strike headless. Questo è ottenuto usando come motore l'Aggressor Script Console fornita da agscript. Agscript consente l'interazione headless con Cobalt Strike (https://www.cobaltstrike.com/aggressor-script/index.html). Il 'ponte' funziona usando funzioni helper Python in sleepy.py per generare i comandi Sleep necessari attesi dalla console agscript. Invece di scrivere le funzioni Sleep, striker.py fornisce funzioni helper che astraggono Sleep e consentono l'uso di Python.

Changes of note from the original project

Poiché il progetto PayloadAutomation ha ispirato questo, si è partiti con gran parte dello stesso codice, ma ho voluto ridurlo per usare solo i componenti necessari a fungere da wrapper agscript.

  • Rinominato da Payload_Automation a sleep_python_bridge. Questo progetto è più della semplice generazione di payload.
  • Passato da una libreria PyPI a moduli locali. Questo è stato fatto per i test e potrebbe essere un buon candidato per una libreria Python dopo test approfonditi
  • Aggiornati e aggiunti helper per corrispondere alle versioni di aggressor
  • Aggiunta la possibilità di caricare script esterni.

Included Libraries

  • Striker: una serie di funzioni per interagire con Cobalt Strike ed eseguire funzionalità tipicamente accessibili solo tramite Sleep/GUI.
  • Sleepy: una serie di funzioni per facilitare un ponte tra oggetti Sleep e oggetti Python.
  • Compyler: una serie di funzioni per compilare vari payload per piattaforma o cross-platform.
  • Artifactor: una serie di funzioni per ispezionare e rivedere gli artifact e raccogliere e tracciare gli IoC.

Files and Directories

ElementoDescrizione
sleep_python_bridgeLa libreria che consente a Python di interfacciarsi con Cobalt Strike
output/htmlpercorso per i visualizzatori di dati html
output/html/datapercorso per i dati json usati dal visualizzatore di dati
output/payloadspercorso per i payload salvati (usato dal generatore di payload)
payload_scriptspercorso per gli script esterni da caricare tramite payloadgenerator.py
beaconlogtracker.pyImplementazione di un tracker dei log dei beacon che usa un datagrid HTML per visualizzare i log dei beacon
payloadgenerator.pyImplementazione di un generatore di payload per beacon che crea payload per ogni listener
beacongrapher.pyImplementazione di un tracker dei grafi dei beacon che usa un grafo diretto HTML/javascript per i beacon

TODO

  • Documentare le funzioni esposte
  • spostare le funzioni di compilazione da striker.py a compyler.py
  • Aggiungere ulteriori controlli degli errori, in particolare per le dipendenze dell'applicazione
  • Espandere compyler per includere build remote e mingw
  • Aggiungere il tracciamento degli IoC ai payload generati tramite artifactor.py
  • gestire l'errore: "User is already connected."
  • Valutare la conversione in una libreria Python formale

How to use

Gli esempi in questo progetto potrebbero essere il modo più semplice per capire, ma c'è lo script 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)

Esegui lo script

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

Practical Examples

Log Tracker

I log dei beacon sono disponibili in esecuzione in un teamserver o tramite i file di log dei beacon salvati sul teamserver. I dati sono sempre lì, ma potrebbero non essere presentati nel modo desiderato. Questo è un esempio di log tracker che usa una griglia di dati HTML per visualizzare rapidamente i log dei beacon.

beaconlogtracker.py è uno script che si connette a un teamserver, estrae i log dei beacon attivi ogni 30 secondi, li salva in <code>beaconlogs.json` e li visualizza in una griglia di dati HTML ricercabile e ordinabile.

I log dei beacon vengono sempre salvati nella directory dei log, ma questo è un modo alternativo per tracciare i log in memoria con un visualizzatore alternativo. Se il teamserver viene riavviato, i log in memoria vanno persi e bisogna fare riferimento ai log salvati nella directory dei log sul teamserver. Questo script mantiene i log in memoria sincronizzati con il file beaconlogs.json. In questo modo hai un modo rapido e semplice per visualizzare tutti i dati senza scavare nella directory dei log anche se Cobalt Strike viene riavviato.

Avvia lo script facendolo connettere al tuo teamserver per sincronizzare i log ogni 30 secondi

Utilizzo:

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

Questo manterrà beaconlogs.json sincronizzato con i log dei beacon salvati e attivi. Si sincronizza ogni 30 secondi

Avvia un webserver dalla directory output/html

python3 -m http.server 8000

Connettiti a http://localhost:8000/beaconlogs.html

Payload Generator

Scarica lo strumento