Umgehen einer Firewall / Eines Proxy Servers

(How to bypass a Firewall / Proxy server)

In diesem kleine HowTo werde ich euch erklären, wie es möglich ist, mit SSH eine Firewall / einen Proxyserver zu umgehen.

Szenario 1

In der Schule / im Geschäft läuft der HTTP verkehr über einen ProxyServer:

Proxy Server Schema

Wenn du nun z.b www.google.ch besuchst läuft der Traffic über den Proxyserver deiner Firma oder deiner Schule. Somit werden alle HTTP Anfragen aufgezeichnet (z.B. Welcher Benutzer wann welche Webseiten besucht hat).

Szenario 2

Zusätzlich zu der Überwachung des Benutzers werden auch noch Webseiten gesperrt.
Wird eine Webseite besucht welche nicht geschäftlich ist, wird Sie kurz darauf vom Support Personal gesperrt. (z.B www.myspace.com , www.playit.ch etc.).

Wie kann ich diese “Schutzmassnahmen” umgehen?

Firewall/Proxy Bypass

Mit einem ssh Tunnel umgehen wir den ProxyServer und die Firewall deiner Firma / Schule.
Wir verbinden uns direkt mit einem ssh Server den du bei dir zuhause oder auf einer gemieteten Shell aufgesetzt hast.
Danach geht’s von dort aus direkt auf den Webserver (z.B www.google.ch).
Das heisst im Klartext du surfst über deinen PC/Server zuhause ohne dass deine Firma / Schule mit schauen kann oder Webseiten die du besuchen möchtest blockiert.

Anleitung – Wie wird’s gemacht

Als erstes benötigen wir einen PC / Server. Ich habe z.B eine alte Compaq Maschine mit Windows 2003 Server aufgesetzt und in den Dachstock gestellt.
Als zweites installieren wir auf dem Server einen SSH Deamon.
Für Windows: Ladet euch auf sshwindows.sourceforge.net OpenSSH for Windows unter “Binary Installer Releases” runter. Danach entpackt ihr das *.zip file mit WinRAR oder WinZip und installiert das setupssh.exe.
Für Unix/Linux: Ladet euch ssh unter openbsd.anfa.org runter und installiert es.

Als drittes müsst ihr den SSH Server konfigurieren:
Öffnet den Explorer und navigiert zu C:\Programme\OpenSSH\etc (oder den von euch bei der Installation von OpenSSH definierten Installationspfad). Öffnet dort die sshdconfig (sshdconfig und nicht ssh_config!!!) mit einem Texteditor (Rechtsklick-> öffnen mit-> Texteditor)

Ändert die Zeile
#Port 22

auf

Port 443

Ihr könnt den Daemon auf irgendeinem Port laufen lassen oder auf mehreren Ports gleichzeitig. Ich empfehle euch, es mit folgenden Ports zu versuchen: 21 (FTP), 22 (SSH), 25 (SMTP), 80 (HTTP), 110 (POP3), 443 (HTTPS), 3389 (MS RDP) und 5900 (RealVNC). Wenn Ihr Pech habt, werden in eurer Firma / Schule alle Ports an der Firewall (intern nach extern) blockiert. Bei mir hat es jedoch bis jetzt immer irgendwie funktioniert, da bei den Firewalls meistens immer einer der oben genannten Ports offen ist.

Nun speichert die Datei ab und öffnet MS-DOS (Start-> Ausführen-> cmd). Navigiert zum “OpenSSH\bin” Verzeichniss (cmd C:\Programme\OpenSSH\bin).
Dort müsst ihr folgendes eintippen:

mkgroup -l > ..\etc\group

und

mkpasswd -l > ..\etc\passwd

Diese zwei Befehle erstellen eine Benutzergruppe und ein Password-File.
Im MS-DOS Fenster tippt ihr nun

net start opensshd

ein um den Server zu starten. Somit läuft nun dein openssh Daemon und du musst nur noch den Browser deiner Schule / Firma einstellen. (Wichtig! Für diejenigen unter euch welche zuhause einen Router oder eine Hardware- oder Software Firewall im Einsatz habt: Der oben gewählt Port muss auf eurem Router/Modem und auf eurer Firewall offen sein (z.B NAT oder zugelassene Ports) sonst funktioniert das ganze nicht.

Konfiguration des Browsers in der Schule/Firma

Als erstes erstellst du auf dem PC deiner Schule/Firma eine neue Textdatei und benennst sie um nach stunnel.bat. Danach editierst du sie mit einem Text Editor und schreibst folgendes rein:

putty -D 8080 -P port -ssh dein.hostname.ch

Nach -P könnt ihr den Port angeben, auf welchem euer SSH Daemon zuhause läuft. Danach müsst ihr den Hostname oder die IP-Adresse angeben, auf welchem der SSH Daemon läuft.
Beispiel:

putty -D 8080 -P 22 -ssh tor.abuse.ch

Speichert die Datei ab.
Nun müsst ihr Putty unter the.earth.li/~sgtatham/putty herunterlanden. Startet jetzt die Batch Datei stunnel.bat. Nun sollte sich automatisch Putty öffnen und ihr müsst den Benutzername und das Passwort eingeben, welches ihr für euren PC/Server zuhause habt. Als letztes müsst ihr nun den Browser wie folgt konfigurieren:
Internet Explorer: Öffnet den Internet Explorer und geht auf Extras-> Internetoptionen-> Verbindungen-> LAN-Einstellungen und setzt den hacken bei Proxyserver für LAN verwenden. Klickt auf Erweitert und schreibt bei Socks: 127.0.0.1 : 8080 herein.

FERTIG! Wenn alles geklappt hat und der von dir gewählte Port nicht blockiert ist surft ihr nun über euren PC/Server zuhause!

16 Responses to “Umgehen einer Firewall / Eines Proxy Servers”


  • Hi! Also erstmal wollte ich mich für diese Anleitung bedanken! Ich habe jedoch auch eine Frage: Ist es so auch irgendwie möglich, den rechner fernzusteuern mit VNC? Gruß Marco Freund PS: VielenDank

  • Thank you for sharing!

  • Aber wie soll das denn funktionieren? Wenn ich in der Schule/Uni/Firma nur über einen Proxy ins Netz komme, wie soll ich mich dann direkt mit dem SSH zu Hause verbinden? Ich könnte nur über den Proxy (meist Port 80) eine Verbindung zu meinem Heimserver aufbauen und erst wenn ich diese mit SSL verschlüsseln kann, dann bringt es auch etwas.

    Die Anleitung sollte viel detalierter werden… aber danke für die Anregung.

    Gruß

    Knut

  • Also so wie ich das verstanden habe, gehst du nur einmal über den Proxy um einen Tunnel nach zu Hause aufzubauen, und dann über deinen Rechner zu Hause zu surfen.

    Werd ich unbedingt mal ausprobieren, sobald ich zu Hause bin :-)

  • Währe Interessant wenn statt meinem Rechner zuhause ein Php-Skript auf meiner homepage laufn könnte. Würde Strom sparen ;-)
    Kennt jemand eine Lösung?

  • Ich schreibe ziemlich selten Kommentare in Blogs, aber da ich deinen Blog wirklich toll finde und ihn auch regelmaessig lese, wollte ich einfach mal ein Kommentar schreiben und sagen,dass dein Blog spitze ist

  • Hallo,

    also ich habe das mal getestet. Ich komme bis zum Login im Putty Fenster.

    Nachdem ich ds Passwort eingebe passiert 3-4 sek nichts, danach schliesst

    sich das Putty Fenster. Ports sind soweit geforwarded. Wo könnte der Fehler liegen?

    Ich habe das mal an einem PC getestet der nicht über einen Proxy rennt.

    MFG

    Fotojunky

  • Mehrere Ports untereinander einfügen, nicht nebenainder. Also so:

    Port 21
    Port 20
    Port 443

    etc.

    Zudem schreibt abuse: “Nun speichert die Datei ab und öffnet MS-DOS (Start-> Ausführen-> cmd). Navigiert zum “OpenSSH\bin” Verzeichniss (cmd C:\Programme\OpenSSH\bin).” -> statt im DOS-Fenster “cmd” eingeben müsst ihr “cd” benutzen. Also: “cd C:\Programme\OpenSSH\bin”

    Ansonsten sehe ich morgen ob’s klappt in der firma wo ich arbeite funktioniert *G* bin schon gespannt. Danke dir Roman (Man kennt dich ja seit der unlustigen Spammail schweizweit *smile*)

  • Mag schon sein dass dieses technisch funzt. Bei einer 0815 Kombination zB. MS ISA.(ist kein richtiger Proxy oder Firewall hat nur den Namen bekommen) Wenn man einen richtigen Proxy hat der unterbricht den SSH Tunnel und analysiert den Traffic. Zweitens ein guter Admin schaut ab und zu in die Log files hinein.Dass würde auffallen.

  • Ich wollte nur fragen ob ma mit diesem SSH Server auch Online Spiele spielen kann. Ich sitzte in einem Schülerheim hinter einem Proxy Server und komm nur am WE heim ;)

  • Hallo,
    Ich komme immer bis zu dem Befehl

    mkgroup -l > ..\etc\group

    und

    mkpasswd -l > ..\etc\passwd

    Aber egal was ich eingebe….Zugriff ist immer verweigert….wäre nett wenn mir jemand auf meine Email Adresse Antwortet und mir das erklärt was ich falsch mache…
    (Email: dani.form@gmx.net)
    Lg. Daniel

  • Hallo
    Hab auch auf nen alten PC Win Server 2003 installiert, habe aber noch ne Frage/Ein Problem und zwar… Wo kriege ich die Passenden Treiber her? Ich habe nur eine CD mit den Windows XP Treibern und die gehen logischerweise auf Server nicht :(

  • Gab das mit den Treibern geschafft, fibde jedoch keine sshdconfig, nur die sshd_config, die andere ist bei mir nicht in diesem Ordner, wäre froh wenn mir jemand helfen könnte

  • Leider hast du vergessen, daß der Proxy-Server der Schule/Firma als Man-in-the-Middle gilt und somit auch einen SSH Tunnel aushebeln kann. Der Proxy braucht sich dazu nur als der SSH-Server auszugeben um die Daten abzufangen. Peinlich wenn man auf diese Art erwischt wird (gerade in der Firma).

  • nö, nö
    mein proxy hat einen schlüssel und mein ssh-client akzeptiert die verbindung nur mit diesem schlüssel.
    also is nix mit man in the middle

  • hey komm auch nur immer bis zu

    mkgroup -l > ..\etc\group

    und

    mkpasswd -l > ..\etc\passwd

    meldet euch bei(Benny-Marx@gmx.de)

    Cracker

Leave a Reply




economics-recluse
Scene
Urgent!