Mimikatz é um utilitário Windows de código aberto disponível para download no GitHub. Desenvolvido pela primeira vez em 2007 para demonstrar um exploit prático do Microsoft Windows Local Security Authority Subsystem Service, ou LSASS, o Mimikatz é capaz de descartar informações de login de contas, incluindo senhas de texto claras armazenadas na memória do sistema.
mimikatz — Francês para cute cat — é uma ferramenta pós-exploração destinada a ajudar atacantes — sejam hackers de chapéu preto, hackers de equipe vermelha ou testadores de penetração — a extrair IDs de login, senhas e tokens de autenticação de sistemas hackeados, a fim de elevar privilégios e obter maior acesso a sistemas em uma rede violada.
Este tutorial Mimikatz fornece uma introdução à ferramenta de hacking de credenciais, o que Mimikatz faz e como usar Mimikatz para extrair senhas de logon de um sistema alvo.
Hackers usam Mimikatz para estender sua presença em redes de vítimas, extraindo e usando chaves que podem ter sido reutilizadas em outros sistemas ou extraindo chaves de contas com privilégios elevados, tais como as usadas por administradores.
Benjamin Delpy, o pesquisador francês de segurança da informação que criou o Mimikatz, escreveu na página do Mimikatz GitHub que o software pode ser usado para “extrair senhas plaintextas, hash, código PIN e bilhetes Kerberos da memória”, ou para “executar o passe-o-hash, passe-o-ticket ou construir bilhetes dourados”. Os ataques Mimikatz exploram esquemas de autenticação padrão do Windows, bem como autenticação Kerberos.
Estas capacidades fazem do Mimikatz uma ferramenta indispensável para os atacantes: O framework Mitre ATT&CK identifica pelo menos 20 diferentes grupos avançados de ameaças persistentes que foram detectados usando o Mimikatz. Entretanto, Mimikatz também é uma ferramenta chave para os defensores, especialmente aqueles que fazem testes de penetração ou realizam exercícios em equipe vermelha para demonstrar quão bem — ou quão mal — uma organização é capaz de se defender contra tais ataques.
Conseguir: Como baixar o Mimikatz e colocá-lo em execução
O melhor lugar para conseguir o Mimikatz é na página do projeto Mimikatz GitHub, onde você pode baixar o código fonte do Mimikatz. Binários pré-compilados para Windows também estão disponíveis na página do Mimikatz GitHub.
Se você optar por baixar o código fonte do Mimikatz, você precisará compilar o código com o Microsoft Visual Studio. Baixar qualquer versão do Mimikatz, seja o código fonte ou os binários pré-compilados, pode ser um desafio, pois os navegadores e sistemas operacionais modernos classificam o Mimikatz como perigoso e bloqueiam os usuários de baixá-lo. Muitos produtos de segurança endpoint — incluindo o próprio Windows Defender da Microsoft — irão bloquear o Mimikatz porque o software é frequentemente usado em ataques.
Uma maneira de evitar ser bloqueado por antimalware é usar o módulo Invoke-Mimikatz PowerShell, que permite que um atacante executando o PowerShell, o framework de automação de tarefas da Microsoft, carregue e execute o Mimikatz remotamente sem precisar gravar o executável no disco do sistema alvo.
Para que serve o Mimikatz?
Mimikatz pode fazer muito, e sua estrutura modular significa que novas características e funções podem ser adicionadas à plataforma com relativa facilidade. Como notado, rodar o Mimikatz como um módulo PowerShell faz dele uma técnica de ataque ainda mais eficaz.
As principais funções que o Mimikatz permite incluem:
- Extrair senhas da memória. Quando executado com privilégios de administrador ou sistema, atacantes podem usar o Mimikatz para extrair tokens de autenticação em texto puro — senhas e PINs, por exemplo — do processo LSASS rodando na memória do sistema.
- Extraindo bilhetes Kerberos. Usando um módulo Kerberos, o Mimikatz pode acessar a API do Kerberos, permitindo uma série de diferentes explorações Kerberos que usam bilhetes Kerberos que foram extraídos da memória do sistema.
- Extraindo certificados e suas chaves privadas. Um módulo Windows CryptoAPI permite ao Mimikatz extrair certificados — e as chaves privadas associadas a eles — que são armazenados no sistema da vítima.
Mimikatz torna-se ainda mais poderoso quando combinado com outras plataformas de ataque como o utilitário Microsoft PowerShell, a plataforma Metasploit ou outras ferramentas que permitem aos hackers explorar as credenciais que o Mimikatz extrai dos sistemas da vítima.
Tutorial prático: Configuração e comandos do Mimikatz
Se estiver executando o Mimikatz a partir de um executável rodando em um sistema vítima ou executando um utilitário como o PowerShell remotamente, os comandos podem ser executados manualmente com uma linha de comando do console ou executando um script para rodar automaticamente.
O formato padrão para emissão de comandos é digitar o módulo do comando seguido por duas vírgulas e o nome do comando. Você pode digitar mais de um comando de cada vez, mas quaisquer comandos que incluam espaços precisam ser definidos por aspas.
A sessão de comandos começa assim depois que Mimikatz executa:
mimikatz #
Para sair de Mimikatz, digite o comando exit.
O processo de extrair senhas de texto claras começa invocando o comando debug do módulo de privilégios. Este comando eleva as permissões do Mimikatz para chegar ao nível de privilégio de debug, e parece assim:
mimikatz # privilégio::debug
Privilege ’20’ OK
Para gravar um log de interações e resultados do Mimikatz, digite:
mimikatz # log
Usando ‘mimikatz.log’ para logfile : OK
O arquivo de log padrão é mimikatz.log, mas você pode especificar outro nome de arquivo de log com um comando. Por exemplo:
mimikatz # log customlogfilename.log
Once log é ligado, o resto da sessão será gravado para fins de exfiltração ou análise.
Talvez o comando mais simples e produtivo seja aquele que extrai senhas de texto simples, as lista na tela do console e as grava no arquivo de log.
mimikatz # sekurlsa::logonpasswords
O comando logonpasswords extrai um ID de usuário e senha para usuários atualmente logados e usuários recém logados do sistema alvo.
O módulo sekurlsa inclui outros comandos para extrair credenciais Kerberos e chaves de criptografia, e pode até mesmo executar um ataque pass-the-hash usando as credenciais Mimikatz extract.
Este tutorial Mimikatz pretende ser uma introdução à ferramenta de hacking. Vale a pena saber como o Mimikatz funciona na prática e como ele facilita as explorações do sistema mesmo para atacantes pouco sofisticados.