Lo hice y lo entendí

El blog de Vicente Navarro
03 feb

¿Aún sigues con encriptación WEP para tu WiFi?

Hace tiempo que tenía ganas de probar personalmente si era tan fácil como dicen entrar en una red WiFi encriptada con WEP (Breaking 40-bit WEP in less than 30 seconds?, What else do you need not to use WEP anymore?, To WEP or not to WEP. That is the question!), pero no ha sido hasta hace unos días que me he puesto manos a la obra con este tema.

Para quien no lo sepa, WEP (Wired Equivalent Privacy) es un algoritmo de encriptación para redes WiFi que ha demostrado ser extremadamente débil. Para solucionarlo se creó otro sistema, el WPA, y posteriormente, el aún más robusto WPA2. A la mayoría de lectores del blog sí que les serán muy conocidas las siglas WEP, WPA y WPA2 de cuando configuran su red WiFi doméstica, tanto en el router, como en el ordenador, aunque para usar WPA2 en Windows XP es necesario instalar la actualización KB917021, incluida en el SP3.

En el estado actual de las cosas, la clave de una red WiFi encriptada con una clave WEP de 104 bits se puede recuperar fácilmente consiguiendo capturar entre unos 40000 y 90000 paquetes que contengan vectores de inicialización débiles (aircrack-ptw). Además, con las técnicas adecuadas, es muy fácil conseguir que un AP (Access Point) mande todos esos paquetes a gran velocidad, siendo posible conseguirlos en cuestión de minutos.

En cambio, la clave de una red WiFi encriptada con WPA sólo puede ser recuperada por fuerza bruta, de forma que si la clave es suficientemente compleja, la potencia computacional necesaria puede ser simplemente inalcanzable hoy en día, incluso usando la tecnología CUDA de NVidia para ayudar a romper WPA.

Por lo que había leído, yo pensaba que para conseguir romper WEP sería necesaria mucha paciencia, condiciones muy óptimas y, sobre todo, un gran conocimiento de las herramientas necesarias. Sin embargo, he visto que, aunque todo ello es parcialmente necesario, al final, es posible llegar a comprometer una red WEP en menos de una hora sin prácticamente conocimientos previos y siguiendo los diferentes tutoriales de la suite de herramientas aircrack-ng. Para que esto sea posible, es necesario:

  • Que estemos razonablemente cerca del AP que queremos atacar. Es posible que nosotros veamos los paquetes del AP, pero que nuestros paquetes no puedan llegar al AP debido a que, normalmente, nuestra tarjeta WiFi emitirá a menor potencia de la que usa el AP, en cuyo caso el AP ni se enterará de que existimos.

  • Usar Linux. Definitivamente, Windows no está hecho para estos menesteres: Aircrack-ng Suite under Windows for Dummies

  • Que los drivers de nuestra tarjeta de red (bien sea tarjeta independiente, dispositivo USB o chip integrado) para Linux permitan usar las herramientas aireplay-ng y airodump-ng. En ciertos casos, puede ser necesario parchear y recompilar el driver oficial para añadir este soporte: Tabla de compatibilidad de los drivers con las utilidades de aircrack-ng. En tales casos, puede venirnos bien usar una distribución especializada para este fin y que ya traiga todos los drivers debidamente parcheados, como por ejemplo WifiWay, un LiveCD creado usando LFS por la gente de www.seguridadwireless.net.

Si cumplimos todos los requisitos, podemos comenzar a probar los ataques. El diagrama de flujo de:

nos muestra claramente qué ataque es el más indicado según las circunstancias:

Simple WEP Crack

Aunque probablemente el más sencillo es el de reinyección de paquetes ARP, muy detalladamente descrito en:

Otros ataques implementados por la herramienta aireplay-ng son:

Y otros tutoriales interesantes son:

Tras las pruebas he podido comprobar que comprometer una red WEP con autentificación abierta es realmente fácil siempre que estemos suficientemente cerca del AP al que se quiere atacar.

Si la autentificación de la red WEP es compartida, deberemos usar otro ataque:

y si la red usa WPA y nos atrevemos a probar con la fuerza bruta, seguiremos esta guía:

De hecho, según he comprobado, es incluso muchísimo más sencillo conseguir los paquetes del authentication handshake necesarios para comenzar con el ataque por fuerza bruta de WPA que conseguir los miles de vectores de inicialización necesarios para el ataque estadístico a WEP. Pero claro, el ataque a WEP siempre funciona si hay suficientes paquetes, y el ataque a WPA fallará en la inmensa mayoría de los casos en los que la clave tenga una complejidad razonable.

Poniéndonos al otro lado, no al del atacante, sino al del atacado, para detectar posibles intrusiones, Kismet puede sernos de gran utilidad.

Tanto aircrack-ng como kismet tienen paquetes en Debian y en Ubuntu.

Conclusiones

Si hago un rápido (10 minutos) airodump-ng de todos los canales desde mi casa (desde la que ya he comentado alguna vez que se ven muchísimas redes WiFI: Los canales Wi-Fi en la banda de 2.4GHz (802.11b/g), ¿Cómo hacer cables de red?), el panorama es éste (he modificado los ESSIDs y BSSIDs):

 CH  4 ][ Elapsed: 10 mins ][ 2009-02-03 21:59

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:17:9A:XX:XX:XX   10     1408        3    0   6  54 . WEP  WEP         marta
 00:80:5A:XX:XX:XX    8      729        6    0   6  54 . WPA  TKIP   PSK  pedro
 00:1B:11:XX:XX:XX    7      654        2    0   6  54 . WPA  TKIP   PSK  linus_torvalds
 00:02:CF:XX:XX:XX    8      582        0    0   9  54 . WEP  WEP         WLAN_1C
 00:1A:2B:XX:XX:XX    7      545        5    0   3  54   WEP  WEP         WLAN_24
 00:14:A5:XX:XX:XX    7      646        0    0   1  54   WEP  WEP         terminator
 00:16:38:XX:XX:XX    6      335        0    0   3  54   WEP  WEP         WLAN_A7
 00:01:38:XX:XX:XX    7      323       16    0   3  54 . WEP  WEP         WLAN_D4
 00:80:5A:XX:XX:XX    6      456       36    0  11  54   WEP  WEP         Milenarios
 00:18:39:XX:XX:XX    3      264       18    0   1  54   OPN              ROJO
 00:16:B6:XX:XX:XX    4      348       20    0   6  54   WPA  TKIP   PSK  JUANAN
 00:14:BF:XX:XX:XX    3      171        1    0  11  54e  WPA  TKIP   PSK  linksys
 00:17:9A:XX:XX:XX    3       26        0    0   6  54 . WEP  WEP         DLINK_WIRELESS
 00:1E:8C:XX:XX:XX    3       27        0    0   9  54   WEP  WEP         lamiaesmaslarga
 00:01:38:XX:XX:XX    1       65        0    0   6  54 . WEP  WEP         WLAN_77
 00:18:39:XX:XX:XX    2       20        0    0  11  54   WPA  TKIP   PSK  Tom
 00:1A:2B:XX:XX:XX    3      261        0    0   9  54   WEP  WEP         WLAN_32
 00:1A:92:XX:XX:XX    2      139        2    0   1  54   WPA  TKIP   PSK  Acebo
 00:18:39:XX:XX:XX   -1        0      437    3  11  -1   WEP  WEP         
 00:22:15:XX:XX:XX   -1        0      181    0   1  -1   OPN              
 00:1A:92:XX:XX:XX   -1        0      189    0   1  -1   OPN              Richard
 00:02:CF:XX:XX:XX    2       39        3    0   9  54 . WEP  WEP         WLAN_11
 00:11:E3:XX:XX:XX    0        2        3    0   6  54   WEP  WEP         JUAN MARIA
 00:1A:2B:XX:XX:XX   -1        0       11    0  10  -1   WEP  WEP         
 00:21:29:XX:XX:XX    3        5        2    0   6  54   WPA2 CCMP   PSK  
 00:1D:7E:XX:XX:XX    2       11        0    0  11  54 . WPA2 CCMP   PSK  pepi
 00:1F:C6:XX:XX:XX   -1        0       44    0  11  -1   OPN              
 00:23:54:XX:XX:XX    2        6        6    0   5  54   WEP  WEP         ANA
 00:14:BF:XX:XX:XX    3        6        0    0  11  54   OPN              linksys

Contemos: 29 redes WiFi a la vista, 5 redes sin encriptación, 16 redes encriptadas con WEP, 6 redes encriptadas con WPA/TKIP y 2 redes WPA2/AES.

Ya se ha dicho muchas veces, pero a la vista de lo que ocurre en la vida real, parece que no suficientemente: se sigue usando aún mayoritariamente WEP… ¡Deja ya de usar WEP! No es trivial comprometer una red WEP pero si yo, leyendo algunos tutoriales consigo hacerlo en un rato, ¡cualquiera puede hacerlo! ¡cualquiera puede entrar en tu red!

Y el que alguien entre en tu red no es sólo un problema de que use tu ancho de banda, es que a tu “visitante” le resultará extraordinariamente fácil ver todo lo que haces en Internet: tus correos electrónicos, tus conversaciones por mensajería instantánea, las webs que visitas, etc. Afortunadamente, al menos, muchas de las webs sensibles van siempre encriptadas con SSL .

Sin embargo, si usar WEP es como tener en casa una cerradura absolutamente enclenque, tener la red sin ninguna encriptación es directamente como dejar la puerta de casa abierta de par en par. ¿Acaso se te ocurriría hacer algo así? En cierta forma, se podría excusar a sus propietarios pensando que seguro que no tienen los más mínimos conocimientos para entender el problema de seguridad que tienen.

Por tanto, la conclusión inequívoca es: Usa WPA y, si puede ser, WPA2; con una clave con cierta complejidad (suficientemente larga, con mayúsculas, minúsculas, números) y que no sea una palabra de diccionario (How long does a WPA key need to be?). Y por supuesto, además, si los sistemas que se van a conectar a la red son siempre los mismos, no dejes de usar filtrado por MAC.

Por otra parte, sobre WPA, hay que tener en cuenta que a WPA con TKIP también se le han descubierto vulnerabilidades que podrían ser explotadas para un ataque similar al del WEP:

aunque no sé cuánto de fácil podría ser usar este ataque en un entorno real. Ante la duda, es mejor usar WPA con AES o WPA2.

:wq

Entradas relacionadas

25 Comentarios a “¿Aún sigues con encriptación WEP para tu WiFi?”

  • Raist dice:

    Muy interesante el post . De momento no uso wifi , pero pronto espero tener un portatil , con el cual le dare uso , así que se agradece el articulo . Un saludo !

  • piponazo dice:

    Magnífica entrada, sobre todo por la cantidad de enlaces que dejas para ampliar información. A ver si le echo un vistazo e intento aventurarme en este tema.

    Saludos!

  • Iván dice:

    Muy interesante y con gran cantidad de enlaces para que podamos probar y cacharrear nosotros. Una gran labor de investigación y recopilación. Gracias!.

    Yo en mi caso utilizo WPA y filtrado por MAC y de momento no he tenido problemas (o al menos eso creo). Lo más gracioso de la gente que usa WEP es que cuando les preguntas que porqué no han configurado WPA dicen algo como: “Si total, da igual, quien va a querer entrar en mi red?”, o “pero si es muy complicado romper la clave”, o incluso “ya hay que estar aburrido y tener tiempo libre para hacer eso…”.

    En fin, que gracias por el artículo.

    Saludos, Iván.

  • @Raist, @piponazo ¡Gracias! :-)

    @Iván Me alegro de que te haya parecido interesante. Coincido totalmente con lo que comentas. Aunque la encriptación WEP no es como una red abierta, que puedes entrar inmediatamente, en mis pruebas he quedado muy sorprendido de lo fácil que puede resultar obtener la clave.

    Por cierto, gracias por recordarme lo del filtrado de MAC, quería comentarlo y se me había olvidado. Ya lo he añadido en el último párrafo ;-)

    Yo uso una encriptación todavía mejor, cableé la casa y apagué el WiFi para siempre :D

  • bagu dice:

    Lo siguiente es un tutorial sobre “Usar WPA con Linux”, ¿no? :D
    En casa con Debian (y XP) uso WPA2 con encriptado AES (aunque en el router tuve que usar la opción que mezcla AES/TKIP por compatibilidad con otras máquinas :-/ ), y lo que más me sorprendió fue lo fácil que resultó instalar y configurar una interfaz WiFi ya funcionando para usar este cifrado en Debian, que no en Windows XP. Un par de líneas en unos archivos y ¡voila!

    Y estoy de acuerdo con los demás: muy buena la entrada, sobre todo por la colección de enlaces

  • @bagu ¡Gracias! Sí, justo, ya lo había pensado, no sé si llegará al final ;-)

    Por cierto, parece que la entrada la han enviado a Menéame pero no ha llegado el trackback, así que dejo aquí el enlace por si alguien quiere seguir los comentarios de allí:

    Menéame: ¿Aún sigues con encriptación WEP para tu WiFi?

  • farve dice:

    Hola!
    si la mayoria de la gente usa WEB es porque usan el router de telefonica que es ‘regalado’ y solo tiene por opcion eso, WEB.

    Ademas de que no saben ni que existe algo llamado encriptacion, ya sea WEB, WPA, o lo que sea.
    Saludos.

  • wep dice:

    Las claves WEP por defecto que traen bastantes routers son incluso más fáciles de sacar. Usan un patrón predefinido con la inicial del fabricante, la MAC y poco más.
    Por poner un ejemplo, las WLAN_xx con la contraseña por defecto, con 4 paquetes y el ataque de diccionario se saca en menos de un minuto.

    Un saludo.

  • Alberto dice:

    Vamos por partes:

    Es realmente sencillo como tu dices, yo sin conocimientos de Linux aprendí en dos días, de esto hace un Año.

    De todas las redes que he intentando piratear, solo un par llevan WPA2, el resto usan WEP, lo que una vez arrancada la distribución linux desde el CD (yo uso wifislax), si hay trafico e inyectando se tarda unos 10 minutos. Si no hay trafico, el cliente no esta utilizando su conexión, olvidate es insufrible.

    Por lo que veo en el momento de tu captura, creo que solo podrías piratear una red, las otras dos con datos (#Data) estaban abiertas. O te has movido mucho por casa para pillar muchas redes o realmente no podrías pillar la clave de la mayoría. Me decanto por la primera opción ya que tu PWR es nulo en algunas.

    Lo de la MAC, es una tontería hay programas que te enmascaran tu MAC, así que solo tendrías que esperar a que tu víctima se desconectara y adoptar su mac, acceder a roouter 192.168.1.1 (user:admin password:admin, casi nadie cambia la clave de fabrica) y cambiar el filtro mac . Hay programas que te dicen que mac se conecta a cada dispositivo. Recomendación cambiar clave del router!!!!!
    Y si quereis saber que Macs se conectan a mirar en las opciones del router ahí vienen todos los dispositivos conectados recientemente. Para saber tu ip y tu mac (ipconfig /all en la consola msdos)

    Yo en mi casa he dejado WEP, ya que pienso que si alguien es capaz de dedicar cierto tiempo a leerse lo tutoriales en ingles e instalar linux, se lo merece, digamos que es como la fonera para piratillas.

    Lo de interceptar el trafico, mira eso ya lo veo arena de otro costal, eso si me parece ilícito e inmoral. Te contaré un caso que supongo ya no se de tanto, hace un par de años muchas empresas empezaron a poner redes wifi en su oficinas, te sorprenderías la cantidad de oficinas con redes abiertas que había. Lo cual ya me parece más grave.

    PD: a mis “víctimas” le actualizo el firmware del router periódicamente, les pongo el canal adecuado (ojo con poner canales distintos del 10 o 11 no se pilla bien la señal, la teoría de que interfieren las señales y tal no va, la mayoría de los routers están diseñados para trabajar óptimamente en estos canales) yo lo veo como las rémoras, simbiosis.

    PD: me ha pasado alguna vez perder la conexión con mi proveedor y poder seguir trabajando con internet debido a esta habilidades.

  • danitool dice:

    Uso bastante las redes wifi, y lo que veo es un poco de confusión en cuanto el objetivo de encriptar una wifi. Lo de que alguien entre en una red crakeando wep y coja el internet “de gratis”, es lo de menos casi diría un detalle insignificante al menos si no nos ralentiza de forma que lo notemos en exceso. Lo importante son los datos que enviamos sin cifrar, como contraseñas cuentas y demás, si alguien nos captura eso entonces sí que deberíamos preocuparnos. Veo que la mayoría que encripta principalmente es porque no le cojan el interné…

    Aunque, tal vez la mejor solución sería un túnel encriptado sin necesidad siquiera de poner clave wep/wpa, o mejor aún una wpa2 con túnel. De todas formas para la mayoría que ni siquiera se preocupan de la seguridad en su propio pc, todo esto resulta bastante absurdo. Y en conclusión desde el momento que ves a los usuarios que no tienen seguridad en su pc… de ahí en adelante todo es muy normal… y no me parece extraño que se siga usando wep.

  • Sagman dice:

    Muy buen artículo SuperCoco :D . Yo hace tiempo que sabia de los graves problemas que tiene usar WEP. De hecho una vez me puse con aircrack usando el driver madwifi para Atheros en BackTrack3 y me fue muy facil descubrir mi propia clave WEP, encriptacion que puse en ese momento para hacer el test. No tarde ni 15 minutos en hacerlo. Luego volvi a WPA :)

  • @farve, @wep, @Alberto, @danitool, @Sagman ¡Muchas gracias por vuestros interesantes comentarios!

  • Jvare dice:

    Como siempre muy completa la información. Yo en mi router tengo clave WPA, pero además del filtrado por Mac, tengo limitado el número de asignaciones por DHCP a los pc que se conectan y cuando no los uso el router está apagado para ahorrar energía.

  • Debianero dice:

    Estupendo tutorial pero, por favor, cambia “encriptado” por “cifrado” que no solo es el término correcto sino que además es mas acorde con la política Debian de traducción (http://www.debian.org/international/spanish/notas) ;)

    • Gracias por la puntualización.

      Soy consciente de la diferencia, ya que a menudo se debate en Barrapunto sobre ello. Además, algunos amables lectores me habían advertido ya por e-mail. Sin embargo, “cifrar” me suena excesivamente forzado y en realidad, yo (y mucha otra gente) uso en mi lenguaje coloquiar “encriptar”. Por ello, cuando empecé a escribir esta entrada, me decidía a hacerlo con el término que me gusta, “encriptar” de forma totalmente intencionada.

      Lo siento mucho por aquellos a los que os suene mal ;-)

  • Rod dice:

    Buen trabajo, me parece bien todo salvo lo de cifrar todas las redes al menos con WPA. Me explico, en mi caso no tengo nada importante en el pc y no me importa que me “espien”(dudo q alguien se moleste), generalmente dejo la wifi abierta, solo la cifro cuando necesito usarla en exclusiva. Ademas si veo q alguien abusa de la conexión, lo meto en la lista negra unos dias :).

  • maty dice:

    Ay, ay… Tras avisarme mi querido lector GreatNews RSS Reader de que el sumario llevaba 30 días sin actualizar, lo reviso y ha cambiado a: http://feeds2.feedburner.com/LoHiceYLoEntendi.

    Seguro que habrá otros despistados…

  • maty dice:

    Se me pasó: en castellano/español el término correcto es CIFRADO, puesto que no hay cadáver alguno.

  • @maty Gracias por tus comentarios y por la referencia a cómo crear contraseñas seguras. Lo leí hace unos días por RSS y me pareció muy interesanta.

    Respecto al feed, debe de ser porque tu lector de RSS no soporta redirecciones, porque la URL oficial del feed (http://www.vicente-navarro.com/blog/feed/) redirige correctamente a http://feed.vicente-navarro.com/LoHiceYLoEntendi y después a http://feeds2.feedburner.com/LoHiceYLoEntendi. De hecho http://feeds.feedburner.com/LoHiceYLoEntendi también redirige a http://feeds2.feedburner.com/LoHiceYLoEntendi:

    $ wget http://www.vicente-navarro.com/blog/feed/
    --2009-02-22 12:21:25--  http://www.vicente-navarro.com/blog/feed/
    Resolving www.vicente-navarro.com... 87.106.205.39
    Connecting to www.vicente-navarro.com|87.106.205.39|:80... connected.
    HTTP request sent, awaiting response... 302 Temporary Redirect
    Location: http://feed.vicente-navarro.com/LoHiceYLoEntendi [following]
    --2009-02-22 12:21:27--  http://feed.vicente-navarro.com/LoHiceYLoEntendi
    Resolving feed.vicente-navarro.com... 66.150.96.119, 66.150.96.118
    Connecting to feed.vicente-navarro.com|66.150.96.119|:80... connected.
    HTTP request sent, awaiting response... 302 Moved Temporarily
    Location: http://feeds2.feedburner.com/LoHiceYLoEntendi [following]
    --2009-02-22 12:21:27--  http://feeds2.feedburner.com/LoHiceYLoEntendi
    Resolving feeds2.feedburner.com... 74.125.77.118
    Connecting to feeds2.feedburner.com|74.125.77.118|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/xml]
    Saving to: `LoHiceYLoEntendi'
    
        [  < =>                                                      ] 65,099       205K/s   in 0.3s
    
    2009-02-22 12:21:28 (205 KB/s) - `LoHiceYLoEntendi' saved [65099]

    El cambio de feed a feed2 ocurrió hace unos días cuando convertí la cuenta de feedburner.com a google.feedburner.com (era obligatorio moverse). En Segundo aniversario del blog hablo un poco de todo esto.

    Respecto al término cifrado, como le comentaba a Debianero y a otros que me lo han comentado por e-mail, me temo que aunque conozco bien la diferencia, no me acabo de acostumbrar al término cifrado y, a pesar de que trato de ser respetuoso con la gramática y la ortografía del Castellano, en este caso he decidido usar la palabra que uso para pensar en estas cosas: encriptar. Sinceramente lo siento por aquellos a los que os pueda sonar mal, pero si yo no uso en mi cabeza la palabra cifrar, me temo que mi blog tampoco lo hará.

    Una discusión parecida hay, si no me equivoco, con las libraries de Windows y UNIX. Los puristas del lenguaje dicen que la traducción correcta es biblioteca, pero me temo que yo siempre les llamaré librerías: Biblioteca (Programación).

  • maty dice:

    Lo soporta, pero en la configuración tengo marcado que mantenga el enlace original en vez del de Feedburner. Era interesante cuando las reseñas nauscópicas, y poner el enlace correcto a la página. Acabo de desmarcarla.

    Yo suelo distinguir en cifrado y cifrado fuerte. El primero lo reservo habitualmente para el cifrado débil (caso del WEP).

    No es una discusión parecida, puesto que biblioteca y librería son términos reconocidos en el DRAE, no así encriptar.

    DRAE encriptar

    Aviso

    La palabra encriptar no está en el Diccionario.

  • anton dice:

    Hola :
    Curioso me llegan 1 abierta ,que podia entrar y ahora no llegan paquetes
    y tiene buena señal
    .-otra con wep que me dice wep? no llega 1 solo paquete(40% señal)
    .-otra en mismo canal llega ok
    ????
    Estoy con d-link g520
    y leo con airodump

  • filex dice:

    Algo adicional, para agregar mas seguridad sería usar una VPN, como lo hace el software hotspot Shield ( http://www.hotspotshield.com/ ), nunca esta de mas.

    Desde luego no reemplaza la seguridad, pero hagan caso del artículo que esta muy bueno y usen WPA2 con AES. ;)

Trackbacks y pingbacks:

Tema LHYLE09, creado por Vicente Navarro