Hlavní navigace

K čemu lze zneužít FTP bounce-scanning

7. 11. 2006
Doba čtení: 8 minut

Sdílet

 Autor: 29
Dnešním bezpečnostním článkem navážeme na seriál o DoS útocích a seriál o skenování portů. Celé povídání je věnováno útoku FTP bounce-scanning, který využívá zneužitelné implementace FTP protokolu k reflektivním zesilujícím DoS útokům nebo k anonymnímu skenování portů.

FTP bounce-scanning využívá ke skenování portů FTP server jako prostředníka, ovšem s touto technikou se dají dělat i zajímavější věci, jako např. DoS útoky a kopírování souborů mezi FTP servery bez zatížení vaší linky.

Teorie o přenosu dat po FTP

Při připojení k FTP serveru se vytvoří spojení, pomocí kterého se přenášejí „příkazy“, ale nikoliv „data“. Pro jakékoliv přenášení dat po FTP je potřeba vytvořit nové spojení. Toto spojení se může vytvořit aktivně nebo pasivně. Tyto dva režimy (pasivní a aktivní) nám umožňují vyvádět pěknou „paseku“ a veškeré zde ukázané možnosti jsou proveditelné jen díky nim. Přenášením dat je myšleno stahování nebo nahrávání souborů na FTP a dokonce i výpis adresáře.

Žádný jiný režim zahájení přenosu není. Před každým přenosem dat se musí specifikovat, pro který režim bude nové spojení navázáno. Na obrázcích níže najdete ukázky komunikace s FTP serverem, získané pomocí programu telnet. To znamená, že vše si můžete sami odzkoušet. Ovšem chování jednotlivých FTP serverů se může lišit. O tomto se ještě zmíním.

Pasivní režim je takový, kdy nové spojení vytváříte vy, tzn. k serveru se připojujete vy. Tento pasivní režim je zde z důvodu, že ne každý má veřejnou IP adresu, aby se k němu mohl FTP server připojit. Pasivní mód se aktivuje pomocí příkazu „pasv“. Server vám vzápětí vypíše potvrzení a v závorce vám předá parametry, kam se máte připojit. Tyto parametry jsou ve formátu IP, IP, IP, IP, HByte, LByte, kde IP určuje IP adresu, HByte a LByte určují port. Zatímco IP adresu jste jistě všichni poznali, tak pro získání čísla portu musíme trošku počítat. Je potřeba HByte vynásobit 256 a přičíst LByte (doufám, že všichni ví, jak vznikl tento výpočet). Například na obrázku je HByte=8 a LByte=0, takže port = 8×256 + 0 = 2048.

FTP pasivni

Aktivní režim je opakem pasivního režimu. To znamená, že server se připojuje k vám a parametry, kam se má připojit, určujete vy. Aktivní režim se vybere tak, že serveru pošlete příkaz port IP, IP, IP, IP, HByte, LByte. Parametr IP opět určuje IP adresu, HByte, LByte jsou horní a dolní byty, určující port. Pokud tedy chceme, aby se server připojil k našemu počítači s IP adresou 192.168.0.2 na port 2536, tak napíšeme port 192, 168, 0, 2, 9, 232 (HByte=2536/256, LByte=zbytek).

FTP port

Skenování portů

Nyní, když víme, jak režimy pracují, můžeme se dostat ke skenování portů. Pokud použijeme aktivní režim a zadáme místo své IP adresy IP adresu oběti, FTP server se bude snažit připojit na tuto IP adresu. My můžeme ale ještě zadat port. Když máme zadanou IP adresu i port a aktivní režim je připraven, spustíme příkaz list, který vypisuje obsah adresáře. V tu chvíli se začne server připojovat k oběti na port, který jsme určili.

FTP skenovani

Jak poznáme, zda toto spojení bylo úspěšné, nebo ne? Jakmile spustíme příkaz list, server nám odpoví, že spojení bylo vytvořeno (ovšem to nic neznamená), zajímavější je až hláška 226 Transfer successfully archieved nebo 426 Transfer interrupted. Obě totiž znamenají, že připojení proběhlo v pořádku, v druhém případě bylo předčasně uzavřeno. To se může stát tím, že služba na druhé straně nečeká tato data (data nemají korektní tvar), která jí jsou posílána, a spojení uzavře. Obě dvě hlášky ovšem znamenají, že port je otevřen. Pokud žádnou hlášku neobdržíme, potom je port uzavřen.

Ovšem aby vše nebylo tak jednoduché, tak každý FTP server se chová trošku jinak. Vše, co jsem prováděl já, bylo na FTP serveru CesarFTP 0.99g. Jedná se o freeware, který už ovšem není pár let vyvíjen. Jakmile se tento útok objevil, začalo se o něm hodně mluvit a většina FTP serverů začala proti tomuto útoku uplatňovat opatření – například že uživatel nemůže v příkazu port uvést cizí IP adresu. Nebo mají alespoň omezení na zadávaný port, který musí být větší než 1024. To proto, že pro skenování jsou nejzajímavější porty právě ty mezi 0 a 1024. Například často používaný server Proftpd umožňuje obě tyto možnosti.

Výhody tohoto typu skenování

Jaké výhody přináší toto skenování? Jedná se o tajné skenování, kde přímo neukazujete svoji IP adresu. Anonymita také závisí na FTP serveru (nemyslí se software), který zvolíte, jelikož některé servery pořizují logy, jiné nikoliv. Toto skenování také přináší možnost skenování vzdálené lokální sítě. Například pokud je některá síť za NATem a je v ní veřejně přístupný FTP server, můžeme pomocí výše popsaného způsobu skenovat porty počítačů v lokální síti, aniž by byly z Internetu přístupné.

Skenování pomocí programu nmap

Takovéto skenování si můžeme zautomatizovat pomocí programu nmap. Ten takové skenování umožňuje s přepínačem –b. Syntaxe je pak nmap –b UZIVATEL:HESLO@ADRESA_FTP_SERVER:PORT_NA_KTEREM_BEZI –p ROZSAHSKENPORTU IP_ADRESA_OBETI. Ovšem je potřeba, aby FTP server nebyl proti tomuto zneužití zabezpečen.

Reflektivní zesilující DoS útok pomocí aktivního režimu

Co dalšího můžeme provádět? Jak jsem již zmínil, dá se tohoto efektu využít pro DoS útoky. Abych byl přesnější, jedná se o reflektivní zesilující DoS útoky, které jsou v současné době nejnebezpečnějšími. Psal jsem o nich v šestém dílu seriálu o DoS útocích. Zřejmě si říkáte, proč jsem tento útok v seriálu vynechal. Je to proto, že na tento útok není téměř nikde nahlíženo jako na DoS útok. Přitom u něj lze teoreticky dosáhnout nekonečného zesílení.

Jak tedy takový DoS útok vypadá? Připojíme se na FTP server a prohlédneme si, zda se zde nachází nějaký obrovský soubor. Pokud zde žádný není, nahrajeme si svůj. Následně zapneme aktivní režim, kde předáme IP adresu oběti a určitý port. Poté již jen stačí říci FTP serveru, že si přejeme stáhnout soubor, což se provede příkazem retr /CESTA/SOUBOR. Server se připojí k oběti na daném portu a začne posílat soubor.

Aby to ovšem nebylo tak jednoduché, tak potřebujeme, aby na oběti běžela správná služba. Správná služba (myšleno pro nás) je taková, která data přijímá a neukončí spojení. Takovýchto služeb bude nejspíše minimum. Většina služeb ovšem umožní přenést určité množství dat. U některých služeb může být problém s posíláním binárních dat, takže bude lepší posílat textová data. Služby, které mohou dobře posloužit, jsou pošta (SMTP, POP3, IMAP), web (HTTP) nebo sdílení dat (FTP, viz. níže). Ovšem zde už také záleží na tom, jaký software se o danou službu stará, atd. Bez problému jde dosáhnout zesílení 10× až 100×.

Útok na dva FTP servery

Další možností útoku je nechat dva FTP servery si vyměňovat data. Toho se dá docílit kombinací pasivního a aktivního režimu. Tento útok může sloužit jako efektivní DoS útok, jako šikovný trik, jak kopírovat soubory mezi FTP servery bez toho, aby to pocítila vaše linka (tj. aniž byste byl prostředník).

Celý útok spočívá v tom, že na jednom serveru aktivujete pasivní režim. On vám dá IP adresu a port, na kterém bude čekat spojení. Na druhém serveru aktivujete aktivní režim a IP adresu s portem zvolíte podle toho, co vám dal první. Nyní na prvním zvolíte příkazem stor a jménem souboru, že si přejete uložit data. Na druhém serveru příkazem retr a uvedením souboru zahájíte přenos dat. Nyní se druhý server připojí k prvnímu a začne mu posílat data. To je celý princip. Výhodou tohoto útoku také je, že stačí, aby byl k němu náchylný jenom jeden server, jelikož pasivní režim není nijak omezen.

Útok na lokální síť pomocí FTP

Díky aktivnímu režimu můžeme posílat data i dovnitř takové sítě, která není z venku přístupná. Stačí jen mít přístup k FTP serveru uvnitř sítě a možnost ukládat na něj soubory. Trik spočívá v nahrání souboru, který obsahuje data, která chceme určitému portu (službě) předat. Pak už jen stačí nastavit aktivní režim na daný počítač a vybrat port. Vše odstartujeme tím, že zvolíme stáhnutí souboru, který jsme na tento FTP server nahráli. Server se totiž připojí k danému počítači na zadaném portu a veškerá tato data mu pošle.

Současné možnosti útoku FTP bounce-scanning

Veškerá teorie dosud byla skvělá, vše bylo snadně proveditelné a velice nebezpečné. Naštěstí je aktivní režim v současné době ošetřen a nedá se již zneužít. Je totiž omezen pouze na IP adresu, ze které jste připojeni, nebo přinejmenším na určitý rozsah portů. Doufám, že teď nejste rozhořčení, že jste přečetli článek o věcech minulých. Šlo mi víceméně o to, aby bylo vidět, jaké chyby v minulosti byly, jak lehké bylo zneužití a – co je hlavní -, abychom se z nich poučili.

Přeci jenom si myslet, že už se s těmito věcmi nesetkáte, je také naivní. Na Internetu je ještě spousta serverů, které jsou k této chybě náchylné a jsou připojeny linkami o slušných kapacitách. Tato technika je téměř zapomenuta, což je dalším plusem, jelikož se s nikým nemusíte přetahovat o tyto „zapomenuté“ FTP servery.

Tipy C

Seznam serverů, zneužitelných k tomuto útoku, může mít stále slušnou hodnotu. Pak stačí vytvořit si dálkové ovládání (program umožňující útok) a máte velice silnou síť, čekající na váš příkaz. Výhody jsou jasné, odpadá vám práce s kompromitací počítačů (FTP servery nemusíte hackovat). FTP servery nejsou vámi kompromitovány, což znamená, že dokud nezaútočíte, nikdo na nic nepřijde. Pro provedení útoku není potřeba vysokorychlostní přípojka k Internetu. Tyto FTP servery jsou vlastně výjimečně silný botnet čekající, až je někdo využije. Tak je například možné nalézt na Internetu starý seznam anonymních FTP serverů, kde je uveden použitý FTP server a jeho verze.

Snad se vám tento článek líbil a dozvěděli jste se něco nového. Pokud jsem zaujal někoho natolik, že vše tady popsané si bude zkoušet (samozřejmě v rámci legálních a etických pravidel), pak budu jenom rád, a pokud přijde na něco nového, ať neváhá a zanechá nám své zkušenosti pod článkem v názorech.

Udržujete svůj počítač aktualizovaný?

Byl pro vás článek přínosný?

Autor článku

Autor je spolumajitelem firmy PATRON-IT a celým srdcem technik. Specializuje se na kybernetickou bezpečnost a má zkušenosti etického hackera. Věří, že aby mohl síť dobře zabezpečit, musí ji nejprve umět prolomit.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).