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
pypykatz — Implementação do Mimikatz em Python puro | Kitploit
Ferramentas/GitHubGitHub/skelsec/pypykatz
Quebra de SenhasFerramentas de Criptografia/DescriptografiaForensia de MemóriaPós-ExploraçãoForensia DigitalTestes de PenetraçãoAutenticação
GitHubskelsec/pypykatz

pypykatz

Implementação do Mimikatz em Python puro

Ver Repositório
3.3k429há 4 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

Supported Python versions Twitter

🚩 Patrocinadores

Se você gosta deste projeto, considere adquirir licenças do OctoPwn, nossa suíte completa de pentest que roda no seu navegador!
Para notificações sobre novas versões/versões e outras informações, entre no nosso Discord

pypykatz

Implementação do Mimikatz em Python puro. Pelo menos uma parte :)
Roda em todos os sistemas operacionais que suportam python>=3.6 pypy_card

🚩 Roda no navegador

Este projeto, junto com muitas outras ferramentas de pentest, roda no navegador com o poder do OctoPwn!
Confira a versão comunitária em OctoPwn - Live

WIKI

Desde a versão 0.1.1, a linha de comando mudou um pouco. Não se preocupe, tenho uma WIKI incrível para você.

Instalação

Instale via pip ou clonando do GitHub.
O instalador criará um executável pypykatz no diretório Scripts do Python. Você pode executá-lo a partir de lá, deve estar no seu PATH.
Cuidado, a versão master do GitHub pode falhar porque sou preguiçoso para criar um branch adequado para as novas versões. Tentarei criar um branch da versão estável.

Via PIP

root@kitploit:~
pip3 install pypykatz

Via GitHub

Instale pré-requisitos

root@kitploit:~
pip3 install minidump minikerberos aiowinreg msldap winacl

Clone este repositório

root@kitploit:~
git clone https://github.com/skelsec/pypykatz.git
cd pypykatz

Instale

root@kitploit:~
python3 setup.py install

Funcionalidades

Geral

Independente de plataforma - todos os comandos têm uma versão "live" e uma normal, quando aplicável. A versão "live" usará o sistema atual e funciona apenas no Windows. Os comandos normais são independentes de plataforma.
Pode ser usado como biblioteca para seus projetos.

Processamento do LSASS

Pode analisar os segredos ocultos no processo LSASS. Isso é como o sekurlsa:: do mimikatz, mas com comandos diferentes.
A principal diferença aqui é que toda a lógica de análise é separada da fonte de dados, então se você definir um novo objeto leitor, pode basicamente realizar a análise do LSASS de qualquer lugar.

Fontes de dados atualmente suportadas:

  1. live - lê a memória do processo LSASS diretamente
  2. minidump - processa um arquivo minidump criado ao despejar o processo LSASS
  3. rekall (fork do volatility) - processa basicamente QUALQUER despejo de memória Windows que o rekall possa analisar
  4. pcileech - não é mais suportado
  5. remote - este é outro projeto. A definir :)
  6. seu projeto aqui sério, é super simples de integrar.

Processamento do registro

Analisa as hives do registro para obter credenciais armazenadas, como hashes NT e LM, credenciais em cache de domínio (DCC/DCC2) e segredos LSA.

Fontes de dados atualmente suportadas:

  1. live - tem duas técnicas para analisar o registro ao vivo. A primeira é em memória, não toca no disco; a segunda é despejar as hives e analisá-las com o analisador offline
  2. offline (arquivos de hive)
  3. seu projeto aqui sério, é super simples de integrar.

Funções DPAPI - MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI é o protetor de segredos locais de vários tipos. Atualmente, o projeto suporta a descriptografia de masterkeys, blobs DPAPI, arquivos de credenciais, arquivos de cofre (vault).
Os resultados não são 100% corretos, pois não há muita documentação sobre a maioria dessas coisas. PRs são sempre bem-vindos!

Fontes de dados atualmente suportadas:

  1. live - obtém masterkeys diretamente do LSASS -OU- as chaves do usuário/máquina do registro ao vivo e descriptografa o arquivo masterkey.
  2. arquivos de hive (offline) - as chaves do usuário/máquina do registro ao vivo e descriptografa o arquivo masterkey
  3. credenciais válidas (offline) - pode descriptografar arquivos masterkey permitindo que você digite o SID e a senha corretos.
  4. por favor, não integre esta parte ao seu projeto, está em beta

Personificação de usuários

Pode gerar um novo processo como qualquer usuário que tenha um processo em execução na máquina.
Pode atribuir qualquer token disponível de sua escolha à sua thread
Isso é apenas algo básico, na verdade. A razão é que odeio usar constantemente o psexec para obter um shell de sistema a partir do administrador...

outras coisas

sim... confira o código. tem comentários e tal...

Opções de comando do Rekall

Substituição de timestamp

Motivo para este parâmetro existir: Para escolher a estrutura correta para análise, precisamos das informações de timestamp do arquivo msv.dll. Infelizmente, o Rekall nem sempre tem essas informações por algum motivo, portanto a análise pode falhar.
Se a análise estiver falhando, isso pode resolver o problema.

Parâmetro: -t
Valores: 0 ou 1
Exemplo:

root@kitploit:~
pypykatz.py rekall <momeory_dump_file> -t 0

Uso do Rekall

Existem duas maneiras de usar a análise de memória baseada no rekall.

Através do comando pypykatz rekall

Você precisará especificar o arquivo de memória para analisar.

Através da linha de comando do rekall

AVISOS IMPORTANTES:

  1. Se você está decidindo instalar o rekall agora, por favor, observe: ele DEVE ser executado em um virtualenv, e você precisará instalar o pypykatz no mesmo virtualenv!
  2. a linha de comando do rekall não é adequada para mostrar todas as informações adquiridas da memória, você deve usar as opções de comando out_file e kerberos_dir!

Você pode encontrar um arquivo de plugin do rekall chamado pypykatz_rekall.py na pasta plugins do pypykatz.
Você precisará copiá-lo para a pasta plugins/windows do rekall e renomeá-lo para pypykatz.py.
Depois disso, modifique o arquivo __init__.py localizado na mesma pasta e adicione a seguinte linha no final: from rekall.plugins.windows import pypykatz
Se tudo estiver correto, você pode usar o comando pypykatz diretamente da linha de comando do rekall.

AJUDA SOLICITADA

Se você quiser me ajudar a levar este projeto a uma versão estável, pode enviar minidumps do processo lsass.exe para o seguinte link: https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA IMPORTANTE: por favor NÃO envie dumps do processo lsass da sua própria máquina!!! Eu poderei ver seus segredos, incluindo hashes/senhas! Envie arquivos de dump de máquinas como sistemas de teste virtual nos quais você não se importa que alguém veja as credenciais. (se você tiver um sistema de domínio de teste onde o Kerberos esteja configurado, isso seria o melhor) Também agradeceria se você não me enviasse spam...

Por que preciso desses arquivos de dump?

Para criar o mimikatz em Python, seria necessário criar definições de estrutura de uma infinidade de estruturas diferentes (confira o código original) sem a ajuda do analisador interno que você naturalmente teria ao usar um compilador nativo. Agora, o problema é que mesmo um único byte de desalinhamento fará com que a análise dessas estruturas resulte em erro. O problema gira principalmente em torno de alinhamentos 32-64, então dumps do lsass de versões do Windows de 32 bits também são apreciados!

Resumo

Preciso de dados para verificar o código e administrar as mudanças necessárias nos analisadores até que tudo funcione corretamente.
Enviar problemas nesta página do GitHub não ajudaria em nada sem o arquivo real, e o GitHub não gostaria de anexos de arquivos de 40-300 MB.

Pré-requisitos

A maioria dos meus grandes projetos em Python visa máxima portabilidade, ou seja, só uso pacotes de terceiros quando absolutamente necessário. Até agora, três pacotes adicionais são usados, e pretendo manter assim.

Python>=3.6
minidump
minikerberos
asn1crypto

Agradecimentos

Benjamin DELPY @gentilkiwi pelo Mimikatz
Francesco Picasso pelo plugin mimikatz.py para volatility
Alberto Solino (@agsolino) pelo impacket

Criptografia

Richard Moore pelo módulo AES
Todd Whiteman pelo módulo DES

Utilitários

David Buxton pelo script de conversão de timestamp

Baixar ferramenta