hacktricks/windows-hardening/active-directory-methodology/skeleton-key.md

6.1 KiB
Raw Blame History

Skeleton Key

Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Skeleton Key

De: https://blog.stealthbits.com/unlocking-all-the-doors-to-active-directory-with-the-skeleton-key-attack/

Existem vários métodos que atacantes podem usar para comprometer contas do Active Directory, elevar privilégios e criar persistência uma vez que se estabeleceram no seu domínio. O Skeleton Key é um malware particularmente assustador direcionado a domínios do Active Directory para tornar alarmantemente fácil sequestrar qualquer conta. Este malware injeta-se no LSASS e cria uma senha mestra que funcionará para qualquer conta no domínio. As senhas existentes também continuarão a funcionar, então é muito difícil saber que este ataque ocorreu a menos que você saiba o que procurar.

Não surpreendentemente, este é um dos muitos ataques que é empacotado e muito fácil de realizar usando Mimikatz. Vamos ver como funciona.

Requisitos para o Ataque Skeleton Key

Para perpetrar este ataque, o atacante deve ter direitos de Administrador do Domínio. Este ataque deve ser realizado em cada controlador de domínio para comprometimento completo, mas até mesmo mirar em um único controlador de domínio pode ser eficaz. Reiniciar um controlador de domínio removerá este malware e ele terá que ser redistribuído pelo atacante.

Realizando o Ataque Skeleton Key

Realizar o ataque é muito simples. Requer apenas o seguinte comando a ser executado em cada controlador de domínio: misc::skeleton. Depois disso, você pode se autenticar como qualquer usuário com a senha padrão do Mimikatz.

Injetando uma skeleton key usando o comando misc::skeleton em um controlador de domínio com Mimikatz

Aqui está uma autenticação para um membro de Administrador do Domínio usando a skeleton key como senha para obter acesso administrativo a um controlador de domínio:

Usando a skeleton key como senha com o comando misc::skeleton para obter acesso administrativo a um controlador de domínio com a senha padrão do Mimikatz

Nota: Se você receber uma mensagem dizendo, “Erro de sistema 86 ocorreu. A senha de rede especificada está incorreta”, apenas tente usar o formato domínio\conta para o nome de usuário e deve funcionar.

Usando o formato domínio\conta para o nome de usuário se você receber uma mensagem dizendo Erro de sistema 86 ocorreu A senha de rede especificada está incorreta

Se o lsass já foi corrigido com skeleton, então este erro aparecerá:

Mitigações

  • Eventos:
  • ID de Evento do Sistema 7045 - Um serviço foi instalado no sistema. (Tipo de driver do Modo Kernel)
  • ID de Evento de Segurança 4673 Uso de Privilégio Sensível ("Auditoria de uso de privilégio" deve estar ativada)
  • ID de Evento 4611 Um processo de logon confiável foi registrado com a Autoridade de Segurança Local ("Auditoria de uso de privilégio" deve estar ativada)
  • Get-WinEvent -FilterHashtable @{Logname='System';ID=7045} | ?{$_.message -like "Kernel Mode Driver"}
  • Isso só detecta mimidrv Get-WinEvent -FilterHashtable @{Logname='System';ID=7045} | ?{$.message -like "Kernel Mode Driver" -and $.message -like "mimidrv"}
  • Mitigação:
  • Execute lsass.exe como um processo protegido, isso força um atacante a carregar um driver de modo kernel
  • New-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL -Value 1 -Verbose
  • Verifique após reiniciar: Get-WinEvent -FilterHashtable @{Logname='System';ID=12} | ?{$_.message -like "protected process"}
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks: