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
aggrokatz — Aggrokatz é uma extensão de plugin agressor para o Cobalt Strike que permite ao pypykatz interagir com os beacons remotamente e possibilita analisar arquivos de dump LSASS e arquivos de hive do registro para extrair credenciais e outros segredos armazenados sem baixar o arquivo e sem enviar nenhum código suspeito para o beacon. | Kitploit
Ferramentas/GitHubGitHub/sec-consult/aggrokatz
Frameworks de ExploraçãoPós-ExploraçãoTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubsec-consult/aggrokatz

aggrokatz

Ver Repositório
1552614há 5 anosRevisado 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 →

Sobre

Aggrokatz é uma extensão de plugin agressor para o Cobalt Strike que permite ao pypykatz interagir com os beacons remotamente e possibilita analisar arquivos de dump LSASS e arquivos de hive do registro para extrair credenciais e outros segredos armazenados sem baixar o arquivo e sem enviar nenhum código suspeito para o beacon.

Compartilhar

aggrokatz

aggro_card

O que é isso

aggrokatz é uma extensão de plugin Aggressor para CobaltStrike que permite que o pypykatz se comunique remotamente com os beacons.
A versão atual do aggrokatz permite que o pypykatz analise arquivos de dump do LSASS e arquivos de hive do Registro para extrair credenciais e outros segredos armazenados, sem baixar o arquivo e sem enviar nenhum código suspeito para o beacon (o Cobalt Strike já está lá de qualquer forma). No futuro, este projeto visa fornecer recursos adicionais para operações encobertas, como pesquisar e descriptografar todos os segredos DPAPI/kerberoasting/etc.

Publicamos um breve post no blog para o lançamento desta ferramenta, que também inclui algumas capturas de tela.

NOTAS IMPORTANTES - POR FAVOR, LEIA ISSO

O dump do LSASS/Registro não é o objetivo deste projeto, apenas a análise. Motivos:

  1. Múltiplas técnicas de dump já foram implementadas a partir do Cobalt Strike (CS) e estão amplamente disponíveis ao público. Recentemente, mudamos para o uso de uma versão modificada do CredBandit que despeja os bytes brutos no disco em vez de base64. Ferramenta legal, dê uma olhada.
  2. Queremos manter nossa técnica de dump privada.

No cliente CS, não use "reload" nem tente descarregar e recarregar manualmente o script se você o modificou. Você DEVE descarregá-lo, fechar o cliente e iniciá-lo novamente, e então carregar o script modificado. Caso contrário, você terá várias versões rodando simultaneamente e uma tonelada de erros e comportamentos estranhos acontecerão!
Ao analisar arquivos LSASS/registro no lado remoto, por favor, não interaja com o beacon específico no qual você iniciou o script. Normalmente, isso não causaria problemas, mas não posso dar garantias.

Instalação

  • Você precisará ter o pycobalt instalado e configurado. Há um readme na página do GitHub deles.
  • Você precisará instalar o pypykatz cuja versão deve ser >=0.4.8
  • Você precisará do Cobalt Strike

Configuração

  • Certifique-se de que o arquivo aggressor.cna do pycobalt esteja configurado e saiba a localização do seu interpretador Python
  • Altere o caminho pycobalt_path em aggrokatz.cna para apontar para pycobalt.cna
  • No CS, utilize as janelas View > Script Console e Cobalt Strike > Script Manager. Usando o Script Manager, carregue o script aggkatz.cna.

Uso

  • Se o script aggkatz.cna carregou com sucesso, você terá um novo item de menu pypykatz ao clicar com o botão direito em um beacon.
  • Durante a análise, você verá mensagens de depuração na janela Script Console.
  • Após a conclusão da análise, os resultados serão exibidos tanto na janela Script Console quanto na janela do próprio Beacon.

Parâmetros do menu de análise de dump do LSASS

  • Arquivo LSASS: A localização do arquivo lsass.dmp no computador remoto. Você também pode usar caminhos UNC para acessar arquivos lsass.dmp compartilhados via SMB
  • chunksize: A quantidade máxima que será lida de uma só vez
  • Arquivo BOF: O arquivo BOF (Beacon Object File) que permite leituras em blocos. Este arquivo será enviado e executado (em memória) cada vez que um novo bloco for lido.
  • (módulo): Especifica quais módulos serão analisados. Padrão: todos
  • Saída : Especifica o(s) formato(s) de saída
  • Popular a guia de Credenciais: Após uma análise bem-sucedida, todas as credenciais obtidas estarão disponíveis na guia de Credenciais do Cobalt Strike. Este recurso está em beta
  • Excluir arquivo remoto após a análise: Após uma análise bem-sucedida, o arquivo de dump do LSASS será removido do alvo

Parâmetros do menu de análise de dump do Registro

  • Arquivo SYSTEM: A localização do arquivo SYSTEM.reg no computador remoto. Você também pode usar caminhos UNC para acessar arquivos compartilhados via SMB
  • Arquivo SAM (opcional): A localização do arquivo SAM.reg no computador remoto. Você também pode usar caminhos UNC para acessar arquivos compartilhados via SMB
  • Arquivo SECURITY (opcional): A localização do arquivo SECURITY.reg no computador remoto. Você também pode usar caminhos UNC para acessar arquivos compartilhados via SMB
  • Arquivo SOFTWARE (opcional): A localização do arquivo SOFTWARE.reg no computador remoto. Você também pode usar caminhos UNC para acessar arquivos compartilhados via SMB
  • chunksize: A quantidade máxima que será lida de uma só vez
  • Arquivo BOF: O arquivo BOF (Beacon Object File) que permite leituras em blocos. Este arquivo será enviado e executado (em memória) cada vez que um novo bloco for lido.
  • Saída : Especifica o(s) formato(s) de saída

Limitações

Atualmente, o BOF de leitura de arquivo suporta leituras de até 4Gb. Isso pode ser estendido com algumas modificações, mas até agora arquivos tão grandes não foram observados.

Como funciona

TL;DR

Normalmente, o analisador do pypykatz realiza uma série de operações de leitura de arquivo no disco, mas com a ajuda do aggrokatz essas operações de leitura são canalizadas para o beacon usando um BOF especialmente criado (Beacon Object File) que permite ler o conteúdo do arquivo remoto em blocos. Isso permite que o pypykatz extraia todos os segredos dos arquivos remotos sem ler o arquivo inteiro, apenas capturando os blocos necessários onde os segredos estão localizados.

Aprofundamento

Para ter uma visão completa de todo o processo, precisamos destacar duas partes:

  1. como o pypykatz se integra ao CobaltStrike
  2. como o pypykatz realiza a extração de credenciais sem ler o arquivo inteiro

Integração do pypykatz ao CobaltStrike

O CobaltStrike (agente) é escrito em Java, o pypykatz é escrito em Python. Isso é um problema. Felizmente para nós, uma entidade desconhecida criou o pycobalt que fornece uma interface elegante entre os dois mundos, completa com APIs úteis que podem ser invocadas diretamente do Python. Apesar de pycobalt ser uma peça maravilhosa de engenharia, existem alguns problemas/desvantagens que precisamos apontar:

  1. Sobre confiar no projeto pycobalt:
  • Tentamos entrar em contato com o autor, mas não recebemos resposta.
  • Não podemos garantir que o projeto pycobalt será mantido no futuro.
  • Não controlamos nenhum aspecto do desenvolvimento do pycobalt.
  1. Sobre problemas técnicos observados:
  • Geralmente, existem alguns problemas de codificação entre pycobalt e CobaltStrike. Isso resulta em algumas chamadas de API que retornariam bytes que não podem ser usados porque alguns bytes são distorcidos pelo codificador. Ao verificar o código, concluímos que a maioria dos problemas de codificação/decodificação ocorre porque pycobalt usa STDOUT/STDIN para se comunicar com o processo Java.
  • Especificamente, a chamada de API bof_pack, que é crucial para este projeto, teve que ser implementada como um script puro do Aggressor e invocada apenas a partir do Python usando estruturas de dados básicas (string e int) e não usando bytes.
  • Apenas APIs bloqueantes fornecidas pelo pacote pycobalt, sem suporte a threads. Bem, pelo menos observamos que as threads quebram aleatoriamente, mas meio que esperávamos isso.
  • API bloqueante + sem threads + dependência de callbacks = tivemos que empregar alguns hacks estranhos para fazer funcionar corretamente.
Baixar ferramenta