Mal wieder ein kleines Howto. Diesmal beschreibe ich, wie man unter Windows mittels Tor und Putty eine anonymisierte Verbindung zu einem beliebigen Server aufbaut, auf dem der Secure Shell Daemon (SSH-Dienst) läuft.
Dies kann nützlich sein, wenn man vermutet das der Rootserver kompromitiert wurde und man dem/die Angreifer/-n nicht verraten will von wo man sich einwählt.
Wenn z.B. ein Firmensystem kompromitiert wurde, sind von der Regel abweichende Logins auf dem kompromitierenden System von dem Host Admin-GW.firma.domain nicht sonderlich zu empfehlen. Über Tor erweckt man den Eindruck, man sei lediglich ein weiterer Cracker der die gleiche Lücke gefunden hat.
Klar kann man Tor auch genau anders herum benutzen. Das ist nun mal so im Internet.
Wir beginnnen, indem wir das Tor & Privoxy & Vidalia bundle von http://tor.eff.org/download.html.de herunterladen. Es gibt auch eine Tor-Only Variante für Experten. Mit dieser habe ich mich aber noch nicht auseinandergesetzt.
Die einzelnen Komponenten übernehmen dabei folgende Aufgaben:
Tor: Ist die Grundkomponente. Zuständig für den Aufbau und die Verschlüsselung der Verbindungen und das Routing dieser.
Siehe: http://tor.eff.org/
Privoxy: Ein filternder Webproxy, der verräterische Informationen aus HTTP-Anfragen entfernt, Banner und JavaScript unterdrückt und u.a. auch über SOCKS5 ansprechbar ist.
Siehe: http://www.privoxy.org/
Vidalia: Ist ein grafisches Frontend für Tor. Z.B. kann man auf einer Weltkarte sehen welchen Weg die Verbindung durch das Tor-Netzwerk nimmt.
Siehe: www.vidalia-project.net/screenshots.php
Die Installation an sich gestaltet sich sehr einfach. Als Installationstyp wählen wir “Full” dies installiert alle Komponenten mit allen Paketen. Der Pfad in dem Tor installiert werden soll, lautet C:\Programme. Dies legt die Verzeichnisse C:\Programme\Tor, C:\Programme\Privoxy und C:\Programme\Vidalia an.
Auf der abschließenden Übersichtsseite wählen wir “Run installed components now.” Dies startet Tor, Privoxy und Vidalia und bringt uns 2 neue Symbole im Tray (der Bereich um die Uhr herum).
Einmal die Zwiebel, welche für den Tor-Dienst bzw. Vidalia steht und ein weißes P in einem blauen Kreis das Privoxy repräsentiert.
Nun ein rechter Mausklick auf das Privoxy-Symbol und den Eintrag Edit -> Main Configuration auswählen. In der allerersten Zeile sollte sich folgender Eintrag befinden:
forward-socks4a / localhost:9050 .
Dies ist die Adresse unsere lokalen Privoxy-Proxies. D.h. wenn wir mit Programmen über Tor surfen wollen, müssen wir als Proxy localhost:9050 eingeben.
In Firefox/Thunderbird/etc. kann man dies sehr konfortabel mit der Extension Torbutton erledigen. Andere schwören auf Switchproxy.
Wir wollen aber Putty nutzen. Also laden wir Putty, sofern wir dies noch nicht haben, von http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html herunter.
In Putty selbst wählen wir die Kategorie Connection->Proxy um unsere Werte einzutragen.
aussehen sollte dies dann wie folgt:
Enorm wichtig ist hier die Einstellung DNS-Abfragen erst am Proxy-Ende durchzuführen. Sonst verrät man sich durch die DNS-Anfragen die an den DNS-Server gehen der in den Windows Netzwerkeinstellungen eingestellt ist.
– Was ja u.a. nicht gewünscht sein kann, wenn man in einem vertrauensunwürdigen LAN sitzt oder nicht jeder wissen soll, das man www.geile-russenschlampen.de (Stromberg! :-)) aufrufen will.
Nun gehen wir wieder auf die Hauptseite von Putty und speichern diese Einstellungen als eigene Session. Bei mir lautet diese z.B. Default Tor settings in Anlehung an die Default settings-Session von Putty.
Lädt man jetzt diese Einstellung und trägt unter Host name/IP und Port die Daten des Servers ein zu dem wir eine SSH-Verbindung aufbauen wollen, so läuft die Verbindung über das Tor-Netzwerk.
Den Aufbau kann man sich dabei wie folgt vorstellen:
(Ja, das Bild kann man größer machen.)
Zu beachten bei Tor ist aber, das die Kommunikationvom Tor Exit-Node zum Zielserver ohne die Verschlüsselung des Tor-Netzwerkes abläuft. Wie auch.. Die Pakete haben das Tor-Netzwerk ja bereits verlassen. D.h. das Protokolle wie NNTP, POP3, SMTP, Telnet und HTTP die ihre Passwörter im Klartext übertragen wieder genau so unsicher sind wie eh und je.
– Also sei nicht Paranoid und dumm. Nutze Verschlüsselung. Es ist dein verdammtes Recht.
Zum Abschluss noch ein paar weiterführende Links zum Thema Privoxy und wie man ihn noch anonymer machen kann.
Weiterführende Links:
– http://www.fabiankeil.de/privoxy-anleitung/
– http://www.barbarakaemper.de/krypto/anonym-surfen_privoxy.htm
Demnächst: RDP über Tor mit Freecap
EDIT vom 11. April 2007:
Der Link zu “Paranoid und dumm.” ist tot. Daher hier kurz eine Beschreibung was man dort zu sehen bekommen hat.
Wie wir in diesem Artikel gelernt haben, wird innerhalb von Tor verschlüsselt. Was passiert aber auch den Exit-Nodes? Nun, dort wird wieder entschlüsselt.
Die Exit-Node Betreiber sind die einzigen, die die Passwörter im Klartext mitsniffen können. (Stimmt das wirklich? Fachliches Kommentar erbeten!) Denn Tor baut zu jedem Node einen eigenen Tunnel mit eigener Verschlüsselung auf.
Unter “Paranoid und dumm.” bekam man die mitgesniffte Liste von Logins und Passwörtern eines Exit-Node-Betreibers zu sehen die seinem Exit-Node passiert haben.
Und genau hier liegt das Problem:
Du bist Paranoid, du machst dir um Sicherheit Gedanken. Aber du meldest dich per Telnet an deinem Server an (lacht nicht, das tun mehr Leute als ihr denkt), rufst deine Mails über SMTP/POP3/IMAP ab und surfst über HTTP wenn es auch HTTPS gibt.
– Fällt dir was auf?
Oder anders ausgedrückt: Nur weil jemand so Nett ist, dir einen Tor-Server hinzustellen heißt nicht, das er ehrlich ist oder nicht bei einem Geheimdienst arbeitet :-)