tom@home.htb:~$

Blog o HTB

21 November 2020

FTP

Úvod a kontext

FTP je v místních rozborech starý, ale pořád praktický přenosový kanál. Není to exploit a sám o sobě neotevírá shell. Zajímavý je až ve chvíli, kdy přes něj leží cenný artefakt, funguje anonymous přístup, nebo se ukáže, že upload míří do prostoru, který se později vykoná nebo jinak zneužije.

Na Develu vede anonymous FTP přímo do IIS webrootu, na Fatty vrací klientskou JAR a interní poznámky, na Scavengeru zpřístupní incidentní pcap a na Forge se z něj přes ftp:// stane cíl SSRF. Právě to je dobré mít na paměti: FTP v projektu nebývá “další port”. Často je to konkrétní transport, kterým uniká obsah nebo se doručí soubor do důvěryhodného místa.

Co FTP v praxi řeší

FTP je užitečné hlavně tehdy, když potřebujete:

Právě proto se na blogu objevuje opakovaně. Není to moderní nástroj, ale praktická odpověď na jednoduchou otázku: kde se ještě dají číst nebo zapisovat soubory bez složitějšího exploitu?

Nejčastější scénáře využití v tomto projektu

Anonymous FTP jako zdroj prvních artefaktů

Na Fatty není rozhodující SSH ani web, ale obyčejný anonymous FTP listing:

21/tcp   open  ftp                vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed
| -rw-r--r--    1 ftp ftp 15426727 Oct 30 12:10 fatty-client.jar
| -rw-r--r--    1 ftp ftp      526 Oct 30 12:10 note.txt
| -rw-r--r--    1 ftp ftp      426 Oct 30 12:10 note2.txt
| -rw-r--r--    1 ftp ftp      194 Oct 30 12:10 note3.txt

Tady FTP nepřináší přímý shell. Přináší vstupní materiál:

Podobně na Luke anonymous FTP zrychlí první orientaci v hostu a na Admireru dává další služební kontext vedle webu a SSH.

FTP jako write kanál do prostoru, který se později vykoná

Devel je nejčistší ukázka toho, proč FTP nelze hodnotit izolovaně. Anonymous login by sám o sobě ještě nebyl zásadní problém. Kritické je až to, že obsah FTP míří do stejného prostoru, který servíruje IIS:

ftp-anon: Anonymous FTP login allowed
iisstart.htm

Jakmile lze do takového místa zapsat ASPX soubor, FTP se mění z obyčejného přenosu na nepřímé RCE. Praktickou logiku tohohle patternu rozebírám i v článku Zápis do prostoru, který se pak vykoná nebo použije pro autentizaci.

To je důležité metodicky: write do FTP není zajímavý sám o sobě. Zajímavé je, co se se souborem stane potom.

FTP jako cíl SSRF nebo server-side fetch

Forge ukazuje jiný, ale velmi praktický scénář. Tam se útočník na FTP nepřihlásí interaktivně. Místo toho použije SSRF endpoint, který umí sahat i na ftp:// URL:

http://ADMIN.FORGE.htb/upload?u=ftp://user:heightofsecurity123!@ADMIN.FORGE.htb/.ssh/id_rsa

Tím se z FTP stane interní úložiště tajemství, které se dá vytěžit přes server-side fetch. V tomhle případě vede rovnou k soukromému SSH klíči. Praktickou aplikační rovinu podobných cest rozebírám i v článku SSRF, reverse proxy a localhost trust assumptions.

FTP po získání hesla nebo reuse tajemství

Na Scavengeru FTP neotevírá první foothold, ale potvrzuje reuse hesla získaného z incidentního pcap:

ftp ib01.supersechosting.htb
Name: ib01c01
Password: GetYouAH4t!

To je dobrá připomínka, že FTP není jen legacy služba na stažení anonymního souboru. Často je to další místo, kde lze ověřit, zda uniklé heslo platí i mimo web nebo e-mail.

Kdy je FTP nejlepší volba

FTP dává největší smysl tehdy, když:

Naopak není dobré od něj čekat něco, co neřeší:

Nejčastější chyby v praxi

Záměna otevřeného FTP za hotový foothold

Na Fatty i Luke je první hodnota v obsahu, ne v samotném loginu. Teprve artefakty z FTP otevřou další cestu.

Ignorování toho, kam upload vede

Devel ukazuje, že klíčová není jen možnost nahrávat soubor, ale i to, že stejný soubor potom vykoná IIS. Bez této vazby by anonymous upload měl mnohem menší dopad.

Přehlížení reuse tajemství

Na Scavengeru a částečně i na Forge je důležité číst FTP jako součást širší identity nebo file-transfer logiky. Jakmile se někde objeví heslo nebo interní URL, FTP bývá jedno z prvních míst, kde dává smysl to ověřit.

Hodnocení FTP jen jako “legacy portu”

V místních rozborech FTP často rozhoduje víc než modernější služba vedle něj, protože vrací přesně ty soubory nebo cesty, které web už neukáže.

Související články v projektu

Co si odnést do praxe

Další Související Články V Projektu

HTB Stroje

Techniky

Nástroje

tags: nastroje - ftp - transfer - files - anonymous-ftp - upload - legacy