Einführung

An öffentlichen Plätzen oder in Cafes gibt es oft öffentliche Hotspots. Manchmal verlangen diese eine Registrierung oder sind nur nutzbar, wenn man bezahlt. Interessant dabei ist, dass DNS-Anfragen auch ohne Anmeldung aufgelöst werden. Jetzt kann man den gesamten Traffic über DNS tunneln und so ohne Anmeldung im Internet surfen.

Voraussetzung

  • Ein DNS-Server
  • Ein Server, welcher für den Tunnel verantwortlich ist
  • Ein Client
  • Die Software OzymanDNS von Dan Kaminsky

Einrichtung DNS-Server

Auf dem DNS-Server eine Zonendelegierung angelegt:

d n n s s . t s u e n r n v e e l r . 2 e . x e a x m a p m l p e l . e o . r o g r . g . I I N N N A S n 4 s 2 . . s 2 e 3 r . v 0 e 5 r . 2 2 . 1 e x a m p l e . o r g .

Die IP-Adresse 42.23.05.21 entspricht dabei dem Server, welcher für den DNS-Tunnel verantwortlich ist.

Installation der Software OzymanDNS

Auf dem Tunnel-Server und auf dem Client muss die Software OzymanDNS von Dan Kaminsky installiert werden. Als Voraussetzung für diese Software werden Perl-Bibliotheken für DNS und für die Base32/Base64 Codierung benötigt. Folgendermassen können diese über die Paketverwaltung installiert werden:

Unter Arch Linux:

sudo pacman -S perl-net-dns
yaourt -S perl-mime-base32
yaourt -S perl-mime-base64

Unter Debian:

sudo aptitude install libnet-dns-perl
sudo aptitude install libmime-base32-perl
sudo aptitude install libmime-base64-perl

Dann wird die Software heruntergeladen (Auf dem Tunnel-Server und auf dem Client):

wget http://s3.amazonaws.com/dmk/ozymandns_src_0.1.tgz

Und danach entpackt:

$ a d g n g s r e o l t k o t m a a a u a d n r . t . e c p e p . e - l . l p . x p l c v l z f o z y m a n d n s _ s r c _ 0 . 1 . t g z

Einrichtung Tunnel-Server

Auf dem Tunnel-Server wird die Software OzymanDNS von Dan Kaminsky gestartet.

s u d o / n o m d e . p l - i 0 . 0 . 0 . 0 d n s t u n n e l . e x a m p l e . o r g

Verwenden des Tunnels

Der Client kann jetzt ganz einfach eine SSH-Verbindung zum Tunnel-Server herstellen. Dabei ist zu beachten, dass die Subdomain sshdns vor die Tunnel-Domäne geschrieben wird und dass man als Host den localhost angibt:

ssh -o ProxyCommand="./droute.pl sshdns.dnstunnel.example.org" username_server2@localhost

Jetzt hat man bereits eine SSH-Session auf den Tunnel-Server offen.

Verwenden des Tunnels als SOCKS-Proxy

Mit SSH kann man ganz einfach einen SOCKS-Proxy erstellen:

ssh -D 8080 -N -f -o ProxyCommand="./droute.pl sshdns.dnstunnel.example.org" username_server2@localhost

Im Webbrowser kann jetzt als SOCKS-Proxy localhost auf Port 8080 eingetragen werden.

Was wird übertragen

Mit tcpdump sieht man sehr gut, dass der gesamte Traffic über DNS TXT-Ressource-Records ausgetauscht wird:

e $ t l 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m c i 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 a s p s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : n u d t 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 u d u e 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 e o m n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : l p i 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 @ t : n 1 1 1 1 1 1 2 2 4 4 6 6 8 8 8 8 0 0 2 2 4 4 6 8 8 8 8 2 2 2 2 6 6 6 6 d c g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i p v 9 9 9 9 9 9 1 1 6 8 0 1 0 0 7 8 0 1 7 8 0 1 7 0 1 7 8 0 2 7 9 0 2 7 9 s d e o 7 7 7 7 8 8 1 2 8 2 0 8 1 4 0 4 2 6 1 5 3 7 3 5 9 5 9 6 0 6 6 8 2 8 3 c u r n 2 2 8 8 6 9 3 7 6 3 5 3 9 3 1 0 1 1 7 6 6 4 4 2 5 2 1 9 8 7 4 5 5 6 1 o m b 4 7 3 3 2 0 7 3 5 7 8 9 2 7 2 2 2 3 2 2 2 0 3 3 3 7 5 8 7 6 0 4 2 0 5 r p o w 2 8 1 8 3 6 9 8 8 6 8 5 1 5 3 4 8 3 2 8 6 9 8 2 2 7 0 5 1 0 2 0 0 2 9 d s l 5 8 2 1 2 3 5 7 1 2 7 5 1 7 9 1 1 2 2 8 1 5 3 9 6 8 4 4 8 0 6 6 6 8 4 i p e a a o n I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I : r o 0 P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P ~ t u , t 1 1 h 1 h 1 h h 1 h 1 h h h 1 h 1 h 1 h 1 h 1 1 h 1 h 1 h 1 h 1 h 1 h d p l 0 0 o 0 o 0 o o 0 o 0 o o o 0 o 0 o 0 o 0 o 0 0 o 0 o 0 o 0 o 0 o 0 o o u i . . m . m . m m . m . m m m . m . m . m . m . . m . m . m . m . m . m m t n 0 0 e 0 e 0 e e 0 e 0 e e e 0 e 0 e 0 e 0 e 0 0 e 0 e 0 e 0 e 0 e 0 e a k . . s . s . s s . s . s s s . s . s . s . s . . s . s . s . s . s . s i s - 0 0 e 0 e 0 e e 0 e 0 e e e 0 e 0 e 0 e 0 e 0 0 e 0 e 0 e 0 e 0 e 0 e n u t . . r . r . r r . r . r r r . r . r . r . r . . r . r . r . r . r . r p y 1 1 v 1 v 1 v v 1 v 1 v v v 1 v 1 v 1 v 1 v 1 1 v 1 v 1 v 1 v 1 v 1 v p p 0 0 e 0 e 0 e e 0 e 0 e e e 0 e 0 e 0 e 0 e 0 0 e 0 e 0 e 0 e 0 e 0 e r e 0 0 r 0 r 0 r r 0 r 0 r r r 0 r 0 r 0 r 0 r 0 0 r 0 r 0 r 0 r 0 r 0 r e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s E 5 4 d 5 d 3 d d 3 d 3 d d d 5 d 4 d 3 d 4 d 5 5 d 5 d 5 d 4 d 5 d 5 d s N 3 5 u 7 u 4 u u 9 u 7 u u u 1 u 8 u 6 u 6 u 2 8 u 7 u 2 u 3 u 7 u 7 u e 1 0 5 s 7 s 5 s s 7 s 4 s s s 6 s 4 s 8 s 0 s 7 7 s 7 s 6 s 7 s 7 s 2 s d 0 5 7 s 8 s 0 s s 4 s 1 s s s 7 s 2 s 2 s 7 s 6 2 s 9 s 8 s 7 s 4 s 6 s , M 5 8 . 5 . 7 . . 3 . 5 . . . 8 . 9 . 8 . 1 . 3 5 . 3 . 2 . 2 . 1 . 3 . B x x x x x x x x x x x x x x x x x x u > > y > y > y y > y > y y y > y > y > y > y > > y > y > y > y > y > y s ( . . . . . . . . . . . . . . . . . . e E h h d h d h d d h d h d d d h d h d h d h d h h d h d h d h d h d h d t o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o h m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m e e e a e a e a a e a e a a a e a e a e a e a e e a e a e a e a e a e a r s s i s i s i i s i s i i i s i s i s i s i s s i s i s i s i s i s i o n e e n e n e n n e n e n n n e n e n e n e n e e n e n e n e n e n e n r e r r r r r r r r r r r r r r r r r t v v > v > v > > v > v > > > v > v > v > v > v v > v > v > v > v > v > ) e e e e e e e e e e e e e e e e e , r r 1 r 1 r 1 1 r 1 r 1 1 1 r 1 r 1 r 1 r 1 r r 1 r 1 r 1 r 1 r 1 r 1 . . 0 . 0 . 0 0 . 0 . 0 0 0 . 0 . 0 . 0 . 0 . . 0 . 0 . 0 . 0 . 0 . 0 c d d . d . d . . d . d . . . d . d . d . d . d d . d . d . d . d . d . f a u u 0 u 0 u 0 0 u 0 u 0 0 0 u 0 u 0 u 0 u 0 u u 0 u 0 u 0 u 0 u 0 u 0 o p s s . s . s . . s . s . . . s . s . s . s . s s . s . s . s . s . s . r t s s 0 s 0 s 0 0 s 0 s 0 0 0 s 0 s 0 s 0 s 0 s s 0 s 0 s 0 s 0 s 0 s 0 u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f r x x 1 x 1 x 1 1 x 1 x 1 1 1 x 1 x 1 x 1 x 1 x x 1 x 1 x 1 x 1 x 1 x 1 u e y y 0 y 0 y 0 0 y 0 y 0 0 0 y 0 y 0 y 0 y 0 y y 0 y 0 y 0 y 0 y 0 y 0 l . . 0 . 0 . 0 0 . 0 . 0 0 0 . 0 . 0 . 0 . 0 . . 0 . 0 . 0 . 0 . 0 . 0 l s d d . d . d . . d . d . . . d . d . d . d . d d . d . d . d . d . d . i o o 4 o 5 o 5 3 o 3 o 3 3 3 o 5 o 4 o 3 o 4 o o 5 o 5 o 5 o 4 o 5 o 5 p z m m 5 m 7 m 3 4 m 9 m 7 7 7 m 1 m 8 m 6 m 6 m m 8 m 7 m 2 m 3 m 7 m 7 r e a a 5 a 7 a 0 5 a 7 a 4 4 4 a 6 a 4 a 8 a 0 a a 7 a 7 a 6 a 7 a 7 a 2 o i i 7 i 8 i 5 0 i 4 i 1 5 5 i 7 i 2 i 2 i 7 i i 2 i 9 i 8 i 7 i 4 i 6 t 6 n n 8 n 5 n 5 7 n 3 n 5 7 7 n 8 n 9 n 8 n 1 n n 5 n 3 n 2 n 2 n 1 n 3 o 5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : c 5 o 3 1 2 2 1 1 1 1 1 2 2 6 6 5 6 2 2 4 4 3 3 6 6 2 1 1 2 2 4 4 5 5 3 3 1 1 l 5 6 1 1 7 7 5 6 5 7 7 4 4 5 1 7 7 8 8 5 5 7 7 6 7 7 7 7 5 5 6 6 9 9 8 8 6 2 2 5 5 5 6 5 5 5 1 1 0 4 5 5 1 1 2 2 3 3 1 2 2 3 3 2 2 5 5 1 1 5 5 d b 8 8 8 7 7 + 8 5 5 9 9 4 6 2 2 9 9 8 8 6 6 4 9 9 0 0 3 3 9 9 4 4 4 4 e y 0 4 4 3 3 0 1 2 2 6 6 7 0 3 3 6 6 3 3 + 6 3 3 5 5 1 1 3 3 3 3 3 3 c t + + * + T / + + + + + 1 + + + + + + o e N X 1 1 1 1 1 0 1 1 1 T 1 1 1 1 1 1 d s T P 1 P X T / / T / T / / / T / T / T / X 1 T T / T / T / T / T / T / e X T / T D ? 1 0 X 1 X 1 1 1 X 1 X 1 X 1 T / X X 1 X 1 X 1 X 1 X 1 X 1 T R 1 R o / T / T / 3 T / T / T / ? 0 T T / T / T / T / T / T / ? ? / ? m 2 0 T ? 0 ? 0 0 ? 0 ? 0 ? 0 ? ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 1 a 3 X 0 2 T 4 1 1 i 8 T T 4 T 2 T ( 4 T 2 T 4 T 3 X 4 2 T 4 T 2 T 4 T 2 T 4 T 7 0 P 0 n 4 X 7 X 3 X A 9 7 X 3 X 7 X 8 T 7 3 X 7 X 3 X 7 X 3 X 7 X 4 . T 0 * 8 T ` 4 T 8 T 4 4 T 8 T 4 T 4 4 8 T 4 T 8 T 4 T 8 T 4 T 4 0 R . - ` 4 4 1 ) 4 4 4 8 ` 4 4 4 4 4 4 4 - . 0 0 1 ` - ` 8 ` 7 - ` 8 ` - ` - ` - 8 ` - ` 8 ` - ` 8 ` - ` 2 0 h . / 4 ` ` 4 ` - ` 4 6 ` - ` 2 ` 5 8 - ` 2 ` - ` 1 ` - ` 3 ` 4 . o 0 1 1 ` 6 5 . 9 4 4 2 ` 8 4 5 2 2 2 9 0 1 m . / 0 ` 9 ` 7 ` 1 8 ` 0 ` 4 ` 1 ` 3 5 ` 3 ` 1 ` 8 ` 6 ` 6 ` 6 0 e 1 0 5 ` ( 9 ` 4 ` 4 . ` 1 ` 8 ` 8 8 8 ` 8 ` 5 ` 3 ` 1 ` 5 ` 3 . s 0 . 9 7 4 3 i 4 8 7 ( . 8 . 1 0 9 7 . i e . ( i ( 7 . ( 0 ( . d ( 2 ( . ( . 9 i 4 ( i ( 8 ( . ( 5 ( . ( i n r i 1 d 9 ) i 9 . 9 1 - 9 . 9 i 9 i 7 d . 9 d 9 . 9 i 9 . 9 i 9 d - v n 0 - 6 d 6 i 7 4 3 4 i 7 d 6 d ) - i 7 - 5 i 7 d 6 i 7 d 6 - a e - 6 5 ) - ) d ) 2 1 ) d ) - ) - 3 d ) 3 ) d ) - ) d ) - ) 3 d r a ) 2 3 - . 4 - 3 5 1 - 1 - 3 - 3 1 d . d 7 1 5 5 1 5 1 2 4 5 4 5 1 5 1 4 r d d 8 4 2 8 0 2 4 7 1 2 1 2 4 2 4 1 . u r 7 1 7 . 7 1 8 0 7 0 7 1 7 1 0 a s . . 0 8 ( d 8 0 7 . 8 . 8 0 8 0 . r s a d . 7 2 o 7 . . d 7 d 7 . 7 . d p . r o d . 7 w . d d o . o . d . d o a x p w o d 1 n d o o w d w d o d o w . y a n w o ) . o w w n o n o w o w n . . . n w s w n n . w . w n w n . ( s . n s n . . s n s n . n . s 4 ( ( s s . h . s s s . s . s . s s 0 9 4 h s s d s s s h s h s s s s h ) 8 1 d h s n s h h d s d s h s h d ) ) n d h s h d d n h n h d h d n s n d . d n n s d s d n d n s . s n d n s s . n . n s n s . d . s n s . . d s d s . s . d n d . s . d d n . n . d . d n s n d t d n n s d s d n d n s t s n u n s s t n t n s n s t u t s n s t t u s u s t s t u n u t n t u u n t n t u t u n n n u e u n n n u n u n u n n e n n l n n n e n e n n n n e l e n . n e e l n l n e n e l . l e e e l l . e . e l e l . e . l x l . . e l e l . l . e x e . a . e e x . x . e . e x a x e m e x x a e a e x e x a m a x p x a a m x m x a x a m p m a l a m m p a p a m a m p l p m e m p p l m l m p m p l e l p . p l l e p e p l p l e . e l o l e e . l . l e l e . o . e r e . . o e o e . e . o r o . g . o o r . r . o . o r g r o . o r r g o g o r o r g . g r r g g . r . r g r g . . g ( g . . g g . g . ( . 5 . ( . ( . . ( 6 ( 9 ( ( 6 6 ( ( 6 2 6 ( ) ( 6 6 0 ( 0 ( 6 ( 6 1 ) 1 6 6 1 2 ) 6 ) 6 1 6 1 ) ) 2 2 ) ) 2 2 ) 2 ) ) ) ) ) )

Weitere Tipps und Tricks

  • Zum schnellen Umschalten der Proxy-Einstellungen eignet sich das Firefox-Plugin FoxyProxy
  • Da die Verbindung nicht sehr schnell ist, kann man mit dem Firefox-Plugin User Agent Switcher den User Agent auf z. B. iPhone ändern, was die Auswirkung hat, dass oft eine mobile Version der Seite geladen wird.
  • Mit ssh -C kann man die Verbindung komprimieren und somit den zu übertragenen Traffic verkleinern
  • Mit der Software tsocks kann man jedes Programm mit einem vorgegebenen Proxy starten