Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
sleep_python_bridge — Este projeto é uma 'ponte' entre o sleep e a linguagem python. Ele permite o controle de um teamserver do Cobalt Strike através do python, sem a necessidade do cliente GUI padrão. NOTA: Este projeto está muito em BETA. O objetivo é fornecer um playground para testes e de forma alguma é um recurso oficialmente suportado. Talvez isso possa ser algo adicionado no futuro ao produto principal. | Kitploit
Ferramentas/GitHubGitHub/cobalt-strike/sleep_python_bridge
Gerenciamento de Indicadores de Comprometimento (IOC)Geração de PayloadsComando e ControleRed TeamingDesenvolvimento de PayloadsAnálise de Logs
GitHubcobalt-strike/sleep_python_bridge

sleep_python_bridge

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
1883217há 1 anoRevisado pelo Kitploit

Sobre

Este projeto é uma 'ponte' entre o sleep e a linguagem python. Ele permite o controle de um teamserver do Cobalt Strike através do python, sem a necessidade do cliente GUI padrão. NOTA: Este projeto está muito em BETA. O objetivo é fornecer um playground para testes e de forma alguma é um recurso oficialmente suportado. Talvez isso possa ser algo adicionado no futuro ao produto principal.

Compartilhar

Ponte Sleep-Python do Cobalt Strike

Este projeto é uma 'ponte' entre as linguagens Sleep e Python. Ele permite o controle de um teamserver do Cobalt Strike por meio de Python, sem a necessidade do cliente GUI padrão.

NOTA: Este projeto está muito em fase BETA. O objetivo é fornecer um playground para testes e não é, de forma alguma, um recurso com suporte oficial. Talvez isso possa ser algo adicionado ao produto principal no futuro.

O projeto foi inspirado pelo trabalho de @BinaryFaultline e @Mcgigglez16 no projeto https://github.com/emcghee/PayloadAutomation. Quero agradecer especialmente a vocês dois!!

O coração desta ponte é uma implementação em Python de um cliente Cobalt Strike headless. Isso é alcançado usando o Aggressor Script Console fornecido pelo agscript como mecanismo. O Agscript permite interação headless com o Cobalt Strike (https://www.cobaltstrike.com/aggressor-script/index.html). A 'ponte' funciona usando funções auxiliares em Python no sleepy.py para gerar os comandos Sleep necessários esperados pelo console do agscript. Em vez de escrever as funções Sleep, o striker.py fornece funções auxiliares que abstraem o Sleep e permitem o uso de Python.

Mudanças notáveis em relação ao projeto original

Como o projeto PayloadAutomation inspirou este, ele começou com muito do mesmo código, mas eu queria reduzi-lo para usar os componentes necessários para atuar como um wrapper do agscript.

  • Renomeado de Payload_Automation para sleep_python_bridge. Este projeto é mais do que geração de payloads.
  • Alterado de uma biblioteca PyPI para módulos locais. Isso foi feito para testes e pode ser um bom candidato a biblioteca Python após testes extensivos.
  • Atualizadas e adicionadas funções auxiliares para corresponder às versões do aggressor.
  • Adicionada a capacidade de carregar script externo.

Bibliotecas Incluídas

  • Striker: um conjunto de funções para interagir com o Cobalt Strike e executar funcionalidades tipicamente acessíveis apenas via Sleep/GUI.
  • Sleepy: um conjunto de funções para ajudar a facilitar uma ponte entre objetos Sleep e objetos Python.
  • Compyler: um conjunto de funções para compilar vários payloads de plataforma ou multiplataforma.
  • Artifactor: um conjunto de funções para inspecionar e revisar artefatos, além de coletar e rastrear IoCs.

Arquivos e Diretórios

ItemDescription
sleep_python_bridgeA biblioteca que permite ao Python interagir com o Cobalt Strike
output/htmlcaminho para visualizadores de dados html
output/html/datacaminho para dados json usados pelo visualizador de dados
output/payloadscaminho para payloads salvos (usado pelo gerador de payloads)
payload_scriptscaminho para scripts externos a serem carregados pelo payloadgenerator.py
beaconlogtracker.pyImplementação de um rastreador de logs de beacon que usa uma grade de dados HTML para exibir logs de beacon
payloadgenerator.pyImplementação de um gerador de payloads de beacon que cria payloads para cada listener
beacongrapher.pyImplementação de um rastreador de gráfico de beacon que usa um grafo direcionado em HTML/JavaScript para beacons

TODO

  • Documentar as funções expostas
  • Mover funções baseadas em compilação do striker.py para o compyler.py
  • Adicionar verificação de erros adicional, especificamente para dependências de aplicação
  • Expandir o compyler para incluir builds remotas e mingw
  • Adicionar rastreamento de IOC aos payloads gerados via artifactor.py
  • tratar erro: "User is already connected."
  • Considerar converter isto em uma biblioteca Python formal

Como usar

Os exemplos neste projeto podem ser a maneira mais fácil de entender, mas há o 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)

Execute o script

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

Exemplos Práticos

Rastreador de Logs

Os logs de beacon estão disponíveis em tempo de execução em um teamserver ou por meio dos arquivos de log de beacon salvos no teamserver. Os dados estão sempre lá, mas podem não ser apresentados da maneira que você gostaria. Este é um exemplo de rastreador de logs que usa uma grade de dados HTML para visualizar rapidamente os logs de beacon.

beaconlogtracker.py é um script que se conecta a um teamserver, extrai os logs de beacon em execução a cada 30 segundos, salva em <code>beaconlogs.json` e exibe em uma grade de dados HTML pesquisável e ordenável.

Os logs de beacon são sempre salvos no diretório de logs, mas esta é uma maneira alternativa de rastrear os logs em memória com um visualizador alternativo. Se o teamserver for reiniciado, os logs em memória são perdidos e você deve consultar os logs armazenados no diretório de logs do teamserver. Este script mantém os logs em memória sincronizados com o arquivo beaconlogs.json. Dessa forma, você tem um jeito rápido e fácil de visualizar todos os dados sem vasculhar o diretório de logs, mesmo que o Cobalt Strike seja reiniciado.

Inicie o script fazendo-o conectar ao seu teamserver para sincronizar logs a cada 30 segundos

Uso:

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

Isso manterá o beaconlogs.json sincronizado com os logs de beacon salvos e em execução. Ele sincroniza a cada 30 segundos

Inicie um servidor web a partir do diretório output/html

python3 -m http.server 8000

Conecte-se a http://localhost:8000/beaconlogs.html

Gerador de Payloads

Baixar ferramenta