Bug Bluetooth D.O.S. en un mòbil Sharp GX25

Després de que ahir em publicaren la traducció al castellà de jugant amb bluetooth II a la web de Bluehack, m’he animat una altra vegada amb el Bluetooth, després de passar-me el matí llegint sobre com les coses han avançat en pocs mesos (que han avançat bastant) en una casualitat de la vida, he descobert una vulnerabilitat Dos (de denegació de servei) del mòbil Sharp GX25 al ser-li enviat un paquet de ping mooolt gran per Bluetooth. ;)

Més concretament, el atac es paregut al famós “ping de la mort” aquella vulnerabilitat que tenien els molts sistemes antics en la qual si s’enviava un paquet “echo” molt gran podia provocar la penjada del sistema, això fa molt de temps que està resolt.. però qui ho anava a pensar, la història es repeteix..

Estava navegant en una web sobre bluetooth quan he vist un exemple on apareixia l2ping, al vore que era una ferramenta per a fer pings, he pensat que podria comprovar si el ping pujava conforme s’allunyava el telèfon… he fet alguns pings perà he volgut provar si el telèfon es tornaria lent al fer-li pings pesats ja que un telèfon com aquest com podeu comprovar no té una gran capacitat i normalment tenen característiques molt limitades..

Primer he fet un hcitool scan per a veure la adreça hexadecimal del telèfon..

vicent@ferrervicent:~$ hcitool scan

Scanning …

08:00:1F:85:4F:A1 GX25.D

Acte seguit he dirigit el l2ping cap a la adreça del telèfon:

vicent@ferrervicent:~$ sudo l2ping 08:00:1F:85:4F:A1

Ping: 08:00:1F:85:4F:A1 from 00:70:5A:46:21:67 (data size 44) …

0 bytes from 08:00:1F:85:4F:A1 id 0 time 128.62ms

0 bytes from 08:00:1F:85:4F:A1 id 1 time 51.11ms

0 bytes from 08:00:1F:85:4F:A1 id 2 time 49.90ms

0 bytes from 08:00:1F:85:4F:A1 id 3 time 76.45ms

0 bytes from 08:00:1F:85:4F:A1 id 4 time 78.75ms

0 bytes from 08:00:1F:85:4F:A1 id 5 time 48.18ms

0 bytes from 08:00:1F:85:4F:A1 id 6 time 56.75ms

0 bytes from 08:00:1F:85:4F:A1 id 7 time 56.02ms

0 bytes from 08:00:1F:85:4F:A1 id 8 time 36.44ms

0 bytes from 08:00:1F:85:4F:A1 id 9 time 52.51ms
Send failed: Connection reset by peer

Això era un ping normal, el telèfon seguia en vida… el que no entenc és perque sempre al cap d’uns segons talla la conexió.. és una cosa que ja passava quan vaig escriure Jugant amb bluetooth 1 i 2..

He mirat com gastar l2ping:

vicent@ferrervicent:~$ sudo l2ping

l2ping – L2CAP ping

Usage:
l2ping [-i device] [-s size] [-c count] [-t timeout] [-f]
<bdaddr>

Aleshores?, que pasaria si fem un:

vicent@ferrervicent:~$ sudo l2ping -s 50000 08:00:1F:85:4F:A1

Ping: 08:00:1F:85:4F:A1 from 00:70:5A:46:21:67 (data size 50000) …

no response from 08:00:1F:85:4F:A1: id 0

He ficat 50000 per ficar un valor arreu, tampoc sabia en quines unitats era ni res, aixina que es pot dir que han sigut bastants coincidències juntes… (despres he sabut que 50000 era una animalada…) :P

Pero vos preguntareu que li passa al telèfon al fer el ping ;)

Exactament això:

Com podeu vore al video, el mòbil es queda inactiu i no respon durant uns segons, parant tota operació que s’estiguera fent en el moment, (una cridada per exemple).. el mòbil torna a funcionar en uns segons…

Hi ha que tindre en compte que 50000 bits per a un ping… és bastant, el ping típic en l2ping és de 44.. :o

Per a fer una prova he provat a fer un ping normal (per xarxa ethernet) cap al Router amb el mateix tamany.. el cas es que el router no s’ha immutat però no m’ha contestat el ping.. això es el que hauria de fer el telèfon per a protegir-se… no desconnectar-se (no pareix molt bona tècnica)… ;)

Altre detall, es pot observar que conforme es va pujant el tamany del paquet de ping la contestació és mes llarga..

44 > de 47 a 96 ms (és el ping estàndard en l2ping)

500 > 76ms

1000 > de 139 a 169 ms

1500 > de 195 a 230 ms

1850 > de 231 a 246 ms

També he fet una prova de anar allunyant-se però la diferència és mínima i no pot ser mesurada amb precisió ja que els mateixos pings tenen molta diferència entre si.

No descarte fer una ampliació i millora de l’article en cas de que a la gent li interese el tema.

De moment soles ho he probat en aquest mòbil, algú s’anima a provar-ho en el seu? :D


EDITE 14/9/06:

Ahir per la nit vaig trobar que el bug SI estava documentat.. no per a aquest mòbil en concret sino que éra una clase d’atac a dispositius blutooth que ja estava documentada, l’atac s’anomena bluesmack. I es un bug del dispositiu en questió, no del protocol bluetooth.

… i jo que hem creia que havia descobert un bug nou… :( pero realment si, perque ningu avans havia probat aquest bug contra un sharp gx25 [si algu l'ha trobat, no l'ha ficat en internet].. aixina que al menys l’he descobert contra el sharp gx25 :D

Edite20/9/06:

Article enllaçat a tuxmobil.org.

No hi ha comentaris »

  1. Carta de navegació » Traducció del bug del Gx25 Said,

    octubre 27, 2006 @ 9:57 pm

    [...] Acabe de escriure la traducció al castellà de l’entrada que vaig escriure quan la fallada del sharp gx25. Per si algú no ho entén.. Traducción al castellano del documento escrito sobre el fallo de softreset de un sharp gx 25 [...]

Feu un comentari