Varonis | Segurança de dentro para fora

O que é Mimikatz? Guia completo

Escrito por Emilia Bertolli | Nov 7, 2022 5:54:00 PM

Benjamin Delpy originalmente criou o Mimikatz como uma prova de conceito para mostrar à Microsoft que seus protocolos de autenticação eram vulneráveis a um ataque. Em vez disso, ele criou inadvertidamente uma das ferramentas de ator de ameaças mais usadas e baixadas dos últimos 20 anos. 

Apelidada de “um dos ladrões de senhas mais poderosos do mundo” pela Wired.com, qualquer profissional de TI encarregado de proteger redes Windows precisa prestar muita atenção aos mais recentes desenvolvimentos do Mimikatz para entender como os hackers irão manipular a ferramenta para se infiltrar nas redes. 

Descubra seus pontos fracos e aumente sua resiliência: Execute um Teste Grátis de Prontidão para Ransomware

O que é Mimikatz?

O Mimikatz é um aplicativo de código aberto que permite que os usuários visualizem e salvem credenciais de autenticação, como tíquetes Kerberos. O conjunto de ferramentas funciona com a versão atual do Windows e inclui uma coleção de diferentes ataques de rede para ajudar a avaliar vulnerabilidades. 

Os invasores geralmente usam o Mimikatz para roubar credenciais e aumentar privilégios porque, na maioria dos casos, o software de proteção de endpoint e os sistemas antivírus não detectarão ou excluirão o ataque. Por outro lado, pen testes usam o aplicativo para detectar e explorar vulnerabilidades em suas redes para que sejam corrigidas. 

O que o Mimikatz pode fazer?

Originalmente, o Mimikatz demonstrou como explorar uma única vulnerabilidade no sistema de autenticação do Windows. Agora, ele expõe vários tipos diferentes de vulnerabilidades e pode executar técnicas de coleta de credenciais, como: 

  • Pass-the-hash: O Windows é usado para armazenar dados de senha em um hash NTLM. Invasores usam o aplicativo para passar essa string de hash exata ao computador de destino ao fazer login. Os invasores nem precisam decifrar a senha, precisam apenas usar a string de hash como está. É o equivalente a encontrar a chave mestra de um prédio na portaria. Você só precisa dessa chave para abrir todas as portas 
  • Pass-the-ticket: As versões mais recentes do Windows armazenam dados de senha em uma construção chamada tíquete. O aplicativo fornece funcionalidade para um usuário passar um tíquete Kerberos para outro computador e fazer login com o tíquete desse usuário. É muito semelhante ao pass-the-hash. 
  • Over-pass-the-hash (pass-the-key): Outro tipo de pass-the-hash. É uma técnica que passa uma chave exclusiva obtida de um controlador de domínio para representar um usuário. 
  • Golden ticket do Kerberoast: Este é um ataque de passagem de tíquete, mas é um tíquete específico para uma conta oculta chamada KRBTGT, que é a conta que criptografa todos os outros tíquetes. Um Golden Ticket fornece credenciais de administrador de domínio que não expiram para qualquer computador na rede. 
  • Silver ticket do Kerberoast: Outro pass-the-ticket que tira proveito de um recurso do Windows que facilita o uso de serviços na rede. O Kerberos concede a um usuário um tíquete de servidor de concessão de tíquetes (TGS) e um usuário pode usá-lo para autenticar contas de serviço na rede. A Microsoft nem sempre verifica um TGS depois de emitido, por isso é fácil passar por cima de quaisquer salvaguardas. 
  • Pass-the-cache: Finalmente um ataque que não tira proveito do Windows! Um ataque pass-the-cache é geralmente o mesmo que um pass-the-ticket, mas este usa os dados de login salvos e criptografados em um sistema Mac/UNIX/Linux. 

Onde baixar o Mimikatz?

Faça o download dos binários e fontes do Mimikatz no GitHub de Benjamin Delpy. Ele oferece várias opções de download desde o executável até o código fonte. Você precisará compilá-lo com o Microsoft Visual Studio 2010 ou posterior. 

Como usar o aplicativo?

Etapa 1: Execute o Mimikatz como administrador

O aplicativo precisa “executar como administrador” para funcionar corretamente, mesmo se você já estiver usando uma conta de administrador. 

Etapa 2: Verifique a versão

  • 32 bits 
  • 64 bits 

Verifique se está usando a versão correta para sua instalação do Windows. Execute o comando “version” no prompt do Mimikatz para obter informações sobre o executável, a versão do Windows e se há alguma configuração do Windows que impeça que o aplicativo seja executado corretamente. 

Etapa 3: Extraia “senhas de texto limpo” da memória 

O módulo sekurlsa no Mimikatz permite despejar senhas da memória. Para usar os comandos do módulo, é preciso ter permissões de administrador ou SISTEMA. 

Primeiro, execute o comando: 

mimikatz # privilege::debug 

A saída mostrará se você tem as permissões apropriadas para continuar. 

Em seguida, inicie as funções de registro para consultar seu trabalho. 

mimikatz # log nameoflog.log 

E, finalmente, produza todas as senhas de texto não criptografadas armazenadas no computador. 

mimikatz # sekurlsa::logonpasswords 

Usando outros módulos

O módulo de criptografia acessa o CryptoAPI no Windows que permite listar e exportar certificados e suas chaves privadas, mesmo que estejam marcados como não exportáveis. 

O módulo Kerberos acessa a API Kerberos para que você possa brincar com essa funcionalidade extraindo e manipulando tíquetes Kerberos. 

O módulo de serviço permite iniciar, parar, desabilitar, etc., serviços do Windows. 

E, por último, o comando coffee retorna a arte ASCII do café, porque todo mundo precisa de mais café. 

Como se defender contra o Mimikatz?

A defesa contra o Mimikatz pode ser um desafio porque, para que um invasor execute o aplicativo, ele já obteve acesso root em uma caixa do Windows. Muitas vezes você pode conter apenas o dano que ele já causou. Abaixo estão algumas das maneiras de se defender contra ataques de Mimikatz. 

  • Restringir privilégios de administrador. Isso pode ser feito limitando os privilégios de administrador apenas aos usuários que precisam deles. 
  • Desative o cache de senha. O Windows armazena em cache hashs de senha que foram usados recentemente por meio do registro do sistema. O aplicativo pode então obter acesso a essas senhas em cache, e, por isso, é importante alterar as configurações padrão para armazenar em cache zero senhas recentes. Isso pode ser acessado por meio de Configurações do Windows > Política local > Opções de segurança > Logon interativo. 
  • Desative os privilégios de depuração. As configurações padrão do Windows permitem que os administradores locais depurem o sistema, algo que o Mimikatz pode explorar. Desativar os privilégios de depuração em máquinas é uma prática recomendada para proteger seu sistema. 
  • Configure a proteção adicional da autoridade de segurança local (LSA). A atualização para o Windows 10 pode ajudar a mitigar os tipos de ataques de autenticação que o aplicativo permite. No entanto, quando isso não for possível, a Microsoft possui itens de configuração LSA adicionais que ajudam a reduzir a área de superfície de ataque. 

Mesmo com tudo resumido neste artigo, há muito mais para conhecer a aprender sobre o Mimikatz. Se você estiver procurando por testes de penetração ou apenas quiser se aprofundar nos componentes internos de autenticação do Windows, configura algumas outras referências e links: 

Quer ver o Mimikatz em ação e saber como a Varonis protege você de infiltrações? Participe do nosso Workshop gratuito de ciberataques ao vivo e veja nossos engenheiros executarem um ataque cibernético em nosso laboratório de segurança.