martes, mayo 27, 2008

Ataques a LDAP (II 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)
***************************************************************************************
2.2. - Ataque 2: Downgrading de Autenticación

Uno de los mecanismos soportados por el protocolo GSSAPI es el intercambio de credenciales en texto claro (Plain Text). Este sistema de autenticación solo debe utilizarse en entornos muy seguros o como única medida de compatibilidad entre el Cliente y el Servidor.

De acuerdo con el mecanismo de negociación de descrito por el protocolo SASL, cuando se va a producir una autenticación, con anterioridad tiene lugar una negociación entre el Cliente y el Servidor para que estos elijan el método SASL a utilizar. Si utilizan GSSAPI, entonces se intercambian los mecanismos que soportan, entre los que puede estar el sistema de Plain Text.

Un atacante en medio puede realizar un ataque de downgrading y, aunque el Cliente y el Servidor soporten mecanismos más robustos, hacer que se configure como mecanismo de autenticación el envío de credenciales en Plain Text. La forma de hacerlo es enviar al Cliente, como mecanismos de autenticación GSSAPI que son soportados por el Servidor, únicamente el de Plain Text. Esto haría que el cliente sólo tuviera como opción el mecanismo Plain Text.

Este ataque, reconocido en la RFC 4422, ha sido implementado por la herramienta Cain&Abel, en su versión 4.9.6, que fue liberada de forma pública el 29 de Julio de 2007.

Para la implementación de este ataque se ha configurado un escenario con un árbol LDAP de Microsoft utilizado por el Directorio Activo. Para ello se ha montado un dominio llamado Informatica64.hol, al que se realizará una conexión mediante una aplicación estándar de consulta LDAP. La herramienta utilizada es LDAP Browser en su versión 2.6 que está disponible públicamente en la web.

Como herramienta para la realización del ataque de “Man In The Middle”, se utilizará Cain&Abel 4.9.6, que cuenta con la posibilidad de realizar Sniffing de sesiones LDAP y que servirá para recuperar la contraseña de autentificación que se use contra el servicio LDAP. Para ello durante el proceso de autenticación del Cliente contra el Servidor LDAP, se interceptará todo el proceso de autentificación del usuario y tendrá lugar un downgrading del protocolo para conseguir que el envío de credenciales se haga en Plain Text. En este ejemplo, el objetivo es el robo de credenciales del usuario “Administrator”.

Con objeto de realizar el proceso de autentificación LDAP, se configura la herramienta LDAP Browser, con la conexión al árbol LDAP del controlador de dominio y utilizamos las credenciales de autentificación del usuario correspondiente, en este caso del usuario LDAP, en formato de Nombre Distinguido (DN).

Usuarios creados en el Directorio Activo

Configuración conexión cliente LDAP para acceder al árbol y poder realizar consultas

Dentro de la conexión es obligatorio identificarse con las credenciales de uno de los usuarios del árbol LDAP. Esta es la parte dónde se realiza la configuración de credenciales

Una vez realizada la configuración del Cliente y proporcionado las credenciales se procede a la conexión con el servidor LDAP y, tal y como se refleja en la figura siguiente, se obtiene como resultado el acceso al servicio de directorio, pudiendo acceder a todos los objetos para los que el usuario en cuestión tenga permiso de acceso.

Un vez la conexión está establecida al árbol LDAP se puede acceder a todos los objetos a los que el usuario utilizado en la conexión tenga acceso

Una vez que se ha comprobado que la conexión se ha realizado correctamente vamos a simular el proceso que el atacante puede realizar para conseguir la interceptación y el sniffing de esta sesión LDAP mediante el ataque de downgrading.

Utilizando Cain&Abel se realiza un ataque de hombre en medio. En esta fase se está realizando la configuración ARP-Poisoning, mecanismo que hará creer al cliente que la dirección del servidor está asociada a la MAC del atacante y viceversa, es decir, hará creer al servidor que la IP del cliente está asociada a la MAC del atacante. Esto le permite al atacante ponerse en medio de la comunicación

Para este entorno se utiliza ARP-Poisoning como técnica para realizar el ataque Man In The Middle. Lo primero que se debe realizar es el envenenamiento de la dirección física de las dos máquinas que intervienen en el proceso (Cliente y Servidor LDAP) para conseguir que el tráfico entre ambos pase por la máquina del atacante.

Como se puede apreciar, para que este ataque tenga éxito, el atacante debe estar situado en la misma red del Cliente o del Servidor para poder modificar las direcciones físicas de la comunicación.

Una vez puesta en marcha la sesión de Snifing, la herramienta espera a que se produzca la negociación SASL. En el momento que se detecta esa negociación se fuerza el uso de GSSAPI con Plain Text, para conseguir obtener las credenciales enviadas. En este caso, la autentificación interceptada, es la del usuario ‘Administrator’, que ha utilizado como contraseña la palabra ‘admin’.

Una vez se está produciendo el ataque de Man In The Middle, procedemos a realizar un nuevo proceso de autenticación contra el árbol LDAP utilizando las credenciales del usuario Administrador

Y como se puede ver, sin necesidad de realizar ningún proceso de cracking, se puede obtener la contraseña del administrador en texto claro.

La herramienta Cain&Abel intercepta la comunicación realiza el ataque de downgrading y accede a las credenciales LDAP del usuario Administrador

Un curioso mecanismo es descrito en la RFC 4422 para detectar un ataque de “Downgrading”, aunque no para evitar su realización. En la RFC se describe como medida adicional de seguridad a realizar una comprobación, una vez establecida la conexión con el árbol LDAP, de la lista de algoritmos de autenticación soportados. Si en la lista se encuentra alguno más robusto que el que se ha utilizado, esto es debido a que algún atacante ha modificado la negociación y por tanto debe cerrarse la conexión y comenzar un proceso de recuperación ante incidentes mediante el bloqueo de cuentas, la puesta en comunicación con el administrador del sitio o el cambio de credenciales.

La lista de los sistemas de autenticación soportados se describe en el atributo SupportedSASLMechanisms del objeto raíz del árbol LDAP permitiendo que el administrador, como medida de seguridad, elimine los algoritmos que pueden suponer un riesgo de seguridad en el entorno de trabajo. Así, en un ataque de downgrading el usuario no se podría conectar y se generaría una alerta de seguridad además de poder comprobarse si se ha sido víctima de un ataque de downgrading.

Configuración de mecanismos de autenticación en árbol LDAP

Las contramedidas, al igual que en el Ataque 1, consisten en evitar en este entorno la principal vulnerabilidad y lo que posibilita el ataque de downgrading, es decir, que se pueda producir un ataque de hombre en medio. Para evitarlo, la implantación de un sistema LDAP-s con comprobación segura de certificados digitales y el uso de sistemas IPSec, sin Pre-Shared Key, evitaría que se produjera este ataque.

***************************************************************************************
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:

  1. La poca importancia que le doy a este ataque es para que se produzca tienes que tener un MITM, osea, ya estás muy jodido.

    Si el protocolo no fuera susceptible a este ataque, se podría snifar el tráfico y enterarse de muchas cosas, de todas formas y no sólo tráfico LDAP.

    ResponderEliminar