CARGANDO

Escribe para buscar

WPAD spoofing mediante NBT-NS / LLMNR

Disclamer: Todas las pruebas, ejemplos, códigos y/o explicaciones que aquí se exponen tienen un ámbito didáctico. Se rechaza cualquier actividad ilícita generada por lo expuesto en este escrito.

Spoofing mediante WPAD

Como sabemos, las técnicas de spoofing o suplantación de identidad consisten en un tipo de engaño a una víctima haciendose pasar por un servicio legítimo. Estos tipos de ataques puede darse por muchas vías con mayor o menor enfasis en el apartado técnico y/o la ingeniería social.

En esta entrada vamos a tratar una técnica que no suele tratarse mucho pero suele ser muy efectiva en ciertos tipos de ataques o pruebas de penetración. Se trata de la utilización del protocolo WPAD que es usado para la “autoconfiguración” de un proxy de navegación, con la combinación de los protocolos NBNS y LLMNR, de los que hablaremos ahora.

NBT-NS y LLMNR

Estos dos protocolos (con un nombre tan fácil de recordar…), son usados esencialmente para la resolución de nombres en red. Básicamente la función es igual que nuestro querido DNS.

¿Qué los hace especiales? Son dos protocolos que vienen activados por defecto en Windows y no son sustitutos del DNS, si no complementarios. Si una consulta DNS falla por alguna razón, mediante estos protocolos mandan una consulta broadcast a su red local preguntando a todos los hosts. El comportamiento por defecto es el siguiente:

  • DNS
  • LLMNR
  • NBT-NS

Dado que estas peticiones son enviadas a toda la red y no tienen autenticación, es posible realizar un envenenamiento (poisoning) para, por ejemplo, realizar un relay de NTLM.

WPAD

A priori, WPAD no tiene mucha relación con los protocolos anteriores. Este es utilizado para la configuración automática de un proxy en el equipo y así su salida a Internet. Por resumirlo brevemente, el concepto es muy parecido al PAC file de configuración.

Si es cierto que tiene una particularidad, este protocolo “busca” en la red el archivo de configuración del proxy. Y para ello se puede apoyar en estas vías:

  • DHCP. Mediante la configuración de la opción 252
  • DNS. Buscando una entrada “wpad”
  • LLMNR y NBT-NS. Si el servidor DNS falla

Empezando el ataque

Una vez tenemos los ingredientes se puede empezar a cocinar. En este caso lo que se realizará es un envenenamiento de los protocolos LLMNR y NBT-NS para escuchar todo aquello que pase por la red. Seguidamente, se montará un proxy de red mediante WPAD autenticado para tratar de recibir credenciales en texto plano. Esto lo realizaremos mediante Responder.

Esta aplicación es muy sencilla de utilizar y simplemente con la ejecución de la siguiente instrucción tenemos los módulos funcionando (LLMNR y NBT-NS entre otros).

# responder -I eth1

Con la ejecución anterior tendremos el envenenamiento de LLMNR y NBT-NS. De esta forma, si una posible víctima tratara de acceder a un recursos compartido por ejemplo, obtendríamos la respuesta:

La anterior imagen muestra una respuesta NTLMv2 con la que se puede trabajar, pero es algo mas complejo que el método de esta entrada. De esta forma, lo que se realizará es montar un servidor WPAD que responda este tipo de peticiones en la red.

Mediante Responder ejecutamos lo siguiente:

# responder -I eth1 -wFb

Esta ejecución va a envenenar con LLMNR y NBT-NS como antes, pero además va a levantar el servidor WPAD.

Aunque pueda parecer lioso es algo muy sencillo, muchas aplicaciones como los navegadores web, utilizan el protocolo wpad para conseguir un archivo de conexión proxy. Como en nuestra red no hay ninguno legítimo lo mas seguro es que una llamada DNS falle y sean los protocolos envenenados los que resuelvan. Y estos resolverán a nuestro servidor WAPD.

De esta forma, al abrir un navegador desde la máquina víctima podemos obtener algo como lo siguiente:

Si en este punto un usuario introduce su usuario y contraseña, este será captura en texto plano por el equipo atacante.

Protección

Protegerse de este tipo de ataques es relativamente fácil. Normalmente los protocolos LLMNR y NBT-NS no son utilizados y, desde mi punto de vista, es una carencia de seguridad en si misma. Por lo tanto, perfectamente pueden ser deshabilitados sin perder funcionalidades. Esto se puede hacer sencillamente desde el editor de políticas (gpedit.msc):

Configuración del equipo > Plantillas administrativas > Red > Cliente DNS > Desactivar resolución de nombres de multidifusión

Para deshabilitar NBT-NS tenemos que dirigirnos a cada una de las tarjetas de red que utilicemos (normalmente solo una) y dirigirnos a,

Botón derecho, propiedades > Protocolo de Internet versión 4 (TCP/IPv4) > Propiedades > Opciones avanzadas… > WINS > Configuración de NetBIOS

En este punto seleccionar “Deshabilitar NetBIOS a través de TCP/IP“.

Igualmente se puede deshabilitar WPAD, aunque si que es cierto que puede tener mas uso sobre todo en organizaciones, en tareas domesticas puede resultar en algo sin sentido. Para deshabilitarlo, nos dirigimos a las opciones de proxy y desmarcamos la opción “Detectar la configuración automáticamente” (Windows 10).

Ah, hola 👋
Un placer conocerte.

Veo que te gusta la tecnología, ¿quieres que te mandemos una newsletter semanal?.

Acepto la política de privacidad *

¡No enviamos spam!. yo también lo odio a muerte!.

Tags:

Deja un Comentario

Your email address will not be published. Required fields are marked *