maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   Carwhisperer: Bluetooth Headset Fun. (https://talk.maemo.org/showthread.php?t=20780)

qwerty12 2008-06-07 16:02

Carwhisperer: Bluetooth Headset Fun.
 
1 Attachment(s)
http://trifinite.org/trifinite_stuff_carwhisperer.html

Quote:


The carwhisperer project intends to sensibilise manufacturers of carkits and other Bluetooth appliances without display and keyboard for the possible security threat evolving from the use of standard passkeys.

A Bluetooth passkey is used within the pairing process that takes place, when two Bluetooth enabled devices connect for the first time. Besides other public data, the passkey is a secret parameter used in the process that generates and exchanges the so-called link key. In Bluetooth communication scenarios the link key is used for authentication and encryption of the information that is exchanged between the counterparts of the communication.

The cw_scanner script is repeatedly performing a device inquiry for visible Bluetooth devices of which the class matches the one of Bluetooth Headsets and Hands-Free Units. Once a visible Bluetooth device with the appropriate
device class is found, the cw_scanner script executes the carwhisperer binary that connects to the found device (on RFCOMM channel 1) and opens a control connection and connects the SCO links.

The carwhiperer binary connects to the device found by the cw_scanner. The passkey that is required for the initial connection to the device is provided by the cw_pin.pl script that replaces the official Bluez PIN helper (graphical application that usually prompts for the passkey). The cw_pin.pl script provides the passkey depending on the Bluetooth address that requests it. Depending on the first three bytes of the address, which references the manufacturer, different passkeys are returned by the cw_pin.sh script. In quite a few cases the preset standard passkey on headsets and handsfree units is '0000' or '1234'.

Once the connection has been successfully established, the carwhisperer binary starts sending audio to, and recording audio from the headset. This allows attackers to inject audio data into the car. This could be fake
traffic announcements or nice words. Attackers are also able to eavesdrop conversations among people sitting in the car.

Ideally, the carwhisperer is used with a toooned dongle and a directional antenna that enhances the range of a Bluetooth radio quite a bit. (see Long-Distance-Snarf experiment)
Basically it works on the principle of standard passkeys to eavesdrop on a bluetooth headset and to send your own message to it.

Some things:
  • I've made some modifications to support some more classes of headsets and to fix up the scripts a little, paths were dodgy.
  • I was unable to test with my headset, it seems to switch off. let me know if this works for you.
  • This makes a lot of changes to the hcid.conf. Uninstall when you are done with this.
  • SoX needs to be compiled for best use out of this. I will compile later.
  • Nokia thought it would be a brilliant decision to modify the Bluez and their version of hcid refuses to acknowlege the pin_helper argument and still brings up the standard pair device dialog. Look in /usr/bin/cw_pin.pl for the list of pins. Thank Nokia for this annoyance, not me.
  • Thanks to KotCzarny for the grep help and Johnx for his scripts to "divert" things a little.

I lied, i didn't fix. reattaching and trying to fix tommorow. bluez-utils-test is needed too. memorise and guess the default passcodes. uninstall when you are done. make a better port of sox than my one.

qwerty12 2008-06-07 17:01

Re: Carwhisperer: Bluetooth Headset Fun.
 
2 Attachment(s)
Here is a quick compile of Sox. Very dodgily packaged. It wants libtool and libsamplerate too. Plus others. Good luck ;)

http://www.mediafire.com/?jsdcu2db2cf

tso 2008-06-07 17:10

Re: Carwhisperer: Bluetooth Headset Fun.
 
heh, this made me think about a school camping trip i was on.

on one of your days out and about we watched a road from a hillside. the teacher then mused about having the equipment to get a message onto the radio of the car passing below. :D

qwerty12 2008-06-07 17:29

Re: Carwhisperer: Bluetooth Headset Fun.
 
Ok, I lied. Reattached.

Anyone know which program is calling the standard maemo pair dialog? I've compiled a clean hcid thinking it was that to no avail :/

Benson 2008-06-09 14:04

Re: Carwhisperer: Bluetooth Headset Fun.
 
I've gotten sox from a bora repo; works fine...

Not sure what's wrong with your port; that one may be no better, but I've gotten along fine with it...

kernelpanic 2008-06-10 14:09

Re: Carwhisperer: Bluetooth Headset Fun.
 
Quote:

Originally Posted by qwerty12 (Post 189605)
Here is a quick compile of Sox. Very dodgily packaged. It wants libtool and libsamplerate too. Plus others. Good luck ;)

You're having problems cause you're standing on the bleeding edge. (14.1.0+CVS).

I've got sox-12.17.9 compiled for os2008 if anyone wants it. It only requires the vorbis libs, which I have also.

I haven't played with it yet to see how well it works, but it's simply the Debian package ported over to Maemo...

Cheers,
kernelpanic

tz1 2008-06-19 18:06

Re: Carwhisperer: Bluetooth Headset Fun.
 
I did sox-13 (for kismet).

http://www.zdez.org/sox-13.0.deb

I don't know if it has what you need.

Tintin 2009-12-05 09:25

Re: Carwhisperer: Bluetooth Headset Fun.
 
Was anyone able to get this all working - and if so what are the packages needed?
Interesting project.

awett 2011-11-10 18:48

Re: Carwhisperer: Bluetooth Headset Fun.
 
Hi any progress on this nice little helper for n900?

awett 2011-11-11 00:40

Re: Carwhisperer: Bluetooth Headset Fun.
 
and another question is it save to play with the .deb from the first post ? or is it for maemo 4 ? :-)


All times are GMT. The time now is 05:00.

vBulletin® Version 3.8.8