FTP Bounce --> 1. část

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: Genua_
Datum: 9.6.2007
Hodnocení/Hlasovalo: 1.5/2

Něco málo o známější technice hackování... V této části pouze seznámení a jedna ukázka.

Přejděme nyní k něčemu opravdu zajímavému: FTP. Dejme si řečnickou otázku: Není náhodou FTP pouze na přenos souborů? Odpověď je ne. No, ano měl by... ale víte jak to chodí... Hacker je tak trošku jako zvědavé dítě, které se baví rozdělávat a zase dávat dohromady hračku místo, aby si s ní hrál jak by měl =)

Místo toho, víte, že FTP není nic jiného než Telnet s nějakým malým extra navíc (posílání souborů). Existují totiž interní příkazy, jako máme například při SMTP, a tedy i FTP je možný přes Telnet (pouze omezeně).

Techniku, kterou se budeme snažit pochopit, je FTP Bounce. Především budete potřebovat nějaký server FTP, který bude schopen přijímat a odesílat soubory z jakéhokoli adresáře.
Nyní se zkuste připojit k serveru a jít do adresáře v kterém můžete provádět základní funkce. Tenhle server bude váš "hlavní". Ve všech útocích, které budete provádět bude IP tohoto serveru a ne Vaše. Ovšem poznamenal bych, že musí být tento server Free. A ne zaregistrován vámi, jelikož to by trochu ztrácelo smysl. Nyní si ukažme způsob útoku, abychom si ho mohli v případě potřeby jakkoli upravit a případně i vytvořit si vlastní vylepšení.
Především si musíme vytvořit soubor (později si ukážeme jaký a jak), který bude obsahovat příkazy, jenž chceme nechat spustit, a to záleží na tom, co chceme vlastně udělat. Nyní se vůbec nezajímejte jeho obsahem. Nyní si jen ukážeme způsob fungování a pak teprve na několik málo ukázkách využití. Teď potřebujeme obyčejný FTP klient, nebo příkazový řádek FTP v linuxu. Požijeme ho na odeslání souboru na náš server, který jsme si vybrali dříve.
Je-li odeslaný náš soubor, tak zavřeme FTP-klienta a otevřeme si Telnet. Port FTP je na číslo 21. Připojme se tedy na náš server na portu 21 a počkejme na odpověď. Nyní můžeme zadávat příkazy.

USER anonymous
PASS nikdo@nic.com

Když je povolen přístup anonymní (jako je povoleno v 90% případech), tak server odpoví něco ve smyslu "User anonymous logged in". Jsme uvnitř. Nyní musíme znát IP adresu serveru, na který chceme zaútočit. Tedy musíme mít program na DNS, abychom se přes "host name" dostali až k IP adrese.
Nyní napišme (pořád v Telnet) příkaz PORT x,x,x,x,0,y, kde x,x,x,x je IP adresa serveru na útok, y je port na útok, pro FTP tedy 21. Poznamenejte si, že v tomto případě se neskládá IP adresa z teček, ale z čárek.
To, co se stane po příkazu PORT je následující: Řekneme serveru FTP, aby se připojil k IP adrese na portu, který mu napíšeme. Prakticky bude FTP server, který se připojí a ne my, což se hodí pro maskování. Máme tedy server jako spoluviníka =) Tedy on bude vše provádět a případné stopy budou jeho. My jsme schováni ve stínu. Uvědomte si, že to je nejlepší možnost, jak být neviditelní, ať už děláte cokoli. Nyní stačí napsat "RETR jméno odeslaného souboru" a všechny příkazy budou odeslány z našeho serveru na server oběti.
Nyní ale už dost teorie, přejděme k praxi. Chceme-li například poslat Fake-Mail, který se nedá vystopovat, pak tedy budeme postupovat následovně a odpovídat si na následující otázky:

1) Jaký tipy příkazů musíme vložit do souboru?
2) Jakou službu budeme chtít využít?
3) Jaký server bude cílem?

Podívejme se tedy na odpovědi:

1) Příkazy budou pro SMTP, účel je odeslání Fake-Mailu
2) Služba je pošta, tedy SMTP
3) Jakýkoli SMTP server bude dobrý, zjistíme si tedy IP, ta dejme tomu bude 123.45.67.89

Nyní se tedy připojíme na náš server (FTP - port 21) s FTP-klientem a vytvoříme soubor s našima příkazy: HELO, MAIL FROM, atd. (typický FakeMail).
Teď si otevřeme Telnet a připojíme se k našemu serveru (port je neustále 21) a napíšeme PORT 123,45,67,89,0,25, kde 123,45,67,89 je IP adresa serveru, který bude muset spustit naše příkazy, jinak 25 je port služby a tedy SMTP.
Nakonec napíšeme "RETR jméno souboru" pro spuštění souboru. Po chvilce bude Fake-Mail odeslán, ale bez naší IP adresy. Toto byla pouze ukázka, jelikož Fake-Mail můžeme napsat i v PHP a tehdy je vše mnohem jednodušší.