O mecanismo de rotação de senhas integrado da Microsoft foi projetado para proteger identidades não humanas (NHIs) locais, como contas de máquina em Active Directory (AD). À primeira vista, parece ser uma defesa forte — automatizada, programada e estruturada para minimizar os riscos de segurança. Essa proteção, no entanto, pode ser subvertida, permitindo que invasores criem uma base persistente.
Um adversário pode manipular o processo de rotação em todo o ambiente ou em uma conta de máquina específica por meio de um ataque Man-in-the-Middle (MITM). Os invasores também podem contornar o processo completamente, comprometendo as senhas das contas de máquina e alterando-as diretamente, sequestrando assim o mecanismo de rotação sem interferir no tráfego de rede.
Ao manipular a sincronização de tempo ou modificar diretamente as senhas, os invasores podem interromper ou assumir o controle do processo de rotação de senhas. A manipulação de tempo impede rotações programadas, enquanto a modificação direta concede controle sobre contas específicas, permitindo persistência a longo prazo e evitando detecção.
Controles de segurança de NHIs locais
Contas de serviço são identidades não humanas usadas para executar aplicativos, serviços e tarefas automatizadas em um ambiente AD local. Essas contas geralmente usam senhas estáticas que nunca mudam, representando riscos significativos à segurança. Uma vez comprometidas, os invasores podem usar essas credenciais para:
- Roubo & Movimento lateral: Utilizando os privilégios da conta para mover-se lateralmente.
- Escalonamento de Privilégios: Obtendo acesso administrativo por meio de privilégios elevados.
- Persistência a longo prazo: Manter acesso sem detecção ou expiração.
Para mitigar esses riscos, a rotação de senhas garante que as credenciais da conta sejam alteradas periodicamente. Existem dois tipos principais de contas que implementam a rotação de senhas:
- Contas de Máquina: Representam computadores associados ao domínio; as alterações de senha são gerenciadas pelo sistema operacional local.
- Contas de serviço gerenciado (MSAs): Projetado para serviços e aplicativos; a rotação de senhas é imposta pelo Controlador de Domínio (DC).
| Tipo de conta | Propósito | Quem gerencia a rotação? |
| Contas de máquina | Computação autenticação dentro do domínio | Sistema operacional local |
| MSAs autônomos | Autenticação de aplicativo de servidor único | Controlador de Domínio (DC) |
| MSAs de grupo (gMSAs) | Compartilhado entre várias máquinas | Controlador de Domínio (DC) |
| MSAs delegadas | Extensão de gMSAs com controle administrativo delegado | Controlador de Domínio (DC) |
Entender essas diferenças é fundamental, pois os invasores exploram mecanismos de rotação de forma diferente para cada tipo de conta. Por exemplo, contas de máquina podem ser sequestradas por meio de métodos RPC, como MS-SAMR, enquanto MSAs exigem a manipulação do processo de rotação de DC.
Vetor de ataque 1: Desabilitando a rotação de senhas de contas de máquina
In Active DirectoryA rotação de senhas de contas de máquina é de responsabilidade do sistema cliente, normalmente um host Windows associado ao domínio. Por padrão, o sistema operacional local rotaciona automaticamente a senha de suas contas de máquina a cada 30 dias. Para isso, ele se comunica remotamente com o Controlador de Domínio (DC) usando o Protocolo Remoto do Gerenciador de Contas de Segurança (MS-SAMR) via RPC.
Este protocolo fornece um conjunto de operações administrativas para gerenciar contas de usuários e computadores em Active Directory. Uma das principais funções usadas pelo cliente para executar atualizações remotas de senha é hSamrUnicodeChangePasswordUser2, que permite que o cliente autenticado altere a senha associada à sua conta de máquina no diretório.
Mecânica do ataque
No entanto, esse mecanismo pode ser sequestrado. Assim que um invasor obtém acesso à conta da máquina, ele pode usar o MS-SAMR e invocar especificamente hSamrUnicodeChangePasswordUser2 para modificar diretamente a senha da conta. Active Directory, sem notificar ou envolver o cliente original. Isso interrompe a sincronização entre a máquina associada ao domínio e o controlador de domínio, resultando em uma relação de confiança unilateral em que o invasor controla as credenciais e o host legítimo fica bloqueado.
Isso quebra a confiança entre a máquina e o controlador de domínio. Cada um armazena uma cópia da senha, e modificações não autorizadas levam a uma incompatibilidade. O objeto do AD permanece válido indefinidamente, garantindo acesso persistente.
Após a desativação da rotação, a conta permanece válida, mesmo que não haja mais alterações de senha. A quebra de confiança deixa a máquina comprometida inutilizável.
Manipulando a rotação de senhas com ataques de tempo
Para melhorar a segurança das credenciais de serviço, a Microsoft introduziu MSAs independentes no Windows Server 2008 R2. As MSAs dependem do DC para o gerenciamento de senhas, mas essa centralização introduz novos vetores de ataque.
Ao manipular a hora do sistema no DC ou no host de serviço, os invasores podem atrasar as alterações de senha programadas. Como o AD depende de registros de data e hora, retroceder o relógio adia a rotação e mantém o acesso.
Como o tempo afeta a rotação de senhas
Active Directory usa o atributo PwdLastSet para determinar quando as credenciais de uma conta foram rotacionadas pela última vez. Este registro de data e hora é essencial para aplicar políticas de expiração de senha. A sincronização precisa de tempo é vital para as operações do AD, incluindo políticas de senha e Kerberos autenticação.
O papel do NTP na sincronização de tempo
As empresas geralmente dependem do NTP externo para precisão de tempo. O Windows usa o NTP versão 3 por padrão, que não oferece proteção de integridade de mensagens.
Visão geral da sincronização de tempo do Windows (w32tm)
O Serviço de Tempo do Windows (w32tm) sincroniza a hora do domínio. Nesse caso, o Controlador de Domínio tem duas funções:
- Atua como um servidor de tempo, distribuindo tempo aos membros do domínio.
- Sincroniza com servidores NTP externos como um cliente de tempo.
Os principais parâmetros de segurança incluem:
- MaxPosPhaseCorrection e MaxAllowedPhaseOffset: ajustes de tempo máximo permitidos por sincronização.
- Semeadura de Tempo Segura (STS): Usa registros de data e hora TLS para detecção de adulteração, mas é limitado, especialmente após o TLS 1.3.
Interrompendo a rotação de senhas por meio da manipulação do tempo de domínio
Ataques MITM entre o DC e a fonte NTP podem mudar gradualmente o horário do DC sem detecção. O w32tm permite até 48 horas de correção por sincronização, atualizadas a cada 64 segundos.
Vetor de ataque 2: Manipulação temporal da rotação de senhas do MSA
O invasor primeiro manipula o relógio do DC e então aciona a rotação de senhas por meio de um dos seguintes métodos:
- Solicitação Direta: Um usuário ou serviço com privilégios sobre a Conta de Serviço Gerenciada.
- Gatilho Natural: Permitindo que a conta de serviço gerenciada seja reautenticada naturalmente.
Quando as credenciais são rotacionadas enquanto o horário do sistema é adiantado artificialmente, o PwdLastSet reflete esse registro de data e hora futuro. Reverter o relógio efetivamente adia a próxima rotação agendada, ignorando a imposição.
Vantagem principal
Todos os membros do domínio são sincronizados com o controlador de domínio, mantendo a autenticação Kerberos e minimizando a detecção. Essa sincronização mascara a manipulação de tempo dos sistemas de endpoint, garantindo a discrição e a continuidade do serviço.
Consequências do ataque
Esses ataques podem levar à persistência de longo prazo no ambiente, contornando os controles de expiração por meio da manipulação de carimbos de data/hora. Assim que um invasor rotaciona credenciais com uma configuração de data/hora alterada, reversões subsequentes impedem rotações adicionais, anulando efetivamente a aplicação da segurança. conta comprometida continua a funcionar com um token válido, sem ser detectado.
Além da persistência, essa manipulação baseada em tempo permite a evasão de políticas de senha e potencial escalonamento de privilégios. A reversão dos relógios do sistema também pode levar a falhas intermitentes de serviço e problemas de autenticação, criando interrupções operacionais e dificultando a detecção.
Estratégias de mitigação
As organizações devem implementar sincronização de tempo segura usando protocolos NTP autenticados, como o NTPv4, que oferece suporte à integridade e autenticação de mensagens. O monitoramento de logs de eventos críticos também pode ajudar a detectar comportamentos incomuns: O ID do evento 4616 (indicando alterações de horário) e o ID do evento 4742 (indicando alterações de senha para contas de computador) são particularmente relevantes.
Além disso, implemente o monitoramento de padrões anormais de PwdLastSet em contas de serviço e de máquina. Esses indicadores podem revelar tentativas de manipular cronogramas de rotação ou manter acesso furtivo. Com essas medidas em vigor, o risco de ataques furtivos baseados em tempo pode ser reduzido significativamente.