Ofuscação de LDAP: Como Ocultar a Reconnaissance do Active Directory de Detecções Simples
A exploração de Active Directory frequentemente utiliza consultas LDAP, cujos filtros, atributos e bases de busca podem se tornar assinaturas para detecção. Este artigo explora como essas consultas funcionam, onde monitorá-las e técnicas de ofuscação para modificar sua forma sem alterar o resultado.
MundiX News·10 de julho de 2026·4 min de leitura·👁 1 views
As consultas LDAP são a base da reconnaissance no Active Directory, desde o Kerberoasting no Impacket até a coleta de grafos no BloodHound. Filtros, atributos e a base de busca se tornam assinaturas convenientes para detectar atividades suspeitas. Neste artigo, vamos analisar como essas consultas funcionam, onde exatamente elas podem ser monitoradas e quais técnicas de ofuscação ajudam a alterar a forma da consulta, mantendo o mesmo resultado.
Dentro da maioria dos scripts de reconnaissance, o LDAP está em operação. Por exemplo, quando você executa o script GetUserSPNs.py do Impacket, ele envia uma consulta LDAP para o serviço de diretório com o seguinte filtro:
Este filtro solicita todas as contas de usuário habilitadas com um SPN não vazio – ou seja, contas para as quais um ticket TGS pode ser solicitado. Os coletores do BloodHound utilizam várias consultas para obter uma lista de todos os objetos no Directory Service. Por exemplo, RustHound utiliza uma consulta do seguinte tipo:
`(objectClass=*)
Informações semelhantes são solicitadas via LDAP durante a reconnaissance de serviços como AD CS, SCCM e outros.
No entanto, as equipes de defesa estão gradualmente desenvolvendo mais maneiras de capturar a reconnaissance da infraestrutura através do LDAP. Neste artigo, vamos analisar esses métodos, bem como explorar as possibilidades de ofuscação de consultas contra os meios de defesa.
Aviso: Este artigo tem caráter informativo e destina-se a especialistas em segurança que realizam testes dentro do escopo de um contrato. O autor e a redação não se responsabilizam por quaisquer danos causados pela aplicação das informações apresentadas. A distribuição de programas maliciosos, a interrupção do funcionamento de sistemas e a violação do sigilo da correspondência são puníveis por lei.
Breve Teoria sobre LDAP e Serviços de Diretório
Antes de passarmos para a detecção de ataques e métodos de defesa, vamos primeiro entender o que é LDAP e como ele funciona. De forma simplificada, LDAP é um banco de dados do AD. Os dados são armazenados em um serviço de diretório (Directory Service) em uma estrutura em árvore. O objeto do domínio é a raiz, da qual partem ramificações com categorias de dados.
Estrutura LDAP
A consulta LDAP clássica Search consiste nos seguintes campos:
BaseObject (ou StartingNode): O ponto a partir do qual a busca começará. Por exemplo, pode ser todo o domínio ou uma ramificação separada com usuários, se você estiver interessado apenas em objetos de usuário.
Scope: Um parâmetro da consulta LDAP Search que determina a profundidade da busca. O valor subtree é adequado se você precisar de busca em ramificações aninhadas, onelevel se precisar de busca em um único nível, sem aprofundamento nas ramificações. Há também base – busca apenas em um único objeto, a base.
Filtro de consulta: A condição que os objetos procurados devem satisfazer.
Atributos solicitados: Os atributos que serão solicitados dos objetos encontrados.
O próprio filtro de consulta consiste nas seguintes partes:
Atributo a ser procurado.
Valor.
Operador de comparação.
Negação – se for necessário excluir objetos específicos.
Exemplo de filtro de consulta:
(name=Bob)
Como resultado da aplicação do filtro, o servidor nos retornará todos os objetos que possuem o valor Bob no atributo name.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
As consultas LDAP são a base da reconnaissance no Active Directory, desde o Kerberoasting no Impacket até a coleta de grafos no BloodHound. Filtros, atributos e a base de busca se tornam assinaturas convenientes para detectar atividades suspeitas. Neste artigo, vamos analisar como essas consultas funcionam, onde exatamente elas podem ser monitoradas e quais técnicas de ofuscação ajudam a alterar a forma da consulta, mantendo o mesmo resultado.
Dentro da maioria dos scripts de reconnaissance, o LDAP está em operação. Por exemplo, quando você executa o script GetUserSPNs.py do Impacket, ele envia uma consulta LDAP para o serviço de diretório com o seguinte filtro:
Este filtro solicita todas as contas de usuário habilitadas com um SPN não vazio – ou seja, contas para as quais um ticket TGS pode ser solicitado. Os coletores do BloodHound utilizam várias consultas para obter uma lista de todos os objetos no Directory Service. Por exemplo, RustHound utiliza uma consulta do seguinte tipo:
`(objectClass=*)
Informações semelhantes são solicitadas via LDAP durante a reconnaissance de serviços como AD CS, SCCM e outros.
No entanto, as equipes de defesa estão gradualmente desenvolvendo mais maneiras de capturar a reconnaissance da infraestrutura através do LDAP. Neste artigo, vamos analisar esses métodos, bem como explorar as possibilidades de ofuscação de consultas contra os meios de defesa.
Aviso: Este artigo tem caráter informativo e destina-se a especialistas em segurança que realizam testes dentro do escopo de um contrato. O autor e a redação não se responsabilizam por quaisquer danos causados pela aplicação das informações apresentadas. A distribuição de programas maliciosos, a interrupção do funcionamento de sistemas e a violação do sigilo da correspondência são puníveis por lei.
Breve Teoria sobre LDAP e Serviços de Diretório
Antes de passarmos para a detecção de ataques e métodos de defesa, vamos primeiro entender o que é LDAP e como ele funciona. De forma simplificada, LDAP é um banco de dados do AD. Os dados são armazenados em um serviço de diretório (Directory Service) em uma estrutura em árvore. O objeto do domínio é a raiz, da qual partem ramificações com categorias de dados.
Estrutura LDAP
A consulta LDAP clássica Search consiste nos seguintes campos:
BaseObject (ou StartingNode): O ponto a partir do qual a busca começará. Por exemplo, pode ser todo o domínio ou uma ramificação separada com usuários, se você estiver interessado apenas em objetos de usuário.
Scope: Um parâmetro da consulta LDAP Search que determina a profundidade da busca. O valor subtree é adequado se você precisar de busca em ramificações aninhadas, onelevel se precisar de busca em um único nível, sem aprofundamento nas ramificações. Há também base – busca apenas em um único objeto, a base.
Filtro de consulta: A condição que os objetos procurados devem satisfazer.
Atributos solicitados: Os atributos que serão solicitados dos objetos encontrados.
O próprio filtro de consulta consiste nas seguintes partes:
Atributo a ser procurado.
Valor.
Operador de comparação.
Negação – se for necessário excluir objetos específicos.
Exemplo de filtro de consulta:
(name=Bob)
Como resultado da aplicação do filtro, o servidor nos retornará todos os objetos que possuem o valor Bob no atributo name.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.