Ret2plt
binexp offensive
Ret2plt bellek güvenliği istismarı notudur. Protections ölç, primitif kur, kontrol akışını ele geçir.
Metodoloji
Section titled “Metodoloji”-
checksec + mimari + crash yüzeyini çıkar.
-
Leak veya write primitifini kur.
-
ROP/hook/AW2E ile kontrol akışı al.
-
Shell veya flag’i stabilize et.
Binary profil
Section titled “Binary profil”file ./vulnchecksec --file=./vulnpwn checksec ./vulnreadelf -l ./vuln | rg -i 'gnu_stack|interp'readelf -S ./vuln | rg -i 'got|plt|bss|fini'gdb -q ./vulnGOT / write-what-where
Section titled “GOT / write-what-where”readelf -r ./vuln | rg -i 'got|jump'from pwn import *ell=ELF('./vuln')print(hex(ell.got['printf']))print(hex(ell.plt['system']))Partial RELRO: GOT yazılabilir; Full RELRO → hooks / .fini_array / atexitROP zinciri
Section titled “ROP zinciri”ROPgadget --binary ./vuln | headfrom pwn import *ell=ELF('./vuln'); rop=ROP(ell)print(rop.gadgets)ret2plt
Section titled “ret2plt”puts@plt(puts@got) → libc base → systemKoruma atlatma
Section titled “Koruma atlatma”checksec --file=./vulnCanary: leak/bruteASLR/PIE: leakNX: ROPFull RELRO: hook/FSOPCET/MTE: kısıtlı gadgetExploit iskeleti
Section titled “Exploit iskeleti”from pwn import *context.binary=ell=ELF('./vuln')p=process('./vuln')# p=remote('TARGET',1337)# leak → calc → write → controlp.interactive()python3 exploit.pyChecklist
Section titled “Checklist”[ ] fingerprint / profil alındı[ ] primitif veya erişim doğrulandı[ ] PoC etkiyi gösterdi[ ] kanıt paketlendi[ ] sonraki pivot not edildi