Anonymize yourself via ftp

Tento clanek pojednava o pomerne nestandardnim vyuziti ftp serveru. Predem musim upozornit, ze jde sice o vec starou, ale zato zajimavou. Taky vas musim upozornit, ze nefunguje na vsech serverech; to ale zdaleka nevadi, pokud ftpd nechcete d-o-s-nout. Celou vec jsem testoval na NetWare ftpd, jednak to byl nejrychlejsi server po ruce a pak jsem nechtel nekomu cizimu borit server.

ftp-protocol si otevira dva komunikacni kanaly - jeden ridici, druhy datovy. Kdyz chceme ze serveru ziskat/poslat nejaka data, pouzijeme prikaz PORT ip1,ip2,ip3,ip4,p1,p2 a za nim napr. LIST. Prikaz PORT rika ftpd, ze ma data posilat na stroj ip1.ip2.ip3.ip4 na port p1*256+p2. Na tomto portu nasloucha client na prichozi spojeni a pak sosa data. Pokud ale odkazeme ftpd na nejaky pocitac, na kterem neco bezi (treba Sendmail, httpd, ftpd,...), nektere ftp servery to bez problemu odeslou a protejsi strana samozrejme prijata data interpretuje. Takto muzete velmi jednoduse poslat "anonymni" email. Na ftp server poslete soubor, ktery obsahuje SMTP prikazy; potom se pritelnetite na ftpcko a mail odeslete pomoci RETR a smazete ten soubor. Pokud takto s cimkoliv komunikujete, nevidite samozrejme vysledek. Pokud chcete prenaset data opacnym smerem, tzn ze serveru na ftp, staci pouzit STOR. Jiste, je stale moznost vypatrat odkud byla akce provedena, ale existuje PLNO ftpd, ktera NEUMI logovat co kdo na nich delal (hadejte ktera...). Potom taky muzete stizit vystopovani pouzitim nejakeho dalsiho serveru napr. http proxy, nebo sendmailem ktery do Received: nezapisuje zdrojovou ip adresu (taky jich par je), atd.

Dalsi vec, na kterou muzete ftp pouzit je port scanning. Rekneme, ze chcete "anonymne" zjistit, zda na pocitaci a.b.c.d bezi httpd. FTPcku zadate prikaz PORT a,b,c,d,0,80 a pokusite se na nej neco poslat, tedy napriklad dir-listing. FTP vam bud vrati kladnou odpoved, nebo ze se nelze pripojit (Conn. refused). Tato metoda je samozrejme VELMI pomala. Neni IMHO dobry napad posilat kamkoliv napr. vyse zminovany dir-list, protoze bude protejsi stranou interpretovan nejspis spatne a zapise se do logu.

FTP muzete samozrejme vyuzivat i k cviceni s diskem. Neni nic jednodussiho, nez ftpcku odeslat velmi dlouhy soubor. Pokudmozno tak dlouhy, aby zaplnil jakkoliv velky disk, tzn nekonecne dlouhy. Takovyto "soubor" nam poskytne napriklad chargen. Staci FTPcko spojit s chargenem a STORnout si vysledek. Proti tomuto utoku se da (pokud ho vas ftpd umoznuje) pomerne efektivne branit nizkou quotou pro incoming data. Dalsi neprijemnou vlastnosti je jednoduchy dos attack. Ten spociva v tom, ze ftpd si sam otevre spojeni na sebe, ve kterem bude zase otevreni spojeni na sebe, a v tom zase... Je rozumne jej jeste nejak zdrzet, napr. LISTem na down pocitac, ktery neodpovida rst.

Jak se branit? Predne NEpouzivat takto hloupe ftpd, kterych je nastesti velmi malo. Pokud vam nekdo boura timto zpusobem masinu, je asi nejlepsi si zjistit z logu kdo to byl. Horsi je, pokud ftpd nema log, popripade log ma ale spravce toho serveru nema naladu.


Copyright (c) 1998 Martin Hinner, All rights reserved