Von außen durch die Firewall!?

Hi!
Ich hab eben einen Text über tunneln auf heise.de gelesen (http://www.heise.de/security/artikel/print/43716).
Eine Stelle verstehe ich dabei nicht

Über spezielle Programme wie beispielsweise der Advanced Port Redirect Engine kann der Trojaner im Intranet sogar als Server arbeiten, obwohl der Verbindungsaufbau aus dem Internet nicht möglich ist. Der Redirector dreht die Richtung des Verbindungsaufbaus für Server und Client unbemerkt um, die Richtung des Datenflusses bleibt aber erhalten. Angreifer haben dann jederzeit, durch die Firewall hindurch, Zugriff auf Systeme im Intranet und können weitere Programme nachladen und starten

Wie soll das funktionieren?
Ich würde mich freuen wenn das jemand etwas verständlicher erklä[h]ren ( :rolleyes: ) könnte :)

(mh jetzt gehn die smiley nich mehr naja ?( )
 
das ist zum beispiel über dns anfragen möglich. also der trojaner sendet dns pakete (natürlich nur wenn dieser dienst erlaubt ist) mit diversen ips und manipulierten daten an einen rechner/server. dieser erkennt diese, und sendet eine url zurück, die jedoch befehle für den server/"trojaner" enthält. wie das programmiertechnisch aussieht würde mich auch interessieren.
lg
 
Hui sehr interessant!
Ja das würde mich auch sehr interessieren.

Kann denn an jeden "normalen" PC eine DNS anfrage geschickt werden?
 
Man kann gewissermaszen ja keywords in payloads packen. Damit kann natuerlich ein legitimer DNS server nichts mit anfangen. Das konzept ist alt und wurde schon via ICMP durch LOKI genutzt. LOKI Doku und den Code dazu gibts im Phrack magazine.
 
Mh sry ich dachte immer ein Payload wäre Sourcecode, den man zB durch einen Exploit ausführt und der dann zB eine Shell startet.
Darum verstehe ich jetzt leider nicht so genau was du meinst ?(

Und ein DNS Server war für mich immer ein Server der die Domains in IPs wandelt.
Aber ein normaler PC hat doch keinen solchen Dienst, wie kann man dann damit Daten übertragen ?(

Sry für mein Unvermögen aber ich checks nich :(
 
naja ich würde dass so lösen, dass malware, in wie fern diese die rechte dazu hat, eine dns bekommt, die es eigentlich garnicht gibt. sollte der benutzer als admin angemeldet sein erkennt die software ein schlüsselwort in der dns (also im namen eines servers) und führt dann am rechner diverse programme aus und schickt über eine weitere dns anfrage ergebnisse, infos usw zurück.

edit: ja der trojaner "kontaktiert" den rechner des angreifers über so ein dns paket. der rechner des angreifers spielt dabei den dns server. die anwendung die auf dessen rechner läuft (also server oder client kann man da nicht mehr unerscheiden) schickt das "befehls" paket mit der dns zurück. in der dns, also ein beliebiger name, stehen befehle für die malware.

edit ...: das ganze ist dann mit anderen protokollen auch noch möglich, wie schon in dem link den du gepostet hast erwähnt über http, oder andere "manipulierte" pakete.
 
Mhh ich verstehs nich sry..

Also ich habs so verstanden aus dem link, dass ja ein PC der hinter nem Router hängt nicht als Server fungieren kann, da er ja nicht direkt angesprochen werden kann.
Und dadurch das jetzt die Richtung geändert wird gehts es doch ?(
Oder ist es das was du meintest, dass der trojaner erst den "Server" kontaktiert?
Aber das wäre ja dann nichts besonders, da ja eh ein NAT Eintrag vorläge wenn der trojaner den ersten Schritt macht zum Server macht!?.
Ich dachte es wäre mit einer Einstellung die ich eben nicht verstehe möglich, den TrojanerPC als Server ansprechen zukönnen.

?(
 
Mh das klingt für mich aber eher als obs am Router eingestellt wird.
Aber im Link verstehe ich es so, dass es nichts mit dem Router zu tun hat.
?(
 
also um noch mal auf das dns problem zurück zu kommen, ist ja ganz einfach: der dns dienst wird freigegeben (also die dns ports) über diese kann jeder rechner über egal was, router oder proxy nach draußen telefonieren, vorrausgesetzt er darf dass, was normal so üblich ist, außer der proxy übernimmt das für alle rechner im netz. das problem dabei ganz einfach erklärt: der trojaner installiert sich auf deinem internen rechner, schickt ein dns paket das erlaubt ist über egal was hinaus, vordert also einen namen eines servers an z.b. also genau das was der dns dienst auch eigentlich tun soll. nur dass sich nicht der dafür zuständige dns server angesprochen fühlt, sondern der rechner des angreifers, der dann wie ein dns server wirkt. und in den paketen können dann in den dns daten (also im namen ...) befehle versteckt werden. is ja vom prinzip her einfach oda? hat nix mit routern oder proxy zu tun ... wenn der proxy die aufgabe für alle internen rechner übernimmt, und die ports (also der dns dienst) auf allen lokalen rechnern geblockt wird, nutzt das ganze genau nichts.

was reverse proxy betrifft kann ich auch nicht besser erklären als es schon im wiki steht.
 
Original von blobbo
Mh das klingt für mich aber eher als obs am Router eingestellt wird.

Der erste Abschnitt beschreibt den Reverse Proxy als Bestandteil der Firewall, der zweite Abschnitt bezieht sich dagegen auf einen Reverse Proxy, der nichts mit der Firewallsoftware zu tun hat. Er wird _auf_dem_Rechner_ installiert, um auf einen Rechner hinter der Firewall zugreifen zu können, ohne dass die Firewall entsprechend konfiguriert werden muss. Genau so, wie es in Deinem heise.de-Zitat beschrieben wird.

Bye, nz
 
Original von blobbo
aber wie genau funktioniert das denn!?

Der fragliche Absatz aus dem HaBo-Wiki enthält zwei grundlegende Aussagen:


  • 1. Es gibt auch Reverse Proxies, die nicht Bestandteil der Firewallsoftware sind. Sie werden auf dem Rechner installiert, mit dem Ziel, aus dem externen Netz heraus auf einen internen Rechner zugreifen zu können, ohne die Firewall manuell entsprechend konfigurieren zu müssen. Dazu baut der interne Rechner zunächst eine Verbindung zu dem externen Rechner auf, wodurch der externe Rechner über die Firewall hinweg mit dem internen Rechner kommunizieren kann (PAT).
Bezogen auf Dein Beispiel sollte klar sein, dass diese Verbindung der Trojaner aufbaut, wodurch der Server aus dem Internet mit dem Client kommunizieren kann. Diese Art der Kommunikation wird im PAT-Artikel genauer erklärt.


  • 2. Läuft auf dem externen Rechner ein Reverse Proxy, so können nun auch beliebige andere Rechner aus dem externen Netz auf den internen Rechner hinter der Firewall zugreifen, indem sie ihre Anfragen an den Reverse Proxy des externen Rechners schicken (der Reverse Proxy leitet die Anfragen an den internen Rechner weiter).
Dazu gab es schon einmal etwas von sheepd hier im Board: Klick.

Bye, nz

PS: Könntest Du den Titel des Threads ?Von außen durch Firewall? bitte in ?Von außen durch die Firewall? ändern?
 
Ahh ok mir is gerade ein Licht aufgegangen!
Also muss beim reverse Proxy praktisch ein Server zwischen angreifer und "Opfer" laufen der als Vermittler dient oder!?
Das wäre ja dann ja doch eigentlich aber fast nur wie zB bei Icq!?
Ich hatte gedacht es klappt auch nur zwischen 2 PCs ?(

Und eine letze Frage die ich noch nie verstanden habe..

Warum kann man keine Verbindung zwischen 2 PCs aufbauen die beide hinter einem Router sind und keinen Port forwarden indem man einfach die Ip und den Port des Anderen in die NAT einträgt?
Das wäre doch einfacher und man müsste keinen Port freischalten.
Ist zwar nichts für etwas dauerhaftes aber ich fände es sehr viel praktischer!?

PS: gerne =)
 
Original von blobbo
Warum kann man keine Verbindung zwischen 2 PCs aufbauen die beide hinter einem Router sind und keinen Port forwarden indem man einfach die Ip und den Port des Anderen in die NAT einträgt?

Ich verstehe diesen Satz leider nicht. Beschreibe doch bitte einmal genau, was Du machen möchtest.

Bye, nz
 
Ok sry..

Also PC1 geht über einen Router ins Internet PC2, der woanders steht, geht über einen anderen Router ins Internet.
Jetzt wollen PC1 und PC2 direkt kommunizieren. Dafür müsste ja normalerweise einener der beiden PCs bei sich im Router einen Port freischalten.
Doch dann ist dieser Port ja für alle offen, was ich schonmal blöd finde.
Darum die Frage..
Warum kann nicht ein PC im Router über den er online geht einen Eintrag in die NAT machen, die die IP des anderen PCs beinhaltet.
Dadurch müsste dann doch, ohne den umweg über einen dritten Server bzw. zu gehen eine Verbindung aufgebaut werden können oder!?
Wenn ja geht das denn vielleicht sogar und wie?

Danke schonmal!
 
Original von blobbo
Dafür müsste ja normalerweise einener der beiden PCs bei sich im Router einen Port freischalten. Doch dann ist dieser Port ja für alle offen, was ich schonmal blöd finde.

Über Paketfilter kannst Du diesen Zugriff auf bestimmte Adressen beschränken.

Original von blobbo
Warum kann nicht ein PC im Router über den er online geht einen Eintrag in die NAT machen, die die IP des anderen PCs beinhaltet.

Wenn Dein Kommunikationspartner (PC2) ebenfalls hinter einem NAT-Router steht, so bringt Dir die Adresse von PC2 nichts. Er kommuniziert mit Dir über die Adresse seines NAT-Routers.

Bye, nz
 
Ok mist ich hab mich falsch ausgedrückt..

PC1 stellt bei seinem Router alles ein, das heisst die Ip des anderen Routers, die lokale IP von PC1 an die die Daten gehen sollen, also zB an 192.168.1.31 und halt alles was auch normalerweise eingetragen wird (Port).
Wenn nun PC2 über seinen Router etwas an die IP von Router1 schickt, zB für irgendein Spiel wie Counterstrike oder sonstwas, dann müsste doch der Router den NAT eintrag haben, der dafür sorgt ohne einen Port freigeschaltet zu haben das eine Verbinung aufgebaut werden kann.
Die Antworten von PC1 würden dann an Router2 gehen der ja dann auf herkömmliche Weise seinme NAT füllen würde, da er ja weiss, dass Daten von dieser IP von PC2 gestellt wurden und er sie auch dorthin weiterreicht.
Also.. geht es, dass in Router1 alles in die NAT geschrieben wird, was nötig ist um nach einer Verbindungsanfrage von PC2 diese an PC1 weiterzuleiten ohne das ein Port freigeschaltet werden muss?
Und wenn nein warum nich =) ?

Danke nochmal bis hier hin :)
 
Zurück
Oben