LDAP Injection
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Si estás interesado en una carrera de hacking y en hackear lo inhackeable - ¡estamos contratando! (se requiere polaco fluido escrito y hablado).
Si quieres saber qué es LDAP, accede a la siguiente página:
389, 636, 3268, 3269 - Pentesting LDAPLDAP Injection es un ataque dirigido a aplicaciones web que construyen declaraciones LDAP a partir de la entrada del usuario. Ocurre cuando la aplicación no sanitiza adecuadamente la entrada, permitiendo a los atacantes manipular declaraciones LDAP a través de un proxy local, lo que puede llevar a acceso no autorizado o manipulación de datos.
Filtro = ( filtercomp ) Filtercomp = and / or / not / item And = & filterlist Or = |filterlist Not = ! filter Filterlist = 1*filter Item= simple / present / substring Simple = attr filtertype assertionvalue Filtertype = '=' / '~=' / '>=' / '<=' Present = attr = * Substring = attr ”=” [initial] * [final] Initial = assertionvalue Final = assertionvalue &#xNAN;(&) = Absoluto VERDADERO &#xNAN;(|) = Absoluto FALSO
Por ejemplo:
(&(!(objectClass=Impresoras))(uid=s*))
(&(objectClass=user)(uid=*))
Puedes acceder a la base de datos, y esta puede contener información de muchos tipos diferentes.
OpenLDAP: Si llegan 2 filtros, solo ejecuta el primero. ADAM o Microsoft LDS: Con 2 filtros lanzan un error. SunOne Directory Server 5.0: Ejecuta ambos filtros.
Es muy importante enviar el filtro con la sintaxis correcta o se lanzará un error. Es mejor enviar solo 1 filtro.
El filtro debe comenzar con: &
o |
Ejemplo: (&(directory=val1)(folder=public))
(&(objectClass=VALUE1)(type=Epson*))
VALUE1 = *)(ObjectClass=*))(&(objectClass=void
Luego: (&(objectClass=
*)(ObjectClass=*))
será el primer filtro (el que se ejecuta).
LDAP soporta varios formatos para almacenar la contraseña: claro, md5, smd5, sh1, sha, crypt. Por lo tanto, podría ser que independientemente de lo que insertes dentro de la contraseña, esta sea hasheada.
Puedes forzar respuestas Falsas o Verdaderas para verificar si se devuelve algún dato y confirmar una posible Inyección LDAP Ciega:
Puedes iterar sobre las letras ascii, dígitos y símbolos:
Los objetos LDAP contienen por defecto varios atributos que podrían ser utilizados para guardar información. Puedes intentar forzar todos ellos para extraer esa información. Puedes encontrar una lista de atributos LDAP por defecto aquí.
Si estás interesado en una carrera de hacking y hackear lo inhackeable - ¡estamos contratando! (se requiere polaco fluido escrito y hablado).
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)