Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
Ledger — Um script agressor que rastreia mudanças operacionais feitas durante um engajamento de red team. Fornece uma trilha de auditoria completa do que foi alterado e do que ainda precisa ser limpo. | Kitploit
Ferramentas/GitHubGitHub/shellkraft/ledger
Scripting e AutomaçãoPós-ExploraçãoTestes de PenetraçãoComando e ControleUtilitários e FrameworksRed TeamingResposta a IncidentesAnálise de Logs
GitHubshellkraft/ledger

Ledger

Um script agressor que rastreia mudanças operacionais feitas durante um engajamento de red team. Fornece uma trilha de auditoria completa do que foi alterado e do que ainda precisa ser limpo.

Ver Repositório
27152há 3 mesesRevisado pelo Kitploit

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 →
Compartilhar

Ledger — Script de Agressor para Rastreamento de Mudanças Operacionais

O Ledger é um script agressor do Cobalt Strike que rastreia todas as mudanças operacionais feitas durante uma operação. Cada serviço que você habilita, regra de firewall que você abre, conta que você cria ou chave de registro que você altera é registrada com uma pontuação de risco, atribuição de operador e status de limpeza. Ao final da operação, você tem uma trilha de auditoria completa do que foi alterado e do que ainda precisa ser limpo.


Por quê

Operações de red team deixam artefatos. Serviços são habilitados, contas são criadas, regras de firewall são abertas, chaves de registro são modificadas. Sem um log estruturado, é fácil esquecê-los — especialmente em operações longas ou quando vários operadores trabalham simultaneamente.

O Ledger oferece um registro contínuo com:

  • Pontuação de risco por entrada e por host
  • Rastreamento de limpeza para que nada fique para trás
  • Atribuição por operador por meio do log de eventos do Cobalt Strike
  • Exportação para JSON ou texto simples para relatórios pós-ação
  • Avisos automáticos de beacon morto quando ainda houver alterações não limpas pendentes

Instalação

  1. Copie ledger.cna para o diretório de scripts do seu Cobalt Strike.
  2. Na barra de menus: Cobalt Strike → Script Manager → Load → selecione ledger.cna.
  • Um menu Ledger aparecerá na barra de menus.
  • O alias dirty agora está disponível em todos os consoles do Beacon.

  • Uso

    Todos os comandos são executados a partir de um console do Beacon usando o alias dirty.


    Registrar uma alteração (sem execução)

    root@kitploit:~
    dirty <CATEGORY> <command> [comment] [score]
    

    comment e score são opcionais. Se omitidos, valores padrão adequados são usados com base na categoria.

    root@kitploit:~
    dirty RPC "sql-enablerpc lon-db-1 lon-db-2"
    dirty DEFENDER "add-exclusion C:\windows\temp" "Payload staging" 8
    dirty GROUP "net group 'Domain Admins' svc_backup /add /domain"
    dirty USER "net user backdoor P@ssw0rd! /add"
    dirty SCHEDULED_TASK "schtasks /create /tn updater /tr C:\temp\beacon.exe /sc onlogon"
    
    image

    Executar e registrar em uma única etapa

    root@kitploit:~
    dirty exec <CATEGORY> <command> [comment] [score]
    

    Registra a alteração e executa imediatamente o comando no beacon — uma etapa em vez de duas.

    root@kitploit:~
    dirty exec RPC "sql-enablerpc lon-db-1 lon-db-2"
    dirty exec USER "net user backdoor P@ssw0rd! /add"
    dirty exec DEFENDER "sc config WinDefend start= disabled"
    dirty exec FIREWALL "netsh advfirewall set allprofiles state off"
    

    Limitações do dirty exec

    dirty exec usa brun internamente, que executa um binário diretamente sem um wrapper cmd.exe /c. Isso significa:

    • Funciona para executáveis reais: net, sc, reg, nltest, whoami, ipconfig, etc.
    • Não funciona para comandos internos do Beacon: sleep, cd, ls, pwd, download, upload, execute-assembly, inject, etc. Para esses, execute o comando do Beacon normalmente e use dirty <CATEGORY> <command> separadamente para registrá-lo.
    • Não funciona para comandos internos do shell que exigem cmd.exe: dir, echo, set, type, pipes (|), redirecionamentos (>), etc. Registre-os manualmente com dirty CATEGORY "shell <command>".
    • Aliases BOF personalizados carregados de outros arquivos .cna não serão despachados corretamente por meio de dirty exec.

    Ver o registro

    root@kitploit:~
    dirty show
    dirty show DEFENDER
    dirty show DESKTOP-ABC123
    

    Mostra todas as entradas registradas. O filtro opcional corresponde a comando, comentário, categoria, hostname e nome de usuário.

    image

    Resumo de pontuação

    root@kitploit:~
    dirty score
    

    Mostra um resumo de risco por host com pontuação agregada, contagem de limpezas pendentes e uma barra visual. Os hosts são classificados do maior score para o menor.


    Marcar entradas como limpas

    root@kitploit:~
    dirty clean <id>
    dirty clean all
    dirty clean host <hostname>
    

    A correspondência de hostname não diferencia maiúsculas de minúsculas e aceita correspondências parciais — DESKTOP corresponde a DESKTOP-FGN4LPG.


    Exportação

    root@kitploit:~
    dirty export text
    dirty export json
    dirty export text DEFENDER
    dirty export json DESKTOP-ABC
    

    As exportações são gravadas no diretório que contém ledger.cna e incluem um resumo de pontuação por host no topo, seguido pelo log completo de alterações. Os botões da barra de menus do Ledger acionam exportações sem filtro diretamente.


    Ajuda

    root@kitploit:~
    dirty help
    

    Categorias e Pontuações Padrão

    CategoriaPontuação PadrãoComentário Padrão
    REGISTRY2Registro modificado
    FIREWALL3Regra de firewall modificada
    SERVICE3Configuração de serviço alterada
    RPC4Alterações feitas no RPC
    WINRM4WinRM habilitado
    SMB4Assinatura SMB alterada
    DCOM4DCOM habilitado
    RDP5RDP habilitado
    SCHEDULED_TASK5Tarefa agendada criada
    DEFENDER6Configuração do Defender alterada
    GROUP6Associação a grupo modificada
    USER7Conta de usuário modificada
    ACL8ACL modificada
    SPN8SPN modificado
    DOMAIN_ADMIN9Grupo de administradores de domínio modificado
    TRUST9Relação de confiança modificada

    Qualquer categoria não listada é aceita com uma pontuação padrão de 3.


    Limiares de Risco

    Por entrada

    RótuloScore
    LOW< 5
    MEDIUM5 – 7
    HIGH8+

    Agregado (por host)

    RótuloScore
    LOW< 5
    MEDIUM5 – 9
    HIGH10 – 14
    CRITICAL15+

    Aviso de Beacon Morto

    Quando um beacon fica morto ainda com entradas de ledger não limpas pendentes, o Ledger dispara um aviso vermelho no Event Log do Cobalt Strike, visível para todos os operadores conectados:

    image

    O aviso é acionado uma vez por beacon e é redefinido automaticamente se o beacon se recuperar e fizer check-in novamente. Beacons vinculados (filhos) e beacons explicitamente mortos por um operador são excluídos. O tempo do aviso acompanha a configuração de sleep do beacon — um sleep de 60s dispara após ~2 minutos, um sleep de 5m após ~10 minutos.


    Formato de Exportação

    Texto

    root@kitploit:~
    LEDGER EXPORT -- 2026-05-21 19:50:34
    
    HOST SCORE SUMMARY
    ================================================================================
    Host  Risk  Score  Pending  Bar
    --------------------------------------------------------------------------------
    DESKTOP-RLP4KBJ (sally *)  CRITICAL  +21  2 pend  [##########]
    DESKTOP-FGN4LPG (Admin)  CRITICAL  +18  0 pend  [#########]
    ================================================================================
    
    CHANGE LOG
    ================================================================================
    
    [000002] 2026-05-21 19:22:56 | neo | GROUP | MEDIUM +6 | CLEANED
      Host          : DESKTOP-FGN4LPG
      User          : Admin
      Process       : HTTP Listener_x64.exe (PID 4716)
      Command       : net group 'Domain Admins' svc_backup /add /domain
      Comment       : Added svc_backup to Domain Admins for lateral movement
    

    JSON

    root@kitploit:~
    {
      "exported":    "2026-05-21 19:53:19",
      "host_summary": [
        {
          "host":    "DESKTOP-FGN4LPG (Admin)",
          "risk":    "CRITICAL",
          "score":   18,
          "pending": 0
        },
        {
          "host":    "DESKTOP-RLP4KBJ (sally *)",
          "risk":    "CRITICAL",
          "score":   21,
          "pending": 2
        }
      ],
      "entries": [
      {
        "id":             "000004",
        "timestamp":      "2026-05-21 19:31:36",
        "operator":       "neo",
        "beacon_id":      "1607712302",
        "computer":       "DESKTOP-RLP4KBJ",
        "beacon_user":    "sally *",
        "beacon_process": "HTTP Listener_x64.exe (PID 11540)",
        "functionality":  "USER",
        "command":        "net user svc_backup P@ssw0rd123! /add /domain",
        "comment":        "Created service account for persistence",
        "score":          7,
        "risk":           "MEDIUM",
        "cleaned":        false
      }
    

    Uso Multioperador

    Cada entrada registrada e limpa é transmitida para o Event Log do Cobalt Strike via elog, para que todos os operadores conectados vejam as alterações uns dos outros em tempo real. O registro permanece na memória do teamserver durante toda a sessão.


    Notas

    • O registro é somente em memória e não persiste entre reinicializações do teamserver. Exporte antes de encerrar.
    • As exportações são gravadas no diretório que contém ledger.cna.
    • É possível sobrescrever a pontuação: dirty USER "net user ..." "my comment" 9 — o último argumento define uma pontuação explícita.
    • Carregar o script duas vezes (por exemplo, uma vez pelo Script Manager e outra manualmente) registrará manipuladores de eventos duplicados. Verifique o Script Manager se você vir saída duplicada.
    Baixar ferramenta