The 'trick' is to obtain this information regardless of proxy settings
and in the case of SOCKS4, be able to identify your real DNS servers.
This is accomplished using a custom DNS service along with a Java applet
that abuses the DatagramSocket/GetByName APIs to bypass any configured
proxy. The source code of the applet is online as well:
- http://metasploit.com/research/misc/decloak/HelloWorld.java
Smart TOR users are using Firefox + NoScript + Flashblock to begin with
.. and you'd really have to be stupid/trusting to allow Javascript (and
even dumber still to allow Java Applets) when you're trying to be anonymous.
There are a handful of other ways to obtain a user's real IP address - you
can embed a link to a SMB service over a UNC path, start up another
application via file attachments (PDF, with embedded JS, etc), or abuse
any other network-aware app that is launched by the browser.
Using a WRT54g+Linux+Tor (or running the TOR router on a seperate
machine) prevents this entirely since *all* traffic is routed into TOR
and anything that's not falls into the bitbucket.
Those that wish to be anonymous .. always will be :)
/mike.
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/