Ldap
O que é LDAP? Lightweight Directory Access Protocol (LDAP) é um protocolo que permite às pessoas localizar e encontrar organizações e recursos importantes dentro de uma rede. O aspecto 'leve' é que ele possui menos código e não precisa de muitos recursos para ser executado. LDAP é o protocolo principal por trás dos domínios do Active Directory. Quando um usuário está tentando localizar um objeto, como uma impressora ou outro usuário, o LDAP está sendo usado para consultar os objetos e retornar os resultados corretos. O LDAP geralmente é executado na porta 389, e o LDAPS (que é LDAP com TLS/SSL) é executado na porta 636. Geralmente, existem 3 maneiras de autenticar via LDAP: Acesso anônimo com credenciais nulas Nome/Senha de Acesso Autenticação não autenticada (para fins de registro e testes de desenvolvedor) Consulta LDAP Uma consulta LDAP é o que solicita algumas informações ao serviço de diretório. Esta é a aparência de uma consulta LDAP padrão:
(&(objectClass=user)(sAMAccountName=yourUserName) (memberof=CN=YourGroup,OU=Users,DC=YourDomain,DC=com))
Algumas coisas a serem observadas aqui: objectClass refere-se ao tipo de objeto que estamos procurando, seja um usuário, um arquivo ou algo assim sAMAccountName é o nome de logon do usuário da máquina Windows. O Nome Comum (CN) refere-se a um atributo de várias classes relacionadas a pessoas. Unidade Organizacional (OU) tende a se referir ao nome do grupo de objetos para definir o escopo de nossa pesquisa Componente de domínio (DC) refere-se ao nome de domínio da rede que estamos consultando. Geralmente, eles são compostos por 2 componentes conforme mostrado acima. Quando fazemos consultas LDAP, os usuários usam algum software com uma GUI ou script Powershell para executar suas consultas. Na maioria das vezes, não há necessidade de escrever consultas LDAP brutas.
Enumeration Com o LDAP, pode haver vulnerabilidades exploradas que permitiriam a um invasor basicamente consultar tudo sobre esse domínio e descobrir tudo sobre ele, como nomes de usuários, grupos e outras possíveis configurações incorretas de segurança. bloodhound utiliza LDAP para fazer a consulta do domínio, que é representado em formato de gráfico. ldapsearch é a ferramenta que mais uso ao tentar enumerar uma porta LDAP à qual temos acesso. Por exemplo, tudo o que precisamos fazer é especificar, usando termos de consulta LDAP, que tipo de CN ou UO queremos saber mais.
ldapsearch -x -H ldap:// -D '<username>' -w '' -b "CN=Users,DC=domain,DC=com" -x Simple Authentication -H LDAP Server -D My User -w My password
Geralmente, podemos definir o escopo de nossa pesquisa de acordo para saber mais. Às vezes, o LDAP pode revelar muitas informações interessantes, como coisas que foram deixadas na descrição de um usuário durante o desenvolvimento ou algum arquivo que foi deixado de lado.
Anonymous Login Semelhante ao SMB, pode haver convidados autorizados a acessar o domínio sem credenciais (o que é obviamente ruim). Podemos usar novamente o ldapsearch para isso:
ldapsearch -x -H ldap:// -D '' -w '' -b "DC=<1_SUBDOMAIN>,DC="
Resources https://book.hacktricks.xyz/network-services-pentesting/pentesting-ldap
Last updated
