Si has leído las publicaciones anteriores sobre el funcionamiento del ataque por fragmentación y el ataque Caffe Latte, no se tendrán mayores problemas en comprender este tipo de ataque, ya que en realidad, el ataque Hirte, es simplemente una combinación de ambas técnicas con el fin de crackear una clave WEP con una tasa de éxito mucho mayor que usando de forma aislada los ataques de fragmentación y de Caffe Latte. El mecanismo es sencillo, en primer lugar se crea un Fake AP cuyo objetivo son clientes aislados (o incluso clientes en el área del AP). Se trata de un ataque pasivo, ya que una vez se inicia el Fake AP, este espera a que el cliente envíe un paquete ARP o paquete IP (del mismo modo que lo hace el ataque de Caffe Latte) y posteriormente, dicho paquete es convertido a un paquete ARP Request para el mismo cliente de forma tal, que la dirección IP contenida en el paquete capturado es relocalizada en el header del paquete ARP que se esta creando, usando para ello, el ataque de fragmentación indicado en la publicación anterior a esta, de esa forma el nuevo paquete ARP contendrá en su campo de Header la dirección IP del paquete original, este paquete ha sido reconstruido utilizando fragmentación y parches del ICV tal como se ha indicado en la publicación anterior. Posteriormente, una vez construido dicho paquete en función a cada uno de los fragmentos generados, se procede a dirigir dicho paquete hacia el cliente, dado que en el header del paquete ARP se encuentra la dirección IP de dicho cliente, cuando este llegue a su destino, el cliente responderá informando que efectivamente la dirección IP indicada corresponde a su máquina y la respuesta será simplemente un paquete ARP Response. Ahora bien, el procedimiento de enviar el paquete ARP request generado al cliente y posteriormente recibir respuestas por parte de él, se repite de forma continua hasta que el atacante considera que ha podido recolectar suficientes paquetes como para intentar crackear la clave WEP.

Como se puede apreciar, este ataque no es novedoso en si mismo, ya que aprovecha algunas de las técnicas de ataque existentes (en concreto Caffe Latte y Fragmentación) y posteriormente el proceso de retransmitir de forma constante el paquete ARP Request a un cliente, es algo que se realiza muy frecuentemente en ataques contra redes con cifrado WEP. A continuación se intentará explicar como puede llevarse a cabo este ataque utilizando aircrack-ng

Utilizando Aircrack-ng para ejecutar el Hirte Attack

Existen dos formas que pueden llevar a la consecución de este objetivo utilizando aircrack-ng, por un lado puede usarse la utilidad airbase-ng para iniciar un FakeAp con el ataque Hirte activado y por otro lado puede usarse la utilidad aireplay-ng para llevar a cabo todo el proceso incluyendo la fragmentación del paquete ARP request.

Para comenzar, se utilizará el comando airbase-ng para la creación de un FakeAP con el Hirte Attack habilitado, para ello es necesario utilizar la opción “-N” desde linea de comandos con el fin de indicarle a la herramienta que no solamente inicie un FakeAP, sino que también ponga en marcha el ataque pasivo utilizando la técnica Hirte.

>airbase-ng -c 4 –essid WLANXXXX -W 1 mon0 -N

23:54:26 Created tap interface at0

23:54:26 Trying to set MTU on at0 to 1500

23:54:26 Trying to set MTU on mon0 to 1800

23:54:26 Access Point with BSSID 4D:1F:2E:29:1F:16 started.

Con las lineas anteriores, el ataque Hirte se encuentra preparado y listo para recibir conexiones de clientes. En el caso de que un cliente ya se encuentre conectado con un AP, el SSID del FakeAP, será el mismo que del AP real (tal como se ha indicado en entradas anteriores) y además de esto, se puede llevar a cabo un ataque de de-autenticacion con el fin de obligar al cliente a asociarse a nuestro FakeAP.

>aireplay-ng –deauth 0 -a 00:26:4D:8D:54:94 mon0

Donde la opción “-a” corresponde al BSSID del AP real, con la linea anterior, al no especificar un cliente concreto, el ataque de deautenticación se llevará cabo en todos los clientes conectados en la red. Una vez que el cliente se ve obligado a asociarse con el FakeAP, se podrá apreciar en la consola un mensaje similar al siguiente:

00:01:15 Client 40:D3:2D:E8:FC:E8 associated (WEP) to ESSID: «WLAND54741»

00:01:15 Starting Hirte attack against 40:D3:2D:E8:FC:E8 at 100 pps.

00:01:16 Starting Hirte attack against 40:D3:2D:E8:FC:E8 at 100 pps.

00:01:26 Starting Hirte attack against 40:D3:2D:E8:FC:E8 at 100 pps.

En este preciso momento, el ataque toma forma y comienza a ejecutarse contra el cliente recién autenticado. Desde otra consola, se debe de iniciar la captura de todos los paquetes que genera el ataque Hirte con el fin de posteriormente, poder crackear la clave WEP.

>airodump-ng mon0 –channel 4 –write HirteAttack

En la consola de airodump-ng se podrá apreciar el numero de paquetes de datos crece rapidamente, esto significa que se esta llevando a cabo el ataque y que el cliente esta respondiendo a los paquetes ARP enviados.

Durante el ataque, puede iniciarse wireshark para realizar la captura de los paquetes que se están intercambiando entre el cliente y el AP falso, desde allí podrá verse que cada paquete contiene los campos anteriormente indicados que marcan el paquete como un fragmento de un paquete más grande (técnica de fragmentación), solamente se verán dos fragmentos, dado que esta técnica utiliza solamente dos fragmentos para componer el paquete entero que se desea enviar al cliente.

Ahora bien, este ataque también puede llevarse a cabo utilizando “aireplay-ng” con la opción “–cfrag” la que permitirá llevar a cabo un ataque Hirte de forma pasiva, capturando paquetes y filtrando aquellos que sean del tipo ARP o IP, en el caso de que alguno de estos tipos de paquetes sea capturado, automáticamente se enseña un mensaje preguntando si se desea utilizar dicho paquete para llevar a cabo el ataque, enseñando un mecanismo similar al ataque “chopchop” que se ha explicado en una publicación anterior.