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.