Em ambientes corporativos, o alvo mais valioso costuma ser o Active Directory (AD) — o sistema que centraliza usuários, computadores, grupos e políticas de toda a organização (você o conheceu na aula Windows internals: processos, registro e o coração da autenticação). E o protocolo que serve de espinha dorsal para consultar o AD é o LDAP (Lightweight Directory Access Protocol). Enumerar o LDAP é, essencialmente, ler o catálogo da organização inteira: quem são os usuários, como estão organizados, quem é administrador, quais são as políticas. É uma das fontes de enumeração mais ricas que existem, e prepara diretamente o terreno para os ataques de Active Directory do Bloco XI. Esta aula introduz a enumeração LDAP; a exploração aprofundada virá lá.

O diretório como agenda hierárquica

Entenda o conceito de diretório. Um diretório LDAP é como uma agenda telefônica corporativa altamente estruturada: uma base de dados hierárquica que armazena "objetos" (usuários, grupos, computadores) organizados numa árvore, cada um com atributos (nome, e-mail, cargo, grupos a que pertence, e muito mais). O Active Directory é a implementação da Microsoft desse conceito, e o LDAP é a linguagem para consultá-lo. O protocolo roda tipicamente nas portas 389 (LDAP) e 636 (LDAPS, a versão sobre TLS). Quando seu scan revela essas portas — especialmente junto com outras características Windows —, você identificou provavelmente um controlador de domínio, o coração do AD e o alvo mais cobiçado do ambiente.

DN, DC, OU e CN

A estrutura hierárquica do LDAP usa uma nomenclatura própria que você precisa reconhecer. Os objetos são identificados por Distinguished Names (DN), construídos a partir de componentes como DC (Domain Component, as partes do domínio), OU (Organizational Unit, unidades organizacionais que agrupam objetos) e CN (Common Name, o nome do objeto). Um usuário pode ter um DN como CN=João Silva,OU=Financeiro,DC=empresa,DC=com — que se lê como "o usuário João Silva, na unidade Financeiro, do domínio empresa.com". Entender essa estrutura é o que permite navegar e consultar o diretório com precisão.

ldapsearch e o bind anônimo

A enumeração usa ferramentas que consultam o LDAP, e — tema recorrente do bloco — a possibilidade de consultas anônimas (quando o AD permite bind sem credenciais) é o que a torna especialmente reveladora:

# ldapsearch — a ferramenta clássica de consulta LDAP
ldapsearch -x -H ldap://192.168.1.10 -b "dc=empresa,dc=com"
#          -x = autenticação simples/anônima; -b = base da busca

# tenta descobrir a base de nomes (naming context) do diretório
ldapsearch -x -H ldap://192.168.1.10 -s base namingcontexts

# scripts NSE do Nmap para LDAP
nmap --script ldap-search 192.168.1.10

# nmap para descoberta geral de AD
nmap --script ldap-rootdse 192.168.1.10

O catálogo que uma consulta anônima devolve

Quando as consultas anônimas são permitidas, um ldapsearch bem construído devolve o catálogo: usuários (com atributos como último login, se a conta está ativa, descrições — que às vezes contêm senhas deixadas por administradores desatentos), grupos (e quem pertence a eles, revelando quem são os administradores do domínio), computadores ingressados, e as políticas. É, literalmente, o organograma técnico da organização.

Quem são os Domain Admins

O valor ofensivo é imenso e conecta diretamente com o Bloco XI. A enumeração LDAP entrega: a lista completa de usuários do domínio (não de uma máquina, mas de toda a organização); a estrutura de grupos, revelando quem são os Domain Admins — os alvos de maior valor; descrições e atributos que ocasionalmente vazam credenciais ou pistas; e o mapa que ferramentas avançadas como o BloodHound (aula Active Directory ofensivo: fundamentos e enumeração com BloodHound) consomem para calcular caminhos de ataque dentro do AD — como chegar de um usuário comum comprometido até o administrador do domínio. A enumeração LDAP não é um fim; é o alicerce sobre o qual toda a estratégia de ataque a Active Directory se constrói. Por isso, encontrar um DC com consultas LDAP anônimas permitidas é um achado de alto impacto.

Fechar o anônimo, assinar e segmentar

Do lado defensivo, o LDAP e o AD exigem endurecimento cuidadoso justamente por concentrarem tanto valor. As contramedidas incluem: desabilitar consultas LDAP anônimas (exigir autenticação para qualquer consulta ao diretório); aplicar LDAP signing e LDAPS para proteger a integridade e confidencialidade das consultas (o que também mitiga certos ataques de relay que veremos no Bloco XI); praticar higiene de atributos — jamais colocar senhas ou informações sensíveis em campos de descrição; aplicar menor privilégio para que usuários comuns não consigam enumerar todo o diretório; e monitorar consultas LDAP anômalas, especialmente as que parecem mapear a estrutura inteira (assinatura típica de ferramentas como o BloodHound). Proteger o AD é proteger as chaves do reino.

Fontes e leituras recomendadas

Exercícios

  1. O que é um diretório LDAP, e qual a relação entre LDAP e Active Directory?

    ✓ Resposta:

    Um diretório LDAP é uma base de dados hierárquica que armazena objetos (usuários, grupos, computadores) com atributos, organizados em árvore — como uma agenda corporativa estruturada. O Active Directory é a implementação da Microsoft desse conceito, e o LDAP é o protocolo/linguagem usado para consultá-lo.

  2. Em quais portas o LDAP roda, e o que sua presença (com características Windows) provavelmente indica sobre o host?

    ✓ Resposta:

    Nas portas 389 (LDAP) e 636 (LDAPS, sobre TLS). Sua presença, junto de características Windows, provavelmente indica que o host é um controlador de domínio — o coração do Active Directory.

  3. Decomponha o Distinguished Name CN=João Silva,OU=Financeiro,DC=empresa,DC=com, explicando cada componente.

    ✓ Resposta:

    CN=João Silva é o Common Name (o objeto/usuário); OU=Financeiro é a Organizational Unit (unidade que o agrupa); DC=empresa e DC=com são Domain Components (as partes do domínio empresa.com). Lê-se: o usuário João Silva, na unidade Financeiro, do domínio empresa.com.

  4. Por que a enumeração LDAP é considerada "o alicerce" dos ataques a Active Directory? Cite o que ela entrega e a ferramenta avançada que consome esses dados.

    ✓ Resposta:

    Porque entrega a lista completa de usuários do domínio, a estrutura de grupos (revelando os Domain Admins), atributos que podem vazar pistas/credenciais, e o mapa da organização. Esses dados são consumidos por ferramentas como o BloodHound, que calcula caminhos de ataque até o administrador do domínio, servindo de base para toda a estratégia de ataque ao AD.

  5. Liste três contramedidas defensivas para proteger o LDAP/AD contra enumeração.

    ✓ Resposta:

    Exemplos: desabilitar consultas LDAP anônimas (exigir autenticação); aplicar LDAP signing e LDAPS; praticar higiene de atributos (não colocar senhas em descrições); aplicar menor privilégio; monitorar consultas anômalas que mapeiam toda a estrutura. (Três quaisquer.)