¿Qué es el DNS?
Por sus siglas en inglés DNS, Domain Name System, es un sistema en internet que funciona como directorio. Cuando intentas acceder a alguna página, digamos google.com, lo que sucede por abajo del agua es que la computadora va y pregunta la dirección IP en la que se encuentra el servicio de google.com, ir a consultar dicha dirección. La cual en mi caso es 172.217.9.14.
¿Qué es el DNS Spoofing?
Tambien conocido como DNS Poisoning. Es un tipo de ataque que se aprovecha de las vulnerabilidades de DNS. Con la configuración correcta, quizá un ataque de man-in-the-middle de por medio, es posible personificar servicios conocidos. Puedes direccionar a tu víctima a un servidor de DNS del que tu tengas control, y podrías modificar las direcciones IP de los dominios que consulte.
WiFi Pineapple: DNS Spoofing
Antes que nada es necesario terminar la configuración del WiFi Pineapple. En éste blog doy una breve introducción al WiFi Pineapple y explico cómo setearlo.
Lo siguiente es tener un sitio de pruebas fake. Como demostración, voy a utilizar el paquete de http.server de python 3 para levantar una paqueña página.
Creamos un archivo llamdo index.html en un directorio nuevo con el contenido:
<head> <\head> <body> <h1>Fake Page</h1> <p>WiFi Pineapple rocks!</p> <\body>
Con la terminal en dicho directorio. Ejecutamos el servidor con python3:
python3 -m http.server 8080
Con ésto deberíamos poder ver nuestra página si utilizamos nuestro navegador para ir a la dirección http://localhost:8080/
Consultamos nuestra IP y le guardamos para utilizarla en los siguientes pasos. Tambien podemos acceder a nuestra página a tráves de ella.
Ingresamos a la interface web del WiFi Pineapple. Por suerte para nosotros, ya hay software desarrollado para el Pineapple para todo tipo de ataques. El DNS Spoofing no es una excepción, hay un módulo en específico con bastante poder con el nombre de DNSMasq Spoof.
Lo primer es instalarlo. Bajo la pestaña Modules, podemos ver los módulos que hay disponibles. Por el momento nos interesa DNSMasq Spoof, lo seleccionamos.
Y lo instalamos dando clic a Install to internal storage.
Podemos confirmar que ya esta disponible para uso en la lista de nuestros modulos:
Una ves tenemos DNSspoof instalado. Solo queda instalar sus dependencias. Es un proceso muy sencillo que require un par de clics.
Podría tardar un par de segundos. Esperamos a que termine y que esté listo para usarse.
En la sección de Hosts dentro de la configuración del modulo. Podemos configurar los sitios a las que queremos personificar. Poniendo la dirección IP fake, seguida de los distintos dominios a personificar. El módulo ejecuta por abajo su propio servidor DNS y lo utiliza para los clientes conectados al Pineapple.
Recordemos la dirección IP de nuestra computadora que tiene el servidor fake corriendo. La utilizaremos para redireccionar el tráfica de la página que queremos personificar hacia nosotros. En éste caso http://www.bank.com
Iniciamos el programa dando clic a Start.
Podemos ver el DNS spoofer funcionando. En primera instancia podemos probar con el comando nslookup. En pocas palabras hace una busqueda del dominio que reciba como input.
Y podemos ver que para el dominio http://www.bank.com nos manda a la dirección 172.16.42.122 que si no mal recuerdan es la dirección de mi servidor corriendo.
El navegador también piensa que estamos accediendo a http://www.bank.com cuando en realidad se ve página fake que levantamos.
Es claro darse cuenta que no los certificados de seguridad no se muestran. Un usuario con las precauciones adecuadas, podría darse cuenta que algo anda mal.