Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
Blog de la Escuela de Educación Secundaria Técnica N 8 de Quilmes
Administrador Prof. Claudio Enrique Alonso Alvite
img
13 de Julio, 2014    General

Explotar Heartbleed en redes WiFi con Cupido

Buenas de nuevo, ante todo pediros un perdón muy grande por este tiempo AFK (sobre todo a Vicente) pero me ha sido totalmente imposible mantener relación con el mundillo.

Para ir poniéndome al día y engrasando máquinas vamos a dar un repasillo práctico a uno de los fallos más escandalosos que ha habido en mi ausencia: Heartbleed.

Como ya mencionamos en el blog es posible dirigir un ataque hacia redes wifi (EAP TLS)...utilizando CUPIDO.

¿Qué es cupido?

Cupido es el nombre que Luis Grangeia, de SysValue, le dio a sus dos parches que se pueden aplicar a los programas "hostapd" y "wpa_supplicant" en Linux. Estos parches modifican el comportamiento de los programas para explotar el fallo de heartbleed en conexiones TLS que suceden en ciertos tipos de contraseñas protegidas en redes inalámbricas.

Como ya mencionamos, el ataque puede utilizarse de dos formas: atacar directamente a un Punto de Acceso (wpa_supplicant-cupid) o crear una red inalámbrica falsa a la espera de que se conecte un terminal vulnerable (hostapd-cupid).

En esta entrada veremos como aprovechar cupido sumado a nuestro cliente hostapd (attack vector 2).


¿Cómo funciona el ataque?

En palabras de Grangeia: "Básicamente es el mismo ataque que heartbleed, basado en un paquete heartbeat malicioso. Al igual que ocurre en el ataque original, las conexiones regulares TLS sobre TCP, tanto clientes como servidores pueden ser explotados y la memoria  puede ser leída en ambos extremos de la conexión.


La diferencia en este escenario es que la conexión TLS se está haciendo sobre EAP, que es un marco de autenticación / mecanismo utilizado en las redes inalámbricas. También se puede utilizar en otras situaciones, incluidas las redes de cable que utilizan 802.1x Autenticación de red y conexiones punto a punto (peer to peer).

EAP es sólo un marco que se utiliza en varios mecanismos de autenticación. Los que nos son interesantes en este contexto son: EAP-PEAP, EAP-TLS y EAP-TTLS, que son los que utilizan TLS.

Para explotar los clientes vulnerables, utilizaremos hostapd (con el parche de cupido) para configurar una red de tal manera que, cuando el cliente vulnerable intente conectarse y solicitar una conexión TLS, hostapd enviará solicitudes de heartbeat maliciosos, lo que provocará la vulnerabilidad."

Como mejor se ven las cosas es en la práctica

Lo primero que deberemos hacer sera bajarnos los paquetes fuente del hostapd. Para ello crearemos una carpeta que llamaremos heartbleed y descargaremos las fuentes desde http://w1.fi/releases/.
Nos bajaremos hostapd-2.1.tar.gz de paso y también nos bajaremos wpa-supplicant-0.2.1 (lo utilizaremos mas adelante).

También nos descargaremos este archivo y lo alojaremos en la misma carpeta https://github.com/lgrangeia/cupid/archive/master.zip

unzip cupid-master.zip
tar -xf hostapd-2.1.tar.gz
cp cupid-master/patch-hostapd hostap-2.1/
apt-get update && apt-get install firmware-ralink
apt-get install libnl-dev

Ahora parcheamos:


cd /heartbleed/hostap-2.1/
patch -p1 < patch-hostapd

Una vez parcheado procedemos a compilar con make. NO hagáis make install puesto nos lo instalará en el sistema y machacará la versión de hostapd, cosa que no nos interesa puesto que la versión parcheada sólo vale para lo que vale...

cd hostapd
make

El segundo paso sera configurar hostapd para que sea operativo. Para esto crearemos una carpeta que se llamara setup para guardar los certificados necesarios y las configuraciones.

cd /heartbleed
mkdir setup

Pasaremos los archivos de configuración de la carpeta testconfs a la carpeta setup y crearemos los certificados necesarios para la conexión tls:


cp /heartbleed/cupid-master/testconfs/*   /heartbleed/setup/

Luego nos situaremos en la carpeta setup y crearemos un directorio que es donde haremos los certificados:

cd /heartbleed/setup
mkdir certs
cd certs

A continuación crearemos la llave privada del server y será "importante" hacerlo con el hostname para evitar alguna que otra falla estúpida.

openssl genrsa -out "TU_hostnane".key 1024

Crearemos el CSR (Certificate Signing Request)

openssl req -new -key "TU_hostname".key -out "TU_hostname".csr

Creamos el certificado ssl

Para generar el certificado SSL vamos a necesitar tanto la llave privada como el CSR que acabamos de crear.
Para generar el certificado SSL debemos ejecutar el siguiente comando:

openssl x509 -req -days 365 -in server.csr -signkey "TU_hostname".key -out "TU_hostname".crt

Configuraremos heartbleed.conf

Ya estamos en disposición de configurar hostapd, para ello abrimos el archivo test_hostapd.conf (de la carpeta setup) y lo dejamos tal que así:


CAroot.crt es el certificado de mi Autoridad certificadora (prometo un tuto sobre el tema).. mientras tanto podéis echarle un ojo a esto Crear una CA

Copiamos el archivo resultante al directorio de hostapd

cp test_hostapd.conf  /heartbleed/hostapd-2.1/hostapd/ test_hostapd.conf
 
NOTAS INTERESANTES A RECORDAR EN ESTE ATAQUE  
No es necesario establecer plenamente una conexión TLS para realizar el ataque heartbleed. No hay claves reales y los certificados no deben ser intercambiados para tener éxito en el ataque.

Si no olvido nada ya podemos correr nuestro hostap-cupid:

./hostapd test_hostapd.conf 
 
En alguna ocasiones nos puede arrojar el siguiente error:

hostapd: random: Only 15/20 bytes of strong random data available from /dev/random
hostapd: random: Not enough entropy pool available for secure operationshostapd: WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects 

Lo podemos remediar fácilmente instalando haveget (HArdware  Volatile Entropy Gathering and Expansion), para así asegurar la carga entrópica.

Para seguir con esta prueba de concepto tan solo necesitamos un cliente vulnerable que se autentifique contra nuestro AP.

Para ello voy a utilizar un sistema Centos 6.5 sin parchear...
 
Podemos depurar los fallos de la conexión conectándonos manualmente con wpa_supplicant.

 
Como podemos ver resulta viable este tipo de ataque, aunque otra cosa es la efectividad de este... la mayor parte de la memoria se pone a cero, pero una inspección somera se encuentran cosas interesantes, y desde luego abre otro frente a la seguridad.

Algunas versiones de Android también sen ve afectadas por este fallo.



Fuentes:
  • código de cupido: https://github.com/lgrangeia/cupid/
  • hostapd y wpa_supplicant: http://hostap.epitest.fi/hostapd/
  • Acerca de EAP: http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol
  • SysValue: http://www.sysvalue.com
  •  http://www.slideshare.net/lgrangeia  
  •  http://w1.fi/wpa_supplicant/devel/code_structure.html
  • http://www.hackplayers.com/2014/07/explotar-heartbleed-en-redes-wifi-con-cupido-1.html
Palabras claves , , ,
publicado por alonsoclaudio a las 20:52 · Sin comentarios  ·  Recomendar
 
Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Enviar comentario

Nombre:

E-Mail (no será publicado):

Sitio Web (opcional):

Recordar mis datos.
Escriba el código que visualiza en la imagen Escriba el código [Regenerar]:
Formato de texto permitido: <b>Negrita</b>, <i>Cursiva</i>, <u>Subrayado</u>,
<li>· Lista</li>
CALENDARIO
Ver mes anterior Abril 2024 Ver mes siguiente
DOLUMAMIJUVISA
123456
78910111213
14151617181920
21222324252627
282930
BUSCADOR
Blog   Web
TÓPICOS
» General (2606)
NUBE DE TAGS  [?]
SECCIONES
» Inicio
ENLACES
MÁS LEÍDOS
» Analizando el LiveBox 2.1 de Orange
» Cómo espiar WhatsApp
» Cómo usar Metashield protector for Client y por qué utilizarlo
» Detectando tráfico de conexiones HTTP inversas de Meterpreter (Snort)
» Ejecución remota de código arbitrario en OpenSSH
» Ganar dinero con 1.200 Millones de identidades robadas
» Hardware y sus 4 Funcionamientos Basicos y Principales en una Computadora
» Redes de la Deep Web: CJDNS y la Red Hyperboria
» Unidad Central de Procesamiento CPU
» Wassap, la aplicación que permite usar WhatsApp desde la PC
SE COMENTA...
» Cómo espiar WhatsApp
595 Comentarios: Scott, Scott, Jarlinson mercy, [...] ...
» Qué hacer ante el robo de un teléfono móvil o una tableta
2 Comentarios: best buy security cameras swann, best buy security cameras swann
» Espiando usuarios gracias a la vulnerabilidad en cámaras TRENDnet
1 Comentario: Coin
» Recopilatorio de aplicaciones y sistemas vulnerables para practicar
2 Comentarios: vera rodrigez ...
» SoftPerfect WiFi Guard permite saber quién esta conectado a mi WiFi
2 Comentarios: firdous ...
SOBRE MÍ
FOTO

Prof. Claudio Enrique Alonso Alvite



» Ver perfil

AL MARGEN
Escuela de Educacion Secundaria Tecnica N 8 de Quilmes
(Técnicos en Informática Personal y Profesional)
FULLServices Network | Blogger | Privacidad