[LUGA] Mit freundlicher Unterstützung von:
Linux New Media AG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [luga] linux firewall



On 2002-01-29 08:32:49 +0100, Martin Baehr wrote:
> On Mon, Jan 28, 2002 at 10:57:25PM +0100, Peter J. Holzer wrote:
> > Wobei man eine RFC-konforme Implementation von FTP auch in einem
> > stateful packet filter nicht haben will, wie die frühen 2.4.x-Kernel
> > gezeigt haben.
> 
> kannst du das n"aher ausf"uhren?

Ich hoffe, ich bring's noch richtig hin:

Das FTP-Protokoll sieht die Möglichkeit vor, daß ein Client eine
Verbindung zwischen zwei Servern initiiert. Dafür war ursprünglich das
PASV-Kommando gedacht, nicht zur Umkehrung des Verbindungsaufbaus
zwischen Client und Server. Also:

C -> S1: PASV
S1 -> C: 227 S1,P1
C -> S2: PORT S1,P1
S2 -> C: 200
C -> S2: RETR filename2
C -> S1: STOR filename1

worauf hin S2 eine Verbindung an S1, Port P1 aufmacht und das File
filename2 dorthin schickt. S1 speichert es als filename1 ab.

(etwas vereinfacht - siehe RFC 959 für Details)

Folgende Firewall-Konfiguration:

     +----+
     | S1 |
     +----+
       |            internes Netz
     --+--------------------------------
       |
       |    +----+
       |    | S2 |
       |    +----+
     +----+   |      DMZ
     | FW |---+------------------
     +----+
       |
       | 
    (Internet)
       |
     +---+
     | C |
     +---+

S2 ist ein öffentlich zugänglicher FTP-Server, S1 ein interner Server,
der irgendein Service anbietet, das ich gerne knacken möchte, das aber
durch die Firewall abgeschottet ist, und zwar sowohl gegenüber dem
Internet als auch gegenüber dem DMZ. Nehmen wir der Einfachheit halber
an, es sei telnet und ich kenne eine Username/Passwort-Kombination auf
S1 (durch Raten, Social Engineering, Sniffen, BadTrans, ...). Nehmen wir
weiterhin an, S2 hätte ein public upload-Directory, und selbiges wäre
auch lesbar. 

Dann lade ich zunächst einmal ein File "session.txt" auf den FTP-Server,
in dem die gewünschte telnet-Session enthalten ist. 

Dann sage ich dem S2, er soll es an S1 schicken:

C -> S2: PORT S1,23

    (cool, denkt sich der Firewall, auf S1 ist ein FTP-Server, der eine
    Datenverbindung auf Port 23 erwartet, und erlaubt S1, dorthin zu
    connecten)

C -> S2: RETR /pub/upload/session.txt

Ups!

Das wurde in AFAIR in Kernel 2.4.3 gefixt. Außerdem ist die
Server-Server-Übertragung bei vielen FTP-Servern disabled, und public
upload-Directories, die außerdem noch lesbar sind, sind hoffentlich auch
eher selten. 

        hp

-- 
   _  | Peter J. Holzer    |
|_|_) | Sysadmin WSR       | In case of emergency break laws of physics.
| |   | hjp@hjp.at         |
__/   | http://www.hjp.at/ | 	-- Stephen Baxter

Attachment: pgpVPU81jwo3g.pgp
Description: PGP signature



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010