lunes, mayo 26, 2008

Ataques a LDAP (I de IV)

***************************************************************************************
Ataques a LDAP (I de IV)
Ataques a LDAP (II de IV)
Ataques a LDAP (III de IV)
Ataques a LDAP (IV de IV)
***************************************************************************************
0.- Introducción

El presente artículo muestra los vectores de ataque conocidos y documentados contra los sistemas que utilizan árboles LDAP. El objetivo es recoger las amenazas conocidas, cuáles son sus vectores de ataque y qué opciones existen para mitigar o evitar los riesgos.

1.- Vulnerabilidades en implementaciones LDAP

Los árboles LDAP han sido utilizados como arquitectura de Back-end en muchas organizaciones y los posibles ataques que se han descubierto, implementado o ejecutado siempre se han visto restringidos a entornos muy concretos. No obstante, la proliferación de los sistemas de directorio como repositorio central de información, apoyados en árboles LDAP, de los cuales son algunos ejemplos destacados las soluciones de Microsoft Active Directory, Novell Directory Services, ahora rebautizado a Novell e-Dyrectory, Red Hat Directory Server, Oracle Internet Directory o IBM Directory, por citar las soluciones más implantadas, han hecho que los árboles LDAP sean pieza fundamental en la seguridad del sistema y objetivo en muchos de los ataques.

Una posible consecuencia de este retardo sufrido hasta convertirse en objetivo de los ataques de seguridad es el poco número de vulnerabilidades de seguridad descubiertas en las implementaciones de comerciales de los árboles LDAP. Esto es una especulación formada en primera aproximación, pues podría ser también que el reducido número de fallos de seguridad descubiertos sea debido a la alta calidad del software de las implementaciones. No obstante, si examinamos las vulnerabilidades descubiertas en la historia de, por ejemplo OpenLDAP, una de las implementaciones más extendidas, podemos ver que una vulnerabilidad/característica que incide en la seguridad de forma tan importante, cómo que la contraseña va en texto plano en autenticaciones TLS, no se ha contemplado hasta Agosto del año 2006, es decir, 6 años después del descubrimiento de la primera vulnerabilidad que se hizo pública para ese producto. Este tipo de vulnerabilidades, que son de fácil descubrimiento ya que solo se requiere un análisis de la conexión, no hubieran tardado tanto tiempo en aparecer de ser objeto de estudio masivo por la comunidad de investigadores de seguridad. Mirando todas las vulnerabilidades descubiertas en OpenLDAP a lo largo de su historia sólo se contabilizan, a día de hoy, 15 expedientes de seguridad, según la base de datos de Security Focus.

Este comportamiento se repite a lo largo de todas las implementaciones comerciales, luego se puede concluir que, hasta el momento los árboles LDAP no han estado sometidos a un estricto escrutinio por parte de la comunidad investigadora.

2.- Ataques y contramedidas en sistemas LDAP

En este apartado se van a recoger todos los ataques conocidos a día de hoy en los entornos en los que se utiliza LDAP. Hay que notar que no se van a explicar los exploits o ataques dependientes de vulnerabilidades en código que pudieran permitir ejecución de comandos pues estos son fallos en la implementación del árbol LDAP y no del diseño, arquitectura, configuración y/o uso que se haga de la tecnología.

Los ataques que se van a describir, son los conocidos para el robo de credenciales y el acceso a los datos transmitidos por una parte y por otra parte las inyecciones de código en aplicaciones web para extraer información y acceder a datos no securizados en árboles LDAP.

2.1.- Ataque 1. Ataque de Replay. Autenticación doble en entornos Pre-Shared Key.

Para este ataque hemos de suponer un entorno en el que los clientes se estén autenticando contra el árbol LDAP utilizando SASL S/Key, es decir, todos los clientes conocen una clave compartida. El atacante busca utilizar a un cliente como generador de respuestas ante desafíos emitidos por el servidor para conseguir una conexión autenticada sin tener la clave compartida.

En este entorno un atacante consigue acceso mediante el uso de la Pre-Shared Key de un usuario legítimo del sistema. Esta explotación se realiza aprovechándose de herramientas para realizar ataques Man In The Middle en redes inseguras como Ettercap o Yersinia, por poner algún ejemplo. Esta técnica puede combinarse con el Ataque 2, que realiza un downgrade del sistema de autenticación negociado entre el cliente y el servidor, para conseguir que el método a utilizar sea el de Pre-Shared Key. El siguiente diagrama muestra el proceso esquemático de envió de mensajes en un proceso de autenticación doble.

Esquema de pasos en un ataque de doble autenticación.

En el entorno descrito en el diagrama, las conexión 2 y la conexión 3 son correctas. Las RFCs dónde se describe el protocolo SASL, es decir, las RFC 2222 utilizada aún por la mayoría de productos comerciales, y la RFC 4422, actual revisión del protocolo, avisan de este tipo de ataques por lo que no se recomienda utilizar este sistema de autenticación en redes en las que no se pueda garantizar la autenticación de los participantes en la comunicación.

El uso de entornos LDAP-s, dónde los participantes de la comunicación van autenticados con certificados digitales y las conexiones son cifradas con SSL, en dónde se produzca una correcta comprobación de certificados y el uso de comunicaciones basadas en el protocolo IPSec, siempre y cuando el protocolo IPSec no use Pre-Shared Key, evita la posibilidad de este tipo de ataques.

***************************************************************************************
Ataques a LDAP (I de IV)
Ataques a LDAP (II de IV)
Ataques a LDAP (III de IV)
Ataques a LDAP (IV de IV)
***************************************************************************************

1 comentario: