Introducción

En algunas ocasiones al momento de llevar a cabo una prueba de penetración interna, nos encontramos con que los equipos analizados se encuentran con sus correspondientes actualizaciones al día. Esto es porque la “seguridad de los sistemas” fue tomando poco a poco un alto lugar sobre las prioridades al momento de efectuar las tareas en una empresa. “Hoy queremos un sistema que funcione correctamente y que además sea seguro” afirman los altos mandos.

Si bien tener los equipos actualizados, tanto servidores como estaciones de trabajo, es un gran paso para protegerse de los atacantes, todavía se notan ciertas configuraciones débiles que permitirían a un atacante obtener credenciales de acceso y hashes de autenticación para ingresar en los sistemas de manera no autorizada. Entonces, ¿es posible que a pesar de tener las últimas actualizaciones instaladas en los equipos, un atacante pueda lograr el acceso sin explotar un 0 day? ¿Es posible que un atacante con acceso a la red interna pueda quedarse a la escucha de conexiones y obtener credenciales de acceso?

Pues sí, y en esta oportunidad hablaremos de ataques a configuraciones débiles que pueden realizarse sin que sea necesario efectuar un envenenamiento de las tablas ARP (generalmente usado para el ataque de hombre en el medio) y sin realizar un envenenamiento DNS (generalmente usado para phishing interno) cuando el atacante tiene acceso a la red interna.

.

Descripción de los ataques

El primer ataque que vamos a describir se denomina WPAD (Web proxy authentication discovery), que aprovecha un conjunto de configuraciones débiles y un error del usuario para obtener credenciales. Todos alguna vez hemos escrito mal una dirección Web, o el acceso a un recurso en la red interna; al hacerlo, la consulta al DNS fallará por lo que, si el navegador Web está configurado para “detectar la configuración automáticamente” (tal como se muestra en la figura a continuación):

David-Casares-fig-1

Ejemplo Internet Explorer

la consulta fallida tratará de resolverse a través de WINS (Windows Internet Name Service) y si no funciona, finalmente se emite un broadcast en la red para tratar de encontrar un host llamado WPAD al cual le solicitará el archivo WPAD.dat con los datos de configuración automática del proxy. Esto se realiza utilizando el protocolo LLMNR (Link-Local Multicast Name Resolution) a través de UDP puerto 5355 en sistemas Windows Vista en adelante o protocolo NetBios a través de UPD puerto 137 para versiones de Windows anteriores a Vista.

David-Casares-fig-2

Solicitud del host WPAD

Un atacante que esté a la escucha en la misma red, puede responder ante esta solicitud, y brindar a la víctima una ventana de autenticación similar a la que se muestra a continuación:

David-Casares-fig-3

Ventana de autenticación de Internet Explorer

El ataque lo realizamos utilizando una herramienta denominada “Responder” que fue creada por “Trustwave SpiderLabs” (https://www.trustwave.com).

David-Casares-fig-4

Al momento de enviar las credenciales, estas son capturadas por el atacante en texto plano y podrían utilizarse para acceder al equipo de la víctima.

David-Casares-fig-5

SMB Relay es otro tipo de ataque que podemos utilizar para tratar de ganar acceso a los equipos. En muchas redes existen sistemas automatizados que se conectan a todos los equipos para efectuar ciertas tareas como, por ejemplo, realizar un inventario del software instalado, actualizar antivirus, realizar respaldos, etcétera. Dichos sistemas para conectarse con los equipos necesitan proveer a estos últimos de las credenciales válidas para llevar a cabo la autenticación. Es por ello que un atacante podría quedar a la escucha esperando que algunos de estos sistemas automatizados establezcan una conexión con él (con su dirección IP interna). La autenticación se ejecuta utilizando NTLM (NT LAN Manager). NTLM es un protocolo de desafío/respuesta y el proceso de autenticación es el siguiente:

David Casares Fig. 6

1.- Soy “admin” quiero autenticarme.

2.- Si usted realmente es “admin”, cifre (desafío x) con el hash de su clave.

3.- Se envía el (desafío x) cifrado.

4.- Se proporciona el acceso/Se deniega el acceso.

La arquitectura que se posee cuando se realiza el ataque será similar a la imagen a continuación:

David Casares Fig. 7

Es importante destacar que no es necesario realizar envenenamiento de tablas ARP o envenenamiento DNS. En este caso tendríamos que esperar que el sistema automatizado opere una conexión con el equipo del atacante. Los pasos que se dan son los siguientes:

1.- El sistema automatizado envía un mensaje de autenticación contra el equipo del atacante.

1a.- El atacante pasa el mensaje de autenticación al equipo víctima.

2.- El equipo víctima envía al atacante un (desafío x) para que sea cifrado con el hash de la clave del sistema automatizado.

2a.- El atacante reenvía el desafío al sistema automatizado.

3.- El sistema automatizado devuelve el desafío cifrado al atacante.

3a.- El atacante pasa el desafío al equipo víctima.

4.- El equipo víctima proporciona acceso al atacante.

4a.- El atacante retorna un mensaje de acceso denegado al sistema automatizado. Para llevar a cabo el ataque de manera práctica, en este ejemplo utilizaremos una herramienta denominada “Smbrelayx” que fue desarrollada por Core Security http://www.coresecurity.com

David-Casares-fig-8

El ataque SMB Relay permite al atacante grabar la autenticación cuando el sistema automatizado intenta conectarse a su equipo, lo que se graba es el hash SMB, que será reutilizado para establecer conexión con un equipo víctima, para luego subir al mismo un archivo “meterpreter.exe” que establecerá una conexión remota con el equipo del atacante.

.

Posibles soluciones

En el caso del ataque WPAD una de las soluciones sería configurar el browser para NO “detectar automáticamente la configuración”. Así mismo es recomendable deshabilitar el protocolo LLMNR y NetBios en caso de que sus usos no sean estrictamente necesarios.

Con lo que respecta al ataque SMB Relay, lo recomendable sería firmar el tráfico SMB.

[email protected]