jueves, noviembre 22, 2012

6.317 bugs de LDAP Injection (y alguno más)

Ayer, en el Curso Online de Auditoría y Seguridad Web, me tocó impartir la sesión destinada a (Blind) LDAP Injection y (Blind) XPath injection. En esa sesión utilicé las mismas diapositivas que tanto me costó cerrar para mi primera charla de Black Hat en la que hablamos de eso mismo (Blind) LDAP Injection Attacks in Web Applications.


En una de las últimas diapositivas [en la número 48 exactamente] aparece la referencia a una sección de código de un proyecto que, en los tiempos en los que estuve preparando todo el trabajo sobre los ataques LDAP Injection, usé como ejemplo en muchas charlas, pero que nunca publiqué en ningún sitio.

El fallo es un bug de LDAP Injection en LABE (LDAP Address Book Editor), un proyecto que añade una libreta de direcciones web a tu árbol LDAP, es decir, te permite tener contactos en tu Active Directory como si fuera una web con un listín de teléfonos y basta con echar un vistazo al código para ver que en las consultas de búsqueda no se está filtrando ninguno de los valores que vienen por POST para realizar consultas.

Figura 1: LABE (Ldap Address Book Editor)

En su momento descargamos este software, lo instalamos e hicimos pruebas de LDAP Injection sobre Active Directory, pero es que se puede ver a la legua que es inyectable, sin necesidad de dejarse los ojos analizando.

Figura 2: El bug de LDAP Injection en el código fuente

Hoy he ido a revisar si habían solucionado el bug y he visto que no, así que, cuando me he fijado en  que ya había más de 6.000 descargas he pensado que ya era hora de avisarles para que lo arreglaran y les he puesto un mensaje de aviso para que lo solucionen.

Figura 3: Descargas de LABE a lo largo del tiempo

Lo curioso es que desde que se publicó el paper de LDAP Injection y Blind LDAP Injection he dicho en todas las charlas que basta con ir a los repositorios de código y buscar filtros LDAP - casi como si fueras un analizador de código estático usando Google que a mi me encanta el hacking con buscadores - y darse cuenta para ver que hay una gran cantidad de proyectos con bugs LDAP Injection activos.

Figura 4: Proyectos en Google Code con ldap_filters

Mientras que escribo este post, y aprovechando un poco de desvelo nocturno, he buscado algunos bugs más de LDAP Injection y hay aún para dar y tomar. Ya os publicaré más adelante alguno más, explicado en detalle. Pero si te aburres puedes ponerte a ello ya mismo.

Saludos Malignos!

2 comentarios:

AnilloRbl dijo...

Sin mencionar ese segundo "&" que comentamos también. Todo programador tiene días espesos alguna vez XD.

Unknown dijo...

Mirá que justamente estoy leyendo toda la info que puedo sobre LDAP Injection para mejorar en ese ámbito y poder hacer las pruebas en mi trabajo (sí, analista, QC, tester, como guste).
Sos un grande Chema, gracias por brindar la información tan libremente y tan fácil de entender.

Entradas populares