389,636,3268,3269 - LDAP
nmap --script ldap-\* -p 389,636 10.10.11.42
ldapdomaindump -u 'administrator.htb\Olivia' -p 'ichliebedich' 10.10.11.4
ldapsearch -x -H ldap://administrator.htb -s base
ldapsearch -x -H ldap://IP -D "USER@DOMINIO" -w "PASS" -b "DC=,DC=" "(objectClass=user)" sAMAccountName memberOf
ldapsearch -x -H ldap://IP -D "USER@DOMINIO" -w "PASS" -b "DC=,DC=" "(objectClass=computer)" sAMAccountName memberOf
Si hay acceso anónimo
nxc ldap 192.168.247.122 -u '' -p '' --users
nxc ldap 192.168.247.122 -u '' -p '' --users | awk '{print $5}' | grep -vE '\-|\[' > users.txt
Si quieres buscar información en LDAP con ldapsearch sin autenticación ni credenciales, puedes intentar acceder de forma anónima. Sin embargo, esto solo funcionará si el servidor LDAP permite consultas anónimas (por defecto, muchos servidores LDAP restringen el acceso anónimo por razones de seguridad).
1️⃣ Comprobar si el servidor LDAP permite acceso anónimo
Antes de hacer consultas, puedes probar si el servidor permite acceso anónimo con este comando:
ldapsearch -x -H ldap://IP_O_DOMINIO -s base
-x→ Usa autenticación simple (sin SASL).-H ldap://IP_O_DOMINIO→ Especifica la dirección del servidor LDAP.-s base→ Consulta solo la raíz del directorio LDAP.
Si el servidor permite acceso anónimo, recibirás información básica sobre la estructura LDAP. Si no, es probable que el acceso anónimo esté deshabilitado.
2️⃣ Buscar la Base DN (Distinguished Name)
Si el acceso anónimo funciona, el siguiente paso es encontrar la Base DN, que define el punto de inicio para las búsquedas. Puedes probar con:
ldapsearch -x -H ldap://IP_O_DOMINIO -s base -b "" "(objectClass=*)"
Si devuelve resultados, busca líneas como:
namingContexts: dc=empresa,dc=com
Esto significa que la Base DN del dominio es dc=empresa,dc=com, y la usarás en consultas más específicas.
3️⃣ Buscar todos los objetos LDAP visibles
Si encontraste la Base DN, ahora puedes listar todos los objetos del servidor LDAP con:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(objectClass=*)"
Si el acceso anónimo está permitido, este comando listará todos los objetos del servidor.
4️⃣ Buscar cuentas de usuario
Para buscar usuarios, puedes filtrar con objectClass=person o objectClass=user:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(objectClass=person)"
También puedes intentar con:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(objectClass=user)"
Si tienes suerte, esto puede revelar nombres de usuarios, correos electrónicos o incluso hashes de contraseñas almacenados en atributos como userPassword.
5️⃣ Buscar Grupos
Para listar los grupos del dominio LDAP, usa:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(objectClass=group)"
6️⃣ Buscar direcciones de correo electrónico
Si el servidor almacena correos electrónicos, puedes buscarlos con:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(mail=*)"
Esto listará todas las cuentas con correos electrónicos registrados.
7️⃣ Buscar posibles credenciales filtradas
Algunas implementaciones de LDAP permiten leer atributos como userPassword. Puedes intentar:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(userPassword=*)"
Si esto devuelve datos, podrían estar en hash o en texto claro, dependiendo de la configuración del servidor.
8️⃣ Buscar cuentas con permisos administrativos
Si el acceso anónimo es amplio, podrías buscar cuentas privilegiadas:
ldapsearch -x -H ldap://IP_O_DOMINIO -b "dc=empresa,dc=com" "(&(objectClass=person)(|(cn=*admin*)(sAMAccountName=*admin*)))"
Esto intentará listar cuentas con admin en su nombre.
¿Qué hacer si el acceso anónimo está bloqueado?
Si el servidor no permite acceso anónimo, puedes probar:
-
Buscar credenciales en archivos o scripts (en servidores, en carpetas compartidas, en configuraciones de aplicaciones).
-
Intentar autenticación con credenciales débiles:
ldapsearch -x -H ldap://IP_O_DOMINIO -D "CN=usuario,CN=Users,DC=empresa,DC=com" -w "contraseña" -
Buscar exploits para la versión del servidor LDAP.
Resumen
| Comando | Propósito |
|---|---|
ldapsearch -x -H ldap://IP -s base |
Verificar si el servidor permite acceso anónimo |
ldapsearch -x -H ldap://IP -b "dc=empresa,dc=com" "(objectClass=*)" |
Listar todos los objetos del LDAP |
ldapsearch -x -H ldap://IP -b "dc=empresa,dc=com" "(objectClass=person)" |
Buscar usuarios en el LDAP |
ldapsearch -x -H ldap://IP -b "dc=empresa,dc=com" "(objectClass=group)" |
Buscar grupos en el LDAP |
ldapsearch -x -H ldap://IP -b "dc=empresa,dc=com" "(mail=*)" |
Buscar direcciones de correo |
ldapsearch -x -H ldap://IP -b "dc=empresa,dc=com" "(userPassword=*)" |
Buscar contraseñas almacenadas |