cloud power
Overview
En ocasiones tanto las tecnologías como los medios de que disponemos evolucionan ocasionando que las técnicas empleadas, para resolver distintas cuestiones evolucionen con ellos y a pesar de no ser disruptivos sí que pueden dejar obsoletos sistemas actuales.
En este ejemplo hablaremos de la vulneración de redes inalámbricas, pero la misma filosofía puede ser aplicada a otros casos.

Desde la aparición del WPA las formas más habituales que se emplean para auditar / romper la seguridad de las redes inalámbricas son los diccionarios y la fuerza bruta. Ambas dependen de nuestra capacidad de probar claves, cuanto más rápidos seamos probando claves, menor seá la seguridad que ofrece WPA (o sus derivados WPA2, WPA3) obligándonos a usar claves cada vez más largas y complejas.
Si quieres profundizar en la materia dejo el link en el post inseguridad wifi donde se profundiza con distintas técnicas.
En los próximos ejemplos veremos como el uso del cloud nos puede ayudar a ser eficientes en dicha tarea y nos obligará, posiblemente, a cambiar nuestras credenciales wifi ;).
hcxdumptool
Esta herramienta nos permite capturar el tráfico con nuestra tarjeta de red wifi, si esta tiene la posibilidad de trabajar en modo monitor, con un formato que facilitará posteriormente el trabajo a hashcat, herramienta que usaremos para romper las claves.
Esta herramienta suele estar instalada, por defecto, en distribuciones Linux para auditorias de seguridad como kali, parrot o blackarch aunque también la podemos instalar en nuestro sistema si así lo deseamos.
No entraremos en el detalle de los distintos paramentos de los comandos empleados para los ejemplos ya que el foco del post, está puesto en el uso del cloud y no en la técnica empleada en sí. Podéis profundizar sobre el tema en la página de hashcat.
Para ejecutarlo, simplemente ejecutaremos el siguiente comando para identificar nuestra tarjeta de red.
1 | sudo hcxdumptool –I |
Una vez identificada la pondremos en modo monitor, donde wlanXXXXXX es la interfaz de red que hemos obtenido anteriormente.
1 | sudo ip link set wlanXXXXXX down |
Podemos escanear las redes que nos rodean y obtener el BSSID de las mismas, que usaremos posteriormente para filtrar los resultados, con el siguiente comando.
1 | sudo hcxdumptool --do_rcascan -i wlanXXXXXX |

Crearemos un fichero llamado filter.list con los BSSID de las redes que queramos auditar. Un BSSID por línea. En nuestro ejemplo pondremos 0270ce71a9fc que es el BSSID correspondiente a la red de nuestro laboratorio.
Lo siguiente ya es capturar el tráfico de nuestra red objetivo. Con esta técnica se capturarán los paquetes necesarios para posteriormente poder poner a prueba su seguridad.
1 | sudo hcxdumptool -o capture_file.pcapng -i wlanXXXXXX --filtermode=2 --filterlist_ap=filter.list --active_beacon --enable_status=1 |

En pocos segundos obtendremos los datos criptográficos de la red, necesarios para obtener posteriormente su clave. Cuando veamos el nombre de nuestra red, o la que estemos auditando, ya podemos detener la captura para transformarla a un formato compatible con hashcat.
Tendremos que transformar el fichero obtenido con el siguiente comando para poder trabajar con él desde hashcat.
1 | hcxpcapngtool -o workfile.hc22000 -E essidlist capture_file.pcapng |

En este punto ya estamos listos para probar la robustez de las claves. Ejecutaramos hashcat para realizar un ataque de fuerza bruta sobre el fichero obtenido.
1 | hashcat -m 22000 workfile.hc22000 -a 3 ?d?d?d?d?d?d?d?d?d?d -w4 |

Según podemos observar en la imagen, para verificar una clave de 10 dígitos (únicamente números del 0 al 9) tardaríamos 1 día y tres horas en completar todas las posibilidades.
Si tuviéramos en cuenta que la probabilidad de que nuestra credencial no se encuentre en el primer 10% ni en el último 10% es de un 80% podríamos estimar que posiblemente tengamos que esperar unas 21,6 horas para obtener resultados … no es muy alentador.
power of cloud
En los últimos años el cloud nos ha proporcionado multitud de opciones para extender, complementar o remplazar la infraestructura que podamos disponer en nuestra casa u oficina. En esta ocasión dado que hashcat es muy bueno haciendo uso de la GPU, el procesador de las tarjetas gráficas y que, actualmente es posible contratar a pago por uso servidores con una o más tarjetas gráficas, podemos rehacer nuestros cálculos.
En esta ocasión he usado los servicios de linode, que me han permitido hacer uso de sus servicios cloud para las pruebas que os presentaré a continuación. Dejo como referencia también su política de uso, ya que no está permitido hacer uso de sus herramientas para delinquir, tenemos que disponer de permiso para romper las claves en caso de una auditoria o usar datos de laboratorio.
En el momento de escribir el post, estos son los planes de servidores con GPU dedicada, ofrecidos por linode, de los que hemos escogido el plan de 128 GB + 4 tarjetas gráficas nvidia RTX6000.

Veamos qué resultados obtenemos realizando exactamente la misma prueba de 10 dígitos.

En un tiempo de unos 46 minutos podríamos probar todas las combinaciones posibles, por lo que, realizando el cálculo anterior, en unos 36 minutos obtendríamos probablemente la clave, 21 horas vs 36 minutos y un coste aprox de 3€.
A continuación, otras comparativas que pueden ser de interés, porque no todas las claves se basan en claves numéricas.
Para claves hexadecimales, una de las más empleadas por los fabricantes a la hora de establecer las claves por defecto de los dispositivos WIFI.

Como podemos observar en la imagen anterior, ejecutando haschat para resolver claves hexadecimales de 8 caracteres tardaríamos unos 20 minutos con linode o unas 12 horas si lo ejecutamos en local.
Para finalizar la parte de los ejemplos comparativos, otro clásico sería el uso de diccionarios de claves conocidas. Rockyou es un recopilatorio de claves de uso común y muy empleado en los test de intrusión.

En este caso 1segundo vs 3 minutos.
En la tabla resumen se puede observar que con el uso de servicios cloud podemos ahorrar mucho tiempo en procesos que requieran de gran potencia de cálculo.
Número de caracteres | local | Linode |
---|---|---|
10 numéricos | 1 día 3 horas | 45 minutos |
8 hexadecimal | 11 horas 41 minutos | 19 minutos 46 segundos |
8 alfanuméricos | 68 años 33 días | 1 año 339 días |
rockyou | 2 minutos 43 segundos | 1 segundo |
server config
Para poder realizar los ejercicios anteriores en necesario que preparemos correctamente el servidor instalando hashcat, drivers de nvidia y cuda para que podamos combinar la potencia de las 4 tarjetas gráficas, para ello una vez iniciada sesión en el terminal ejecutaremos lo siguiente.:
apt update
apt install hashcat
apt update && sudo apt upgrade
apt install build-essential linux-headers-$(uname -r)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-ubuntu2204-12-0-local_12.0.1-525.85.12-1_amd64.deb
dpkg -i cuda-repo-ubuntu2204-12-0-local_12.0.1-525.85.12-1_amd64.deb
cp /var/cuda-repo-ubuntu2204-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
apt-get update
apt-get -y install cuda
reboot
Una vez el servidor esté reiniciado podemos subir mediante scp los ficheros de nuestras capturas y ejecutar hashcat.
recomiendo verificar la documentación antes de realizar la instalación ya que, la versión de los drivers puede cambiar y en este caso, para poder sacar el máximo partido de las tarjetas es importante instalar las últimas versiones.
Conclusiones
Cada vez es más asequible alquilar mayores recursos a un coste menor, por ello cada vez es más importante el uso de claves seguras, cuanto más largas y complejas mejor. Al disponer cada vez de una mayor potencia las claves irán perdiendo su efectividad.
En los ejemplos hemos usado la técnica de fuerza bruta, como se aprecia en el caso del uso de diccionarios, es posible rebajar los tiempos obtenidos.
Aplicar una seguridad por capas, no basar nuestra seguridad a un único elemento, puede ser una buena estrategia para proteger nuestros sistemas.
Hemos realizado el ejemplo con claves WIFI, pero este ejemplo se puede extrapolar a muchas otras técnicas en las que la potencia de cálculo sea una barrera a superar.
Hasta aquí el post de hoy. Espero haya sido de vuestro interés.
No dudéis en contactar mediante el formulario para hacerme llegar vuestros comentarios.