24 de julio de 2008

Hacking Wireless (II)

(Continua...)

Acelerando el proceso

¿Cansado de esperar? Bueno incluso en esto WEP es vulnerable, es posible acelerar el proceso, el Listado 2 muestra como hacerlo. ¿Por qué? WEP es vulnerable también a los ataques de repetición. Aunque la cabecera de la trama MAC contiene un campo de nº de secuencia, no va protegido con la clave por lo que se puede manipular fácilmente. Usando una MAC cualquiera (como la de 2) ) y siempre y cuando el filtrado MAC esté deshabilitado (sino siempre podremos cambiar nuestra MAC) podemos “inyectar” paquetes a nuestra red, acelerando el tráfico con, por ejemplo, tramas antiguas. Si abrimos un nueva consola en paralelo a la del listado 1, utilizando 1) inyectaremos paquetes cuando hay más clientes conectados, en 2) lo hacemos cuando estemos nosotros solos, de ahí que pongamos una MAC aleatoria.

WPA, ¿Solución o más de lo mismo?

Wifi Protected Area es la evolución ante la decepción que supuso WEP. Entre los requisitos que se exigían al nuevo mecanismo de cifrado estaba el que el hardware de WEP fuera válido para WPA. Por lo que los algoritmos son muy parecidos, WPA también usa RC4 y vectores de inicialización, pero con sutiles diferencias:

  • Cifrado: Basado en TKIP (Temporal Key Integrity Protocol), que consiste en la generación de una clave WEP dinámica diferente por cada trama transmitida por cada cliente asociado al punto de acceso (PA).
  • Integridad de datos: Se sustituye el IVC (recordemos Figura 1) por el Message Integrity Check (MIC). El MIC está basado en un algoritmo de Hash unidireccional que no es susceptible a ataques Bit-Flipping como si lo es CRC-32-
  • Autenticación: Provee el esquema de autenticación mutua IEEE 802.1x / Extensible Authentication Protocol (EAP) o clave pre-compartida (PSK), más común en el ámbito doméstico.

En principio parece que hemos solucionado los problemas de WEP, tenemos un nuevo método de cálculo de la secuencia de integridad en la trama. Evitamos los ataques de repetición y añadimos una nueva función que refresca las claves de cifrado y autenticación para combinar las claves, cifrando cada trama con claves diferentes. Pues bien, el Listado 3 rompe WAP-PSK en 4 pasos.

WPA-PSK usa una clave de acceso de una longitud entre 8 y 63 caracteres, que es la clave compartida. Al igual que ocurría con WEP, esta clave hay que introducirla en cada una de las estaciones y puntos de acceso de la red inalámbrica. Cualquier estación que se identifique con esta contraseña, tiene acceso a la red.

La principal debilidad de WPA-PSK es la clave compartida entre estaciones. Cuando un sistema basa su seguridad en un contraseña siempre es susceptible de sufrir un ataque de fuera bruta, es decir ir comprobando contraseñas, aunque dada la longitud de la contraseña y si está bien elegida no debería plantear mayores problemas. Pero si nos fijamos bien en el funcionamiento de WAP, hay un momento de debilidad cuando la estación establece el diálogo de autenticación. Este diálogo va cifrado con las claves compartidas, y si se entienden entonces se garantiza el acceso y se inicia el uso de claves dinámicas. La debilidad consiste en que conocemos el contenido del paquete de autenticación y conocemos su valor cifrado. Ahora lo que queda es, mediante un proceso de ataque de diccionario o de fuerza bruta, intentar determinar la contraseña.

Las líneas 1-3 del Listado 3 hacen precisamente eso, aprovechar el momento de debilidad, nos quedamos preparados para escuchar todo lo que pase por nuestra red (1 y 2), en ese momento realizamos un ataque tipo 0 (desautenticación de clientes) a uno de sus usuarios, este se desconecta, se vuelve a conectar y capturamos el handshake.

Ya tenemos todo lo necesario, con nuestro handshake en un fichero ya podemos realizar ataques por fuerza bruta durante el tiempo que queramos. Aquí viene el pero, necesitaremos de un buen diccionario (fichero de texto plano con palabras) para ello, sino es posible que estéis durante 36 horas (como yo) atacando sin obtener resultados. Ahora bien, no todo iba a ser fácil, existen numerosos diccionarios disponibles en la red, solo es necesario bajar uno en nuestro propio lenguaje que incluso podremos ir ampliando según recopilemos palabras.

Conclusiones

A día de hoy las redes inalámbricas no son infalibles, comparadas con las cableadas son mucho más susceptibles de ataques de denegación de servicio, un ataque 0, irradiación de ondas para limitar o distorsionar la señal es posible sin muchos conocimientos técnicos. Por tanto una corporación no puede depender de estos servicios por muy bien que quede de cara a un cliente en la presentación de un proyecto. Las redes wifi en el ámbito profesional deben ser un apoyo, nunca debe existir dependencia sino veremos como nuestros servicios se caen una y otra vez. En el ámbito doméstico, un cifrado WPA con una buena clave, unido a algunos de los consejos que los lectores de hakin9 pudimos ver en el artículo de Eduardo Tabacman (nº 30 de la revista) nos permitirá disfrutar de una Wifi lo suficientemente segura para que no nos quiten el sueño (aunque conviene recordar que la seguridad 100% no existe, toda medida tiene su contramedida).

Figura 4: AUDITOR-CD de Remote Exploit

En cuanto a las herramientas utilizadas, estas vienen disponibles en cualquier distribución LiveCd del mercado, Troppix, Knoppix o el AUDITOR CD (Figura 4) que es mi preferido. Otras herramientas de las que no he hablado, y que serán un buen apoyo ante ESSID ocultos, redes de las que se desconoce su estándar de cifrado etc. es Kismet, también sencilla de usar, aunque la mayor parte de los casos, no nos será necesaria. Espero que hayan disfrutado de este artículo, Feliz Conexión.

(Y aqui finaliza el articulo, espero en un futuro hacer uno específico de Seguridad Wireless, con todo lo que ello conlleva, mientras tanto...¡Estoy de vacaciones!)

Salu2

0 comentarios: