O comprometimento de credenciais é uma das maneiras mais comuns pelas quais os invasores obtêm acesso ao Active Diretory (AD). Existem inúmeros métodos para os atacantes roubarem e explorarem credenciais - e muitos deles são furtivos, permitindo que os malfeitores obtenham acesso e se movimentem sem serem detectados através do seu sistema de identidade, aumentando os privilégios e causando danos. O Pass the Hash é um método de comprometimento de credenciais que é altamente eficiente para obter movimento lateral no AD.
O que é um ataque Pass the Hash?
Pass the Hash é uma técnica na qual os atacantes usam um hash de senha roubado para se autenticar como um usuário sem saber a senha real. Em vez de decifrarem o hash do NT, passam-no para outro sistema que aceita o hash da palavra-passe para autenticação. Isto permite aos atacantes moverem-se lateralmente através de uma rede, acedendo a sistemas como o utilizador comprometido.
Como funciona o Pass the Hash?
A captura de ecrã em Figura 1 mostra a utilização do pth
comando em Farol de Cobalt Strike. Esta ferramenta utiliza o Mimikatz para criar e fazer-se passar por um token utilizando um hash NT, um domínio e um nome de utilizador específicos.
pth
no Beacon da Cobalt Strike utiliza o Mimikatz para fazer-se passar por um token com um hash NT específico para ataques Pass the Hash.Para executar um ataque Pass the Hash, um atacante precisa primeiro roubar hashes de senha de contas locais ou de domínio. O Cobalt Strike tem comandos específicos para isso: hashdump
é utilizado para obter hashes de contas locais (Figura 2).
hashdump
, recuperando hashes de senhas de contas locais.O logonpasswords
comando (Figura 3) é utilizado para extrair hashes de palavra-passe de contas de domínio, que podem até incluir palavras-passe de texto simples.
logonpasswords
, recuperando hashes de senhas de contas de domínio.Neste exemplo, vamos concentrar-nos na utilização do Pass the Hash com o RID-500, a conta de Administrador incorporada armazenada na base de dados SAM local(Figura 4). Muitas organizações utilizam uma golden image para implementar várias estações de trabalho, o que muitas vezes significa que a mesma palavra-passe de administrador local é reutilizada em todos os sistemas. Embora o sysprepping padronize essas configurações, ele também cria uma vulnerabilidade: Se os atacantes obtiverem o hash de um sistema, podem utilizá-lo para se deslocarem lateralmente na rede e acederem a outras máquinas com as mesmas credenciais.
Depois de o atacante ter recuperado os hashes das palavras-passe, o passo seguinte é efetuar um ataque Pass the Hash. Neste exemplo, o atacante usa o Mimikatz para executar o Pass the Hash (pth
) com o hash roubado de uma conta de administrador do RID-500 (Figura 5). Ao fazer isto, o atacante pode autenticar-se como administrador sem precisar da palavra-passe real.
pth
) com o hash da conta interna de Administrador (RID-500) para executar um processo oculto do PowerShell.O steal_token
é utilizado para se fazer passar pelo token de segurança de outro processo (Figura 6), o que dá ao atacante o mesmo nível de privilégios que esse processo. Neste caso, o atacante está a usar steal_token 648
para seqüestrar o token de um processo rodando como NT AUTHORITY\SYSTEM, ganhando privilégios completos no nível do sistema.
steal_token
para se fazer passar pelo token do processo ID (PID) 648, obtendo acesso ao nível do sistema como NT AUTHORITY\SYSTEM.Do ponto de vista de um atacante, executar o shell dir \TARGET\C$
comando (Figura 7) é uma forma de testar se têm direitos de administrador local no sistema de destino. O retorno de uma listagem de diretórios da partilha administrativa (C$
) confirma que o atacante tem os privilégios necessários para aceder ao sistema de ficheiros do alvo.
shell dir \WIN8WORKSTATION\C$
para verificar o conteúdo da partilha administrativa C$, confirmando que têm direitos de administrador local na máquina de destino.Depois de o atacante obter acesso a uma máquina, é altura de se deslocar lateralmente na rede. Uma opção é usar técnicas como wmic
, sc
, ou schtasks
para controlar remotamente outros sistemas. Ao executar comandos como wmic
(Figura 8), o atacante pode executar processos maliciosos nas máquinas-alvo, como copiar e lançar a sua carga útil.
wmic
para executar o payload remotamente.O Controlo de Conta de Utilizador (UAC) restringe os utilizadores locais que podem executar tarefas de administração remota. Por predefinição, a chave de registo LocalAccountTokenFilterPolicy está definida para 0, o que significa que apenas o Administrador do RID-500 incorporado pode executar tarefas de administração remota. Definir a chave de registo para 1 permite que outras contas de administrador local façam o mesmo. Além disso, o FilterAdministratorToken definido para 0 permite o acesso remoto do Administrador integrado; se definido para 1, esta capacidade é bloqueada.
Em suma, por defeito, apenas determinadas contas podem explorar plenamente o Pass the Hash:
- Contas locais: O Administrador incorporado pode tirar o máximo partido do Pass the Hash para tarefas de administração remota.
- Contas de domínio: Quaisquer contas de domínio com direitos de administrador local numa máquina também podem utilizar o Pass the Hash para obter controlo sobre esse sistema.
Outras contas locais são restritas, a menos que as definições específicas do UAC sejam alteradas.1
Como se defender contra Pass the Hash
Os defensores devem adotar medidas específicas para mitigar o risco de ataques Pass the Hash.
- Em primeiro lugar, restrinja os direitos de administrador local aos utilizadores regulares. Os funcionários de departamentos como recursos humanos, finanças, marketing e jurídico não devem ter privilégios de administrador local.
- Em segundo lugar, certifique-se de que a palavra-passe para a conta de Administrador integrada no RID-500 é única e aleatória em cada estação de trabalho e servidor membro. Uma ferramenta gratuita como o LAPS (Local Administrator Password Solution) da Microsoft pode automatizar este processo. Em alternativa, pode utilizar uma solução PAM (Privileged Account Management) paga que impede os atacantes de utilizarem as mesmas credenciais de administrador local em vários sistemas num ataque Pass the Hash.
- Em terceiro lugar, compreenda como gerir de forma segura as contas de domínio e saiba quando as credenciais são armazenadas na memória. A exposição das credenciais ao roubo depende em grande medida do método de início de sessão utilizado. Por exemplo, os logons interactivos como o Remote Desktop (RDP) ou RUNAS armazenam credenciais na memória e podem ser vulneráveis. A Microsoft fornece orientações detalhadas para as ferramentas administrativas e métodos de ligação mais comuns.
- Por fim, estabeleça camadas administrativas quando estiver ciente dos riscos associados a diferentes métodos de ligação de administradores e compreender como as credenciais podem ser expostas noutras máquinas. Não é fácil, mas ter uma estrutura de camadas, pelo menos para as contas de Nível 0 ou críticas, pode fazer uma diferença significativa na proteção do seu ambiente.
Como detetar um ataque Pass the Hash
É importante ter um bom sistema de deteção e resposta de endpoints (EDR) nas suas estações de trabalho e servidores. Estas soluções fornecem alertas que ajudarão a detetar quaisquer tentativas de descarregar credenciais de uma máquina(Figura 9).
Os caçadores de ameaças ou os analistas SOC podem utilizar a telemetria fornecida por soluções EDR como o Microsoft Defender for Endpoint (MDE). Ao utilizar funcionalidades como a Caça Avançada, os defensores podem consultar os inícios de sessão de contas para identificar onde as contas com privilégios elevados podem estar a expor as suas credenciais(Figura 10).
Perfis de actores de ameaças
A base de conhecimentos MITRE ATT&CK identifica os seguintes grupos de ameaças (juntamente com outros grupos associados) como tendo utilizado ataques Pass the Hash em estado selvagem:
- APT41 (Grupo G0096)2
- Aranha feiticeira (Grupo G0102)3
- FIN13 (Grupo G1016)4
- APT29 FIN13 (Grupo G0016)5
Passar as ferramentas Hash
As seguintes ferramentas, disponíveis em github.com, podem ser utilizadas para efetuar um ataque Pass the Hash:
- Mimikatz
- SharpKatz
- wce
- Invocar-o-Hash
- Sharp-SMBExec
Visão geral das ameaças
Tática ATT&CK: Movimento Lateral
A 3 de outubro de 2024, o Cisco Talos reportou que um agente de ameaças que estava a espalhar uma nova variante do MedusaLocker, conhecida como BabyLockerKZ, utilizou a ferramenta Checker para gerir credenciais para movimento lateral. A ferramenta combina os scripts Remote Desktop Plus, PsExec, Mimikatz e Invoke-TheHash. Usando a técnica Pass the Hash com Invoke-TheHash, o atacante autenticou-se remotamente usando hashes NTLM, sem quebrar senhas, e explorou tarefas WMI e SMB para mover-se lateralmente e escalar privilégios dentro da rede comprometida.6
Em junho de 2024, a BlackPoint informou que a APT29 utilizou o Sharp-SMBExec, uma conversão em C# do script PowerShell Invoke-SMBExec, para efetuar ataques Pass the Hash. Isto permitiu à APT29 utilizar hashes NTLM roubados para se deslocar lateralmente nas redes sem necessitar da palavra-passe real.7
Em fevereiro de 2022, a Mandiant informou que o APT41 utiliza regularmente o Windows Credential Editor para descarregar hashes de palavras-passe da memória. Com estes hashes roubados, o APT41 pode iniciar sessão noutras contas de utilizador sem saber a palavra-passe real, o que lhe dá a capacidade de se deslocar lateralmente nas redes.8
Em 7 de dezembro de 2021, a Mandiant relatou que o FIN13 usou o cmdlet Invoke-SMBExec PowerShell como parte de seus ataques Pass the Hash. Ao utilizar esta técnica, os atacantes foram capazes de executar movimentos laterais em ambientes comprometidos sem necessitar da palavra-passe real, contando apenas com hashes NTLM roubados.9
Em 24 de junho de 2020, a SecureWorks informou que o APT31 (também conhecido como BRONZE VINEWOOD) usou o cmdlet Invoke-SMBExec do PowerShell para realizar ataques Pass the Hash. Ao usar hashes de senha NTLM roubados, o APT31 foi capaz de se mover lateralmente em redes comprometidas, visando organizações nas cadeias de suprimentos de defesa e governo.10
Instantâneo da Semperis
O Pass the Hash é uma técnica poderosa em que os atacantes utilizam hashes de palavra-passe NT roubados para se autenticarem em sistemas remotos sem necessitarem da palavra-passe original. Esta técnica permite-lhes mover-se lateralmente dentro de uma rede, aceder a contas com privilégios elevados e manter o controlo sobre os sistemas. Os defensores devem limitar os privilégios de administrador local, implementar pelo menos um nível administrativo para contas de Nível 0 ou equivalentes e aplicar soluções EDR e de Deteção e Resposta a Incidentes de Ameaças (ITDR) para detetar esses ataques baseados na identidade.
Saiba mais sobre os ataques Pass the Hash
- 5 métodos comuns de ataque ao AD
- Práticas recomendadas de proteção do Active Directory
- Como a cibersegurança está a evoluir de EDR para XDR e para ITDR
- Como se defender de um ataque Pass the Ticket: Segurança AD 101
- Explicação da extração NTDS.DIT
- Passar a defesa do ataque Hash
Notas finais
- https://www.thehacker.recipes/ad/movement/ntlm/pth
- https://attack.mitre.org/groups/G0096/
- https://attack.mitre.org/groups/G0102/
- https://attack.mitre.org/groups/G1016/
- https://attack.mitre.org/groups/G0016/
- https://blog.talosintelligence.com/threat-actor-believed-to-be-spreading-new-medusalocker-variant-since-2022/
- https://blackpointcyber.com/wp-content/uploads/2024/06/Threat-Profile-APT29_Blackpoint-Adversary-Pursuit-Group-APG_2024.pdf
- https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation
- https://cloud.google.com/blog/topics/threat-intelligence/fin13-cybercriminal-mexico/
- https://www.secureworks.com/research/bronze-vinewood-targets-supply-chains