DCShadow: Deep dive

O Active Directory (AD) é um componente crucial na gestão de identidades e acessos em ambientes corporativos. Por sua importância, a segurança do AD é constantemente alvo de técnicas sofisticadas. No artigo de hoje, falaremos sobre té DCShadow.

O DCShadow Attack é um ataque avançado e furtivo contra o Active Directory (AD), descoberto por Benjamin Delpy (criador do Mimikatz) e Vincent Le Toux. Ele permite que um invasor imite um Controlador de Domínio (DC) e faça alterações maliciosas no Active Directory sem deixar rastros evidentes.

Um ataque DC Shadow envolve comprometer o ambiente do Active Directory introduzindo um controlador de domínio (DC) falso na rede e, em seguida, replicar as alterações dos DC’s legítimos para o falso. Esse processo se trata justamente do abuso de um mecanismo de replicação do AD – o Directory Replication Service (DRS) – para injetar alterações maliciosas sem acionar, à primeira vista, alarmes imediatos nos sistemas de monitoramento.

Para compreender como o Directory Replication Service (DRS) é explorado na criação do ataque DCShadow, é necessário analisar o funcionamento intrínseco da replicação de dados no Active Directory (AD) e identificar como o invasor pode manipular esse mecanismo legítimo para inserir alterações maliciosas. A seguir, apresento uma explanação detalhada do processo:

O DRS é um serviço fundamental no AD, responsável por manter a consistência dos dados entre os diversos controladores de domínio (DCs) de uma floresta. Por meio dele, as alterações efetuadas em um DC (seja na criação, modificação ou exclusão de objetos) são replicadas para os demais, garantindo que toda a infraestrutura tenha uma visão unificada e atualizada das informações.

O DRS opera sob o pressuposto de que todos os DCs participantes foram previamente autenticados e autorizados a efetuar modificações. Essa confiança intrínseca é essencial para a replicação eficiente, mas, ao mesmo tempo, pode ser explorada se um agente malicioso conseguir se passar por um DC legítimo.

1. MITRE ATT&ACK – Rogue Domain Controller – T1207

Dentro do MITRE ATT&ACK o DC Shadow é tratado como uma técnicas de evasão de defesa. Técnicas representam ‘como’ um adversário atinge um objetivo tático ao executar uma ação. A Evasão de Defesa consiste em técnicas que os adversários usam para evitar a detecção durante seu comprometimento. No framework o DCshadow se encontra dentro da sessão Rogue Domain Controller – T1207

2. O Conceito do Ataque DCShadow

Em linhas gerais, o ataque DCShadow consiste em:

  • Implantação de um Controlador de Domínio Falso: O invasor configura uma máquina para agir como um controlador de domínio (DC) “fantasma” ou “sombrio”. Este DC falso se registra no domínio como se fosse legítimo.
  • Uso do Protocolo de Replicação DRS: Após o registro, o atacante utiliza o protocolo DRS para injetar alterações no banco de dados do Active Directory (NRDS.dit). Essas alterações podem incluir, por exemplo, a criação ou modificação de contas com privilégios elevados, alterações em políticas de grupo (GPO) ou a inserção de backdoors. A alteração é marcada com um USN (Update Sequence Number). Os outros DCs replicam a alteração, confiando no USN e na assinatura do DC que iniciou a mudança.
  • Persistência e Escalada de Privilégios: Com a replicação das alterações para outros controladores de domínio, o invasor pode manter persistência no ambiente, controlar recursos críticos e, em alguns casos, desabilitar ou mascarar logs que evidenciem a atividade maliciosa.

Esse método é particularmente insidioso, pois utiliza processos internos do AD, os quais são confiáveis para a replicação de dados entre controladores de domínio, dificultando a identificação imediata de uma alteração não autorizada.

Um ataque DC Shadow é um tipo de ataque em um ambiente do Active Directory em que um invasor introduz um controlador de domínio (DC) desonesto na rede e replica as alterações de controladores de domínio legítimos para ele. O invasor primeiro cria alterações no ambiente,
como adicionar novos objetos ou modificar os existentes, e então espera que as alterações sejam replicadas para os controladores de domínio legítimos. Eles então registram nomes principais de serviço (SPNs) para o DC desonesto e o registram no namespace de configuração, permitindo que ele se autentique e se comunique com outros controladores de domínio.

O invasor aciona a replicação das alterações feitas no DC desonesto, que as replica, permitindo que as alterações persistam no ambiente. Finalmente, o invasor exclui os SPNs e o DC desonesto, cobrindo seus rastros e deixando o ambiente em um estado comprometido. Esse tipo de ataque permite que o invasor persista e controle a rede fazendo alterações que são replicadas para outros controladores de domínio.

3. Por que o DCShadow é tão perigoso?

  • Não Gera Logs Convencionais: As alterações são feitas via replicação de diretório, então não aparecem nos eventos comuns de modificação de objeto (Event ID 5136).
  • Parece Alteração Legítima: Como a alteração é propagada via replicação, parece ter origem de um DC autorizado.
  • Persistência Silenciosa: O invasor pode modificar AdminSDHolder para garantir persistência em contas críticas, como Domain Admins.
  • Manipulação de SIDHistory: O invasor pode adicionar SIDHistory maliciosa, permitindo acesso privilegiado sem que as ACLs sejam alteradas.

4. Requisitos para a execução de um ataque DCShadow

  1. Acesso à Rede Interna e Comunicação com os Controladores de Domínio (DCs):
    É imprescindível que o atacante possua acesso lógico (ou físico) à rede onde os controladores de domínio estão operando, possibilitando a interação direta com os serviços de replicação do Active Directory. Realizar movimentos laterais após comprometer uma máquina dentro da rede ou utilizar métodos como VPNs, engenharia social ou exploração de vulnerabilidades em sistemas expostos são formas de se atingir este requisito.
  2. Credenciais com Privilégios Elevados ou Permissão para Criação de Objetos na OU dos Controladores de Domínio:
    Para realizar um DCShadow, o invasor precisa de privilégios muito altos no AD, como: Domain Admin, Enterprise Admin, Permissions de Replicação de Diretório (Replicating Directory Changes). Esses privilégios podem ser obtidos através de ataques como:
    • DCSync Attack (imita um DC para extrair hashes);
    • Pass-the-Hash (PtH);
    • Pass-the-Ticket (PtT);
    • Kerberoasting
    • Golden Ticket
  3. Conhecimento Detalhado da Infraestrutura do Active Directory:
    É necessário realizar um mapeamento preciso da estrutura do AD, identificando os controladores de domínio existentes, as relações de replicação, os sites e as sub-redes, além de conhecer as políticas e os controles aplicados. Empregar ferramentas de enumeração (como PowerView, BloodHound ou scripts específicos) para identificar a estrutura, os sites, as relações de replicação e as políticas de segurança aplicadas são formas de se atingir este requisito.
  4. Ambiente com Configurações Permissivas ou Vulneráveis:
    Para que o ataque seja viável, o ambiente deve apresentar configurações inadequadas – por exemplo, permissões excessivamente liberais que permitam a inclusão de um controlador de domínio não autorizado ou a modificação da topologia de replicação sem as devidas restrições. Realizar uma auditoria das permissões dos objetos na OU dos Controladores de Domínio e identificar eventuais configurações excessivamente permissivas ou falhas na segmentação dos direitos administrativos são formas de se atingir este requisito.
  5. Utilização de Ferramentas Apropriadas para a Técnica DCShadow:
    Ferramentas especializadas, como scripts da coleção Impacket ou módulos específicos integrados em frameworks de testes de penetração (como o Metasploit), são essenciais para a execução do ataque, pois implementam os protocolos necessários para a injeção de alterações no AD. Empregar scripts e ferramentas como os disponibilizados pelo Mimikatz, os quais permitem registrar o controlador de domínio falso e iniciar a replicação de alterações maliciosas.
  6. Conhecimento do Protocolo de Replicação (MS-DRSR) e de suas Fragilidades:
    A técnica DCShadow explora a possibilidade de injetar alterações maliciosas no processo de replicação do Active Directory. Assim, o atacante precisa dominar o funcionamento do MS-DRSR (Microsoft Directory Replication Service Remote Protocol) e identificar pontos onde a validação da origem das alterações seja deficiente.
  7. Capacidade de Manipular Metadados e Atributos do AD:
    O sucesso do ataque depende da habilidade para criar e modificar atributos de objetos no AD, garantindo que as alterações maliciosas sejam propagadas sem levantar suspeitas imediatas.
  8. Habilidade para Contornar Mecanismos de Monitoramento e Detecção:
    Dada a sofisticação dos ambientes modernos, o atacante deve empregar técnicas para evitar que a modificação na topologia do AD e a replicação das alterações sejam rapidamente identificadas por sistemas de monitoramento, logs e mecanismos de auditoria. Modificar os padrões de comunicação e utilizar técnicas de ofuscação que impeçam a identificação imediata das atividades anômalas por sistemas de monitoramento e logs de segurança. são formas de se atingir este requisito.

5. Ferramentas e técnicas para executar o ataque DCShadow

Mimikatz

Bom… partindo do princípio em que os pré-requisitos foram atingidos, iremos agora simular o ataque onde uma conta comprometida (Joseph) está sendo usada para o ataque. Lembrando que essa conta precisa ter um nível administrativo de forma a permitir que o adversário faça alterações no ambiente, como adicionar um controlador de domínio falso e replicar alterações de controladores de domínio legítimos para ele. Sem acesso administrativo, o invasor não seria capaz de realizar o ataque.

Passo 1 – Elevar privilégios para nível SYSTEM e realizar mudanças no objeto replicado

O primeiro passo envolve iniciar o serviço mimidrv, que fornece os privilégios necessários para desempenhar o papel de um falso controlador de Domínio. Esses comandos iniciais (“!+” e “!ProcessToken”) registram e iniciam um serviço chamado “mimidrv” e elevam os privilégios para SYSTEM.

PS> .\mimikatz.exe "!+ !ProcessToken"

Em seguida o atacante executa os seguintes comandos

mimikatz # lsadump::dcshadow
/object:"CN=Jhon.Wick,OU=Hitmans,DC=domain,DC=corp" /attribute:SidHistory
/value:S-5-1-5-21-2049231239-457632404-1292079966
. . .
** Starting server **
 > BindString[0]: ncacn_ip_tcp:<LocationOfFakeServer>[ThePortItListensTo]
> RPC bind registered
> RPC Server is waiting!
== Press Control+C to stop ==

Este comendo é usado para especificar o servidor falso para o ataque DCShadow

  • O parâmetro “/object” é usado para especificar o objeto de usuário alvo, neste caso o usuário “Jhon.Wick”.
  • O parâmetro “/attribute” é usado para especificar o atributo que deve ser modificado no objeto de usuário alvo, neste caso “SidHistory”.
  • Finalmente, o parâmetro “/value” é usado para especificar o novo valor para o atributo especificado, neste caso “S-5-1-5-21-2049231239-457632404-1292079966”

No contexto de um ataque DCShadow, este comando é usado para especificar o servidor falso e direcionar o objeto do usuário para modificar seu atributo SidHistory com o novo valor especificado. O atributo modificado pode ser usado para conceder ao invasor acesso não autorizado ao sistema de destino e informações confidenciais

Passo 2 – Enviando as alterações para um controlador de domínio real

Na segunda etapa, o adversário tem que lançar o Mimikatz novamente com a conta “Joseph”, que eles comprometeram em primeiro lugar. O adversário executa o seguinte comando:

mimikatz # lsadump::dcshadow /push

Espera-se com isso:

  • Que o comando lsadump::dcshadow /push execute um ataque DCShadow registrando um controlador de domínio falso (shadowDC)
  • O DC falso recebe dados dados de replicação (abusando da premissa de que O DRS opera sob o pressuposto de que todos os DCs participantes foram previamente autenticados e autorizados a efetuar modificações.)
  • O conteúdo do banco de dados do Active Directory é modificado usando o controlador de domínio falso.
  • Depois que os dados de replicação forem confirmados, o controlador de domínio falso deve ser removido para fins de limpeza.
  • Depois que tudo estiver pronto, o invasor faz logout da conta comprometida Joseph e faz login novamente para obter o token de acesso atualizado com o histórico de SID modificado.

6. Métodos de detecção do ataque DCShadow

  • Monitoramento de rede de solicitações de Chamada de Procedimento Remoto (RPC) DRSUAPI para a operação DRSUAPI_REPLICA_ADD que se originam de sistemas que não são conhecidos como controladores de domínio.
  • Análise de logs de eventos do Windows, mas essa abordagem fornece apenas sinais do ataque e não as alterações exatas feitas pelo invasor.
  • Para imitar um controlador de domínio, o DCShadow deve fazer alterações no Active Directory, como adicionar um novo objeto NTDSDSA e um catálogo global (GC/) servicePrincipalName a um objeto de computador que não seja um controlador de domínio conhecido. Após a conclusão do ataque, ambos os itens serão removidos. Ao examinar os eventos 5136 e 5141 na subcategoria Audit Directory Service Changes do log de eventos do Windows, você pode procurar evidências da criação e exclusão de objetos de servidor dentro de sites.
  • Event ID 5136 – The Windows Filtering Platform has allowed a connection.
    • Campos chave: Security ID, Account Name, Account Domain, Logon ID
  • Event ID 5141 – A directory service object was deleted.
    • Campos chave: Security ID, Account Name, Account Domain, Logon ID

7. Estratégias para mitigação para o ataque DCShadow

O ataque DCShadow é um tipo de ameaça persistente avançada (APT) que aproveita os recursos e privilégios do Active Directory (AD) para modificar dados de forma maliciosa. Como não é possível eliminar totalmente o risco desse ataque, é importante adotar uma abordagem de segurança multicamadas para mitigá-lo. Aqui estão algumas sugestões que podem ajudar você a reduzir o risco de um ataque DCShadow bem-sucedido:

Estratégia #1: Monitorar anúncios de DC temporário

O AD irá registrar eventos se um DC temporário for anunciado:

  • Event ID 4929 → Um DC foi anunciado na rede.
  • Event ID 4930 → Um DC foi removido da rede.

Configure um SIEM para alertar se esses eventos ocorrerem em máquinas que não deveriam ser DCs.

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4929}Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4930}

Use firewalls baseados em host para limitar o movimento lateral. Garanta que protocolos de gerenciamento remoto, como RDP, sejam acessíveis somente de um pequeno conjunto de sistemas aprovados e monitorados.

Estratégia #2: Restringir privilégios de replicação de diretório

O DCShadow só funciona se o invasor tiver permissão de replicação de diretório. Verifique as contas que têm essa permissão:

Get-ADUser -Filter * -Properties adminCount | Where-Object { $_.adminCount -eq 1 }

Remova permissões desnecessárias:

Remove-ADPermission -Identity "UserOrGroup" -AccessRights ExtendedRight -ExtendedRights "Replicating Directory Changes"

Estratégia #3: Desabilitar NTLM e Forçar AES para Kerberos

O DCShadow é frequentemente combinado com Pass-the-Hash. Desabilitar NTLM reduz o risco:

Set-ADDefaultDomainPasswordPolicy -KerberosEncryptionType AES256,AES128

Estratégia #4: Implementar LAPS e Credential Guard

Credential Guard → Impede dumping de credenciais do LSASS.

LAPS → Garante que senhas de administradores locais não sejam reutilizadas.

Estratégia #5: Usar o Microsoft ATA ou Defender for Identity

Ambas as soluções detectam atividades de replicação suspeitas, como as usadas pelo DCShadow e DCSync

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *