On Wed, Aug 10, 2011 at 06:25:30PM +0200, Alexander Lehner wrote: > [ ... ] > For the hacker's delight I would give a try to find the private ssh > key in the Windows TomTom Software. Maybe they were lazy enough to > put it in plaintext somewhere.
All I could find was a certificate called TT_root_sign_cert.crt. Feeding this to google revealed this page: http://www.opentom.org/MyTomTom But there's no news for me to find on this page. BTW: I don't think any of the methods listed in "Future Investigations" will work. The user manual states that the device needs to be connected _directly_ to the PC, not even using a hardware-hub. I bet they have put some effort to check whether there's some sniffing involved. In the meantime, I've checked on a Win-PC from a friend. We installed USBsniff, wireshark and MyTomTom on it. Here's what I found: - Starting MyTomTom from the Start menu don't have any effect. Very strange. - When I plug the device into the PC, tomtom.com site gets opened automatically in a browser. Really bogus. I'd expect such behavior from some virus/trojan, but not from a mature product. Next thing is that they require installing Flash to use MyTomTom. That's where I finally give up. I'm not going to install flash just to use such a crippled device. >From analyzing the USBsniff log, I found that the device responds to following requests: jw@kiste:~> wget -qO- http://169.254.255.1/sa/hello);echo <?xml version="1.0" encoding="utf-8"?><hello xmlns="http://www.tomtom.com/ns/device/1.0" deviceid="_device_id_" /> jw@kiste:~> wget -qO- http://169.254.255.1/mpnd/status);echo <?xml version="1.0" encoding="utf-8"?><jobstatus xmlns="http://www.tomtom.com/ns/device/1.0" deviceid="_device_id_" rescue="false"></jobstatus> jw@kiste:~> wget -qO- http://169.254.255.1/mpnd/progress); echo <?xml version="1.0" encoding="utf-8"?><jobprogress xmlns="http://www.tomtom.com/ns/device/1.0" deviceid="_device_id_" progress="0" state="waiting" eta="0" /> Here's the perl script I used to analyze the log from USBsniff: #!/usr/bin/perl use strict; use warnings; my $output_hexdump=0; my $snip_deviceid=1; my $suppress_duplicates=0; my $direction="unknown"; my $data=""; $|=1; while (<>) { chomp; $direction = $1 if /USBD_TRANSFER_DIRECTION_(IN|OUT)/; # look for payload if (/^ ([\da-f]{8}):(( [\a-f][\a-f])+)$/i) { # decode the hexdump $data .= join ("", map {chr hex $_} split (" ", $2)); } else { # end of package, dump the data &dump_data(); } } my %seen_packets; sub dump_data { return unless length $data; if ($snip_deviceid) { $data=~s,devices/.+?/,devices/_device_id_/,i; $data=~s,deviceid=".+?",deviceid="_device_id_",i; $data=~s,<timestamp>\s*?\d+\s*?</timestamp>,<timestamp>0</timestamp>,i; } if ($data=~/(HTTP|GET)/) { my $plaintext = substr ($data, hex 62); print "---- line $. $direction ----\n"; if ($suppress_duplicates && exists $seen_packets{$plaintext}) { print "duplicate\n"; } else { $seen_packets{$plaintext} = 1; if ($output_hexdump) { if (open (my $hd, "|-", "hexdump", "-C")) { print $hd $data; close $hd; } } else { print $plaintext; } } print "\n"; } $data=""; } Please feel free to add this information to the opentom page mentioned above. Maybe there's somebody out there who is willing to install flash and can provide more sniffing information?
