Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:9358
HistoryAug 02, 2005 - 12:00 a.m.

Microsoft ActiveSync clear text password

2005-08-0200:00:00
vulners.com
216

Microsoft ActiveSync clear text password

Microsoft ActiveSync is widely used to synchronies Windows based PDAs
and smartphones with desktop computer. PDA can connect to PC via
COM/USB/IR or LAN. Before synchronization user on PC must setup
"partnership" to allow synchronization. If PDA is protected with
password user on PC should provide password before he can access the
device.

Synchronization over LAN has some design weakness.

  1. All data, including initial "authentication", is transmitted in clear
    text. This is OK in case COM/USB and other physical protected
    communication, but LAN (Wi-Fi in most cases) is very sensitive for
    sniffing.
  2. Even if PDA is password protected, ActiveSync doesn't ask password in
    case of network synchronization. I’m not sure, what is it - security bug
    or feature, because password is transmitted in clear text over USB.
  3. ActiveSync doesn't use any form of authentication for server (PC) or
    client (PDA), so fake server or fake client attack is possible.

Discover Activesync with LAN synchronization allowed

nmap -p 5679 192.168.0.*

Fake server

It is easy to build fake server attack without special software. All you
need are ActiveSync, sniffer and any MitM condition.

  1. Install ActiveSync on fake server. Enable network synchronization
  2. Realize MitM condition.
  3. Launch you favorite sniffer and set filter to save TCP packets on port 5679.
  4. Wait for PDA connection.
  5. Open sniffer and check second data packet from PDA. At offset 0x14 and 0x18 you can see partnerships ids. Activesync can support up to 2 PC and as you can see, PDA send both IDs in the "handshake"
  6. Import template in registry. Change key HKEY_CURRENT_USER\Software\Microsoft\Windows CE Services\Partners\<Partnerhsip> to sniffed partnership id.
  7. Wait for another connection and check ActiveSinc, device should be connected as "guest". Even if you got "Synchronization Error", try to click "Explore" button on the toolbar.

Fake Client

Is very similar to the fake server, but you don't need MitM conditions
to accomplish this attack. All you need it a name of PC and
corresponding "partnership id".

  1. Launch your favorite registry editor for Windows Mobile.
  2. Navigate to HKLM\Software\Microsoft\Windows CE Services\Partners\P1
  3. Create string value PName = <PC_NAME>
  4. Create DWORD value PId = <partnership id>
  5. Launch active sync on PDA and try to connect. If everything is ok,
    synchronization will occur.

Mitigating factors

  1. LAN synchronization disabled by default
  2. To implement "fake client" you should know Partnership ID. It’s hard
    to guess (2^32), but because ActiveSync accept 2 partnership ID per
    connection, actually we need (2^31) connections for bruteforce.

I think ActiveSync should use TLS for authentication of PC and PDA and
data encryption. We don't need PKI in this case, because "direct trust"
can be created and certificates transmitted from PDA to PC and vise
versa when "Partnership" is established.

Thanks 2 3APA3A and everybody in SynCE project