Manipulando Senhas de Usuário com Mimikatz
Sep 28, 2022
Usando os comandos ChangeNTLM e SetNTLM em Mimikatz, os atacantes podem manipular senhas de usuários e escalar seus privilégios no Active Directory. Vamos dar uma olhada nesses comandos e no que eles fazem.
Conteúdo relacionado selecionado:
ChangeNTLM
O comando ChangeNTLM executa uma alteração de senha. Para usar este comando, você precisa conhecer a senha atual da conta ou seu hash de senha NTLM, o que pode ser muito mais fácil de roubar do que senhas em texto claro. Por padrão, a capacidade de alterar a senha de um usuário é concedida a Todos, então este comando pode ser executado por qualquer usuário sem privilégios especiais.
Aqui está um exemplo de como usar o comando para alterar a senha de um usuário sabendo apenas o hash da senha atual:
Isso irá gerar o Event ID 4723 no log de eventos do controlador de domínio.
SetNTLM
Este comando realiza uma redefinição de senha. Executá-lo não exige que você saiba a senha atual do usuário, mas requer que você tenha o direito de Redefinir Senha na conta, o qual não é concedido a Todos por padrão.
Aqui está um exemplo de como usar o comando para redefinir a senha de um usuário:
Isso irá gerar o Event ID 4724 no log de eventos do controlador de domínio.
Cenário de Ataque: ChangeNTLM
Compromising a user’s password hash enables an adversary to perform pass-the-hash attacks. However, those attacks are typically limited to command-line access to systems and applications. To log into Outlook Web Access (OWA), SharePoint or a remote desktop session, the adversary may need the user’s cleartext password. They can perform the attack and cover their tracks in four quick steps:
- Comprometer o hash NTLM de uma conta.
- Altere a senha usando o hash.
- Utilize a nova senha em texto claro para acessar os aplicativos ou serviços desejados.
- Redefina a senha para o valor anterior usando o hash roubado.
Este ataque é muito útil para explorar ainda mais contas comprometidas.
Cenário de Ataque: SetNTLM
Neste cenário, um atacante comprometeu uma conta com acesso limitado ao domínio e . Explorar esse caminho de ataque envolve redefinir as senhas dos usuários para assumir o controle de suas contas, mas o atacante não quer alertar os usuários sobre o fato de que sua conta foi comprometida alterando sua senha. Como o atacante pode redefinir as senhas dos usuários e depois retorná-las aos seus valores antigos uma vez que o alvo esteja comprometido? Insira SetNTLM.
O atacante pode seguir este caminho básico:
- Utilize Bloodhound para identificar um caminho de ataque que aproveita permissões do Active Directory e redefinições de senha.
- Explore o caminho do ataque, redefinindo senhas conforme necessário.
- Uma vez obtido o acesso privilegiado, use Mimikatz para extrair o histórico de senhas NTLM de todas as contas comprometidas.
- Utilize SetNTLM para aplicar os hashes NTLM anteriores às contas, redefinindo as senhas para o que eram antes.
Nota: O mesmo pode ser feito utilizando o comando Set-SamAccountPasswordHash.
Exemplo
Suponha que temos o seguinte caminho de ataque que nos levará do nosso usuário atual a Administrador de Domínio em três redefinições de senha:
Agora que sabemos quais contas precisam ser comprometidas, queremos executar o ataque o mais rápido possível para não alarmar os usuários. Podemos elaborar o caminho do ataque de redefinição de senha usando alguns comandos básicos do PowerShell. O seguinte script pegará uma senha e seguirá a cadeia de ataque, se passando por cada usuário comprometido ao longo do caminho até alcançar o objetivo de Administrador do Domínio:
Em seguida, iniciaremos uma nova sessão do PowerShell como Administrador do Domínio e realizaremos uma operação de DCSync para obter o histórico de senhas NTLM de todas as contas:
A partir daí, vamos redefinir as senhas para os seus valores anteriores usando o comando SetNTLM:
E é assim. Agora nos tornamos um Domain Admin e cobrimos nossos rastros da melhor forma possível para evitar que os usuários percebam que suas contas foram comprometidas ao longo do caminho.
Detectando e Prevenindo Ataques SetNTLM e ChangeNTLM
Detectando os ataques
Se um atacante utilizar o ataque ChangeNTLM, isso gerará um evento 4723, mas a Conta de Assunto e a Conta de Destino serão diferentes, conforme mostrado abaixo. Isso se destacará das mudanças normais de senha que os usuários realizam por conta própria, onde os dois valores serão idênticos. Se os administradores forem redefinir senhas, eles realizarão uma redefinição e gerarão um evento 4724.
Prevenindo os Ataques
Para mitigar o risco de ataques SetNTLM serem executados, controle os direitos de redefinição de senha no diretório. Para mitigar o risco de ataques ChangeNTLM, controle como e onde os hashes dos usuários são armazenados.
Como a Netwrix pode ajudar
A Netwrix Active Directory Security Solution ajuda você a proteger seu Active Directory de ponta a ponta — desde destacar lacunas de segurança nas suas configurações atuais do AD até detectar ataques sofisticados em tempo real e responder a ameaças instantaneamente. Ela ajuda a garantir que todas as identidades, os dados sensíveis aos quais elas dão acesso e a infraestrutura subjacente do AD estejam limpos, compreendidos, configurados adequadamente, monitorados de perto e controlados rigorosamente — tornando sua vida mais fácil e a organização mais segura.
Compartilhar em
Saiba Mais
Sobre o autor
Jeff Warren
Diretor de Produto
Jeff Warren supervisiona o portfólio de produtos da Netwrix, trazendo mais de uma década de experiência em gestão e desenvolvimento de produtos focados em segurança. Antes de se juntar à Netwrix, Jeff liderou a organização de produtos na Stealthbits Technologies, onde utilizou sua experiência como engenheiro de software para desenvolver soluções de segurança inovadoras em escala empresarial. Com uma abordagem prática e um talento para resolver desafios de segurança complexos, Jeff está focado em construir soluções práticas que funcionam. Ele possui um BS em Sistemas de Informação pela Universidade de Delaware.
Saiba mais sobre este assunto
Exemplo de Análise de Risco: Como Avaliar Riscos
O Triângulo da CIA e Sua Aplicação no Mundo Real
Criar usuários do AD em massa e enviar suas credenciais por e-mail usando PowerShell
Como criar, alterar e testar senhas usando PowerShell
Como adicionar e remover grupos AD e objetos nos grupos com PowerShell