Daniel Petri

Muitos ataques ao Active Directory começam com uma palavra-passe roubada. No entanto, um ataque Pass the Hash adopta uma abordagem diferente. Neste exemplo de roubo de credenciais, os agentes da ameaça roubam o hash da palavra-passe de um utilizador. O ataque é difícil de detetar e pode levar a um aumento de privilégios e a sérios danos à sua organização.

Leitura relacionada: Melhores práticas para a segurança do Active Directory

O que é um ataque Pass the Hash?

O ataque Pass the Hash é proeminente em ambientes Windows. O ataque explora o mecanismo de autenticação do sistema operativo Windows.

O Windows, na sua tentativa de evitar o armazenamento de palavras-passe de texto simples, mantém hashes NTLM das palavras-passe dos utilizadores. Durante o processo de autenticação, o Windows compara estes hashes em vez de comparar as palavras-passe em texto simples. O ataque Pass the Hash aproveita este mecanismo.

Em vez de roubar e utilizar palavras-passe em texto simples, os adversários concentram-se em obter e utilizar os hashes para se autenticarem em vários recursos de rede. O ataque Pass the Hash é furtivo - e altamente eficiente.

O que é um hash de palavra-passe?

Um hash de palavra-passe é um processo criptográfico unidirecional. Este processo executa uma palavra-passe em texto simples através de uma função matemática (ou seja, uma função de hash) para criar uma cadeia de bytes de tamanho fixo, denominada valor de hash (ou simplesmente hash). Este hash é então comparado com o hash armazenado da palavra-passe do utilizador. Se os dois coincidirem, a autenticação é concedida. A obtenção da palavra-passe original a partir de um hash não é viável, pelo que esta é uma boa forma de armazenar palavras-passe numa base de dados (como a base de dados NTDS.DIT do Active Directory).

Como é que um ataque Pass the Hash funciona?

Num ataque Pass the Hash, um atacante começa por obter acesso ao hash de um utilizador, muitas vezes despejando o conteúdo da base de dados SAM do sistema ou da memória, utilizando ferramentas como o Mimikatz. O atacante pode então reutilizar o hash para se autenticar noutros serviços ou máquinas na rede, contornando a necessidade de uma palavra-passe.

Segue-se uma descrição passo a passo do processo de ataque Pass the Hash:

  1. Compromisso inicial. Um atacante obtém acesso inicial a um sistema dentro da sua rede. Podem ser utilizados vários métodos, incluindo phishing, exploração de vulnerabilidades ou mesmo acesso físico.
  2. Extração de hashes. Assim que o atacante se instala, utiliza uma ferramenta como o Mimikatz para extrair hashes do sistema. Estes hashes podem residir na memória (RAM) ou na base de dados do Security Account Manager (SAM), dependendo do estado de início de sessão do utilizador e do nível de acesso do atacante.
  3. Passar o hash. Com um ou mais hashes em posse, o atacante pode agora usar um hash para autenticação. O atacante utiliza uma ferramenta como o PsExec (ou mesmo ferramentas integradas no Windows) para apresentar o hash como prova de identidade e para aceder a sistemas remotos. É aqui que se origina o nome Pass the Hash.
  4. Movimento lateral. Utilizando o hash obtido, o atacante tenta mover-se lateralmente dentro da sua rede. O atacante usa o hash para aceder a outros sistemas em busca de privilégios elevados ou dados valiosos. Se os utilizadores tiverem privilégios excessivos ou se as mesmas credenciais forem utilizadas em vários sistemas, o movimento lateral é muito mais fácil de conseguir - e muito mais perigoso para a sua organização.
  5. Aumento de privilégios. Muitas vezes, o atacante utiliza a técnica Pass the Hash repetidamente. Salta de uma máquina para outra até localizar uma conta com privilégios mais elevados, como um administrador de domínio.
  6. Objetivo final. Depois de conseguir uma elevação suficiente de privilégios e de acesso, o atacante pode agir de acordo com o seu objetivo final. O seu alvo pode ser o roubo de dados, a implantação de ransomware ou a manutenção de uma presença persistente para exploração futura.

O sucesso da técnica Pass the Hash depende de vários aspectos críticos:

  • A dependência inerente do Windows na comparação de hash para autenticação
  • Erros de configuração comuns
  • Práticas de segurança pouco rigorosas, como a concessão de direitos de administrador local aos utilizadores em várias máquinas ou a reutilização de palavras-passe em toda a empresa.

Que riscos estão associados a um ataque Pass the Hash?

Este tipo de ataque pode ameaçar a sua organização de várias formas:

  • Reutilização de credenciais: Se um atacante comprometer o hash de uma conta que utiliza as mesmas credenciais em vários serviços, o atacante pode obter acesso a todos esses serviços.
  • Movimento lateral: Uma vez dentro da sua rede, os atacantes podem utilizar o Pass the Hash para se deslocarem lateralmente através dela, acedendo a diferentes máquinas e aumentando os seus privilégios.
  • Acesso a longo prazo: Com o hash, os atacantes podem manter um acesso persistente a uma rede comprometida, tornando a deteção e a correção difíceis.

As redes baseadas em Windows são particularmente vulneráveis, especialmente as redes que:

Como é que se pode detetar um ataque Pass the Hash?

A deteção de um ataque Pass the Hash envolve a identificação de padrões de comportamento ou actividades invulgares na rede. Monitorizar o Active Directory para estes tipos de atividade:

  • Padrões anómalos de início de sessão. Procure padrões de início de sessão anómalos, tais como inícios de sessão a horas estranhas ou a partir de locais invulgares. Observe também os logins rápidos de uma fonte para vários sistemas.
  • Criação invulgar de serviços. Um ataque Pass the Hash pode envolver a criação de serviços em sistemas remotos usando ferramentas como o PsExec. Por conseguinte, o rastreio de criações de serviços inesperadas pode ser um bom indicador deste ataque.
  • Raspagem de memória. Ferramentas como o Mimikatz funcionam através da recolha de hashes na memória. Monitorize os processos que lêem grandes secções de memória, especialmente a partir do lsass.exe.
  • Volume de pedidos de autenticação. Um aumento nos pedidos de autenticação num curto espaço de tempo pode indicar uma tentativa de Pass the Hash, especialmente se muitos pedidos falharem e, de repente, forem bem sucedidos.

As soluções modernas de deteção e resposta de terminais (EDR) também podem ajudar a seguir padrões de comportamento e a assinalar actividades suspeitas frequentemente associadas a técnicas de ataque Pass the Hash.

Como se pode defender de um ataque Pass the Hast?

A atenuação de um ataque Pass the Hash depende da limitação da capacidade do atacante de obter e utilizar hashes. Aqui estão seis passos a seguir.

  1. Utilizar a classificação administrativa por níveis. Os administradores de contas altamente privilegiadas de Nível 0, como o Active Directory, nunca devem iniciar sessão em recursos de Nível 1 (servidores e aplicações) ou de Nível 2 (estações de trabalho de utilizadores finais). Impedir esse comportamento pode diminuir o risco de invasores coletarem credenciais de administrador.
  2. Isolar os sistemas. Certifique-se de que os sistemas críticos estão em redes isoladas. Um atacante com um hash de um sistema menos crítico não deve ser capaz de aceder a um sistema mais crítico.
  3. Implementar a Solução de Senha de Administrador Local da Microsoft (LAPS). A LAPS garante palavras-passe únicas para contas de administrador local em toda a empresa.
  4. Aplicar o princípio do menor privilégio. Conceda aos utilizadores apenas as permissões necessárias para que possam executar as suas tarefas diárias. Por exemplo, evite fazer de cada utilizador um administrador local na sua máquina.
  5. Instalar o Credential Guard. Nos sistemas Windows 10 e Windows Server 2016 e posteriores, use o Credential Guard para se proteger contra um ataque Pass the Hash, isolando e fortalecendo o processo de armazenamento de credenciais.
  6. Restringir a utilização de protocolos antigos. Desativar protocolos de autenticação mais antigos, que podem ser mais susceptíveis a um ataque Pass the Hash. Por exemplo, transição da autenticação NTLM para a autenticação Kerberos.

Outra tática de defesa vital: manter uma forte postura de segurança do Active Directory. Aqui estão 10 passos especificamente para administradores do Active Directory.

  1. Auditar o Active Directory regularmente. Monitorize o Active Directory para detetar sinais de atividade invulgar ou não autorizada. Audite regularmente o Active Directory em busca de contas obsoletas ou não utilizadas e remova-as ou desative-as.
  2. Implementar a autenticação multifactor (MFA). Especialmente para contas privilegiadas, a MFA acrescenta uma camada extra de segurança. No entanto, certifique-se de que também está a monitorizar os indicadores de segurança que podem indicar ataques de fadiga da MFA.
  3. Monitorizar as alterações de membros de grupos. Acompanhe as alterações em grupos sensíveis do Active Directory, como Admins. do Domínio. Alterações inesperadas devem ser um sinal de alerta. A automatização da auditoria e da correção pode ajudá-lo a manter-se à frente de ataques sofisticados e furtivos.
  4. Aplicar linhas de base de segurança. Implementar as linhas de base de segurança da Microsoft para o Active Directory e a Política de Grupo.
  5. Mantenha os seus sistemas actualizados. Assegurar a aplicação atempada de patches nos sistemas e no software.
  6. Separe as tarefas administrativas. Utilize contas separadas para diferentes tarefas administrativas e evite a sobreposição. Por exemplo, tenha contas diferentes para tarefas de administrador de domínio, tarefas de administrador de estação de trabalho e assim por diante.
  7. Evite utilizar contas partilhadas. As contas partilhadas dificultam o rastreio das acções até um indivíduo. Cada administrador deve ter uma conta individual.
  8. Limitar o início de sessão do administrador. Associado à classificação administrativa por níveis, restringe onde e quando as contas administrativas podem iniciar sessão. Por exemplo, as contas de administrador de domínio devem iniciar sessão apenas nos controladores de domínio.
  9. Efetuar regularmente cópias de segurança específicas do AD. Garanta cópias de segurança regulares dos controladores de domínio e tenha um plano de recuperação em vigor. Separar as cópias de segurança do Active Directory pode ajudá-lo a evitar a reintrodução de malware.
  10. Educar e formar o pessoal e os utilizadores. Eduque continuamente a sua equipa de TI sobre as ameaças mais recentes e sobre a forma de as reconhecer e responder. Informe os utilizadores sobre os riscos associados a ataques como o Pass the Hash e as políticas e práticas de segurança da sua organização.

Defender-se contra ataques de roubo de credenciais

O ataque Pass the Hash é um desafio formidável para muitas organizações. Ao explorar as formas inerentes de autenticação do Windows, os atacantes podem contornar a necessidade de senhas de texto simples, obtendo acesso não autorizado a vários sistemas. Ao compreender as nuances destes ataques, os profissionais de segurança e de TI podem fortalecer as suas defesas, tornando as suas redes mais resistentes face à evolução dos desafios.

Os sistemas corretamente configurados, a formação dos utilizadores e a vigilância na monitorização dos pontos finais e do Active Directory podem ajudar a reduzir os riscos associados a este ataque. Comece por seguir as melhores práticas de segurança do Active Directory.