comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

LDAP Injection (Lightweight Directory Access Protocol)

  • 1 Respuestas
  • 1961 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado M5f3r0

  • *
  • Underc0der
  • Mensajes: 44
  • Actividad:
    0%
  • Reputación 0
  • Leer la firma.
    • Ver Perfil
  • Skype: m5f3r0
« en: Noviembre 01, 2013, 02:16:57 pm »

LDAP

Las siglás de "LDAP" hacen referencia a "Lightweight Directory Access Protocol" o en español "Protocolo Ligero de Acceso a Directorios", es un protocolo de acceso ligero a directorios en el cual hay almacenado un conjunto de información de una red especifica. Existen distintas versiones de LDAP, por ejemplo, en Windows existe "Active Directory", es un servicio de directorio perteneciente a Microsoft, es decir, es como un protocolo de LDAP compatible con Windows, también existe Apache directory service, supongo que muchos ya deben conocer Apache. En LDAP se ejecutan querys/consulta, es un poco parecido a SQL.

Inyección LDAP

Entonces, con la definición de LDAP ya tenemos nuestras deducciones sobre que es la Inyección "LDAP" , La inyección LDAP básicamente es una técnica con la cúal "alteramos" los datos de validación de entrada que ejecutamos al procesar una acción, es casi parecida a la Inyección SQL pero está usa filtros, por ejemplo, Tenemos un formulario HTML con el cual vamos a hacer una búsqueda de texto en un sitio web; procesamos los datos de entrada y nos da como resultado si se encontró algún texto que este relacionado con lo ingresado. Podemos alterar la consulta que se ejecuta en el protocolo LDAP de manera que nos devuelva como por ejemplo la credencial de X usuario de una cédula de identidad. De la siguiente manera:

Escenario

Formulario HTML:

Código: HTML5
  1. Búscar: <input type="text" name="user" />
  2. <input type="submit" value="Buscar" />
  3. </form>

Más o menos ese sería el formulario, entonces, cuando ejecutamos esto se ejecuta una query de parte de LDAP procesando los datos, de la siguiente manera:

Procesamiento:

Código: Text
  1. string user = Request.Querystring("user")
  2. String ldapSearchQuery = "(cn=" + user +")";

Allí, Con Request.Querystring("user") estamos requiriendo en la query la cadena de la entrada "user", es decir, del input user, en la otra línea estamos haciendo una BUSQUEDA de un string/cadena, y hacemos entre los parentesis un filtro con el cúal usamos el atributo "cn" (nombre común o Common Name), entonces, esto sería igual a una concatenación de los datos enviados en el input.

Entonces, si un atacante ejecuta lo siguiente en el formulario:

"m5f3r0)(|(email=*)"

Básicamente ya tenemos una idea de lo que hace, esto nos retornara el email del usuario "m5f3r0"

Allí, los filtros serían lo que va entre parentesis (), también estamos haciendo uso del operador lógico OR | , existen otros dos como AND & y NOT ! .

Podemos notar en la consulta del procesamiento que usamos "string" y "String" ambos significan el llamado de una cadena.

Hemos logrado alterar la consulta como si fuese una ejecución remota, entonces, mediante la validación de entrada hemos retornado un valor "privado" de un usuario.

Operadores lógicos:

AND: &
OR: |
NOT: !


Para hacer uso de los operadores lógicos, iniciamos con un paréntesis () (filtro). y entre el paréntesis colocamos el operador , luego iniciamos con otro paréntesis con el atributo y su respectivo valor.

(&(atributo=resultado))

Y si colocamos otro atributo simplemente luego de eso abrimos otro parentesis. De está misma forma, podemos usar otros operadores.

Creación de consultas

Para la creación de consultas debemos tener conocimientos básicos acerca de como funcionan algunos filtros de LDAP, operadores, uso de atributos, etc. Para ello, existe mucha documentación en línea que con leerla les garantizo que ya sabrán crear sus propias consultas. Aquí les dejo algunos sitios para aprender mucho más:

http://wiki.bizagi.com/es/index.php?title=Atributos_LDAP
http://www.elladodelmal.com/2007/10/ldap-injection-blind-ldap-injection.html

Bueno, eso ha sido todo, espero les haya gustado el tema aunque fuese poco con poca documentación, actualmente estoy estudiando más está técnica ya que es un POCO complicada, a pesar de la poca información que existe en la red. Tal vez haga más post con más información completa acerca de esto mismo.

- Créditos:

- M5f3r0: Por el post y las explicaciones acerca de la Inyección LDAP.
- Elladodelmal: Por el post acerca de la inyección LDAP, fue mi guía de referencia y allí es dónde estoy estudiando más acerca de está técnica.
- e-securing.com: Otra guía de referencia, y la query/consulta de búsqueda de una cadena/string me la hice en base al planteamiento dado allí.

- Referencias:

http://es.wikipedia.org/wiki/LDAP
http://www.e-securing.com/novedad.aspx?id=59
http://www.elladodelmal.com/2007/10/ldap-injection-blind-ldap-injection.html

Saludos, M5f3r0!
A veces, observo mi pasado y me arrepiento en la actualidad de todo lo que llegue a perder y olvidar por como me veía la sociedad, nunca dejes que las opiniones de los demás te lleguen a afectar moralmente hasta el punto en que dejes de hacer lo que más te apasiona, saludos! (msj escrito en el 2016)

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5409
  • Actividad:
    20%
  • Reputación 33
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #1 en: Noviembre 01, 2013, 02:19:28 pm »
Muy muy bueno bro!
Justamente andaba con algo similar!


 

¿Te gustó el post? COMPARTILO!



vBulletin 5.0.0 Beta 11 - 5.0.0 Beta 28 - SQL Injection

Iniciado por morodog

Respuestas: 1
Vistas: 1913
Último mensaje Junio 09, 2013, 12:05:31 pm
por ANTRAX
SQL Injection - Joomla módulo "com_fireboard"

Iniciado por M5f3r0

Respuestas: 0
Vistas: 1814
Último mensaje Agosto 16, 2013, 01:43:18 am
por M5f3r0
[Curso] SQL Injection desde 0 - Union based y Blind Boolean Based.

Iniciado por M5f3r0

Respuestas: 8
Vistas: 9133
Último mensaje Abril 21, 2017, 04:36:34 am
por M5f3r0
Mysql injection avanzada: "doble query/error based"

Iniciado por q3rv0

Respuestas: 2
Vistas: 2588
Último mensaje Agosto 30, 2012, 04:26:01 am
por andrewtwo
HTML injection (Ataque y Defensa) [Practico] By 2Fac3R

Iniciado por 2Fac3R

Respuestas: 2
Vistas: 2091
Último mensaje Diciembre 28, 2012, 03:03:19 am
por 2Fac3R