
Un alegre editor de heap para apoyar tu proceso de explotación 🙂
Heappy es un editor basado en gdb/gef que te ayuda a manejar el heap durante el desarrollo de tus exploits.
El proyecto debe considerarse una herramienta didáctica útil para comprender la evolución del heap durante el ciclo de vida del proceso. Se ha creado para simplificar el estudio de las técnicas de explotación de heap más comunes y para ayudarte a resolver algunos CTFs de explotación binaria relacionados con este fantástico tema.
Esto es lo que implementa Heappy:
✅ tomar instantáneas del heap y compararlas entre sí
✅ reconocer inmediatamente el tipo y los campos de los bins del heap
✅ buscar y editar valores del heap en decimal, hexadecimal o cadena
✅ encontrarte con la vista panorámica del estado del heap
✅ tomar notas sobre una celda en la columna de comentarios
✅ disfrutar de los modos claro y oscuro
Estas instrucciones te ayudarán a instalar y ejecutar Heappy rápidamente.
Si no lo tienes, instala GEF en GDB:
wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
md5(gef.sh): eb053864d050048cb001c80c79fde7b5
Instala Node.js y npm:
apt update
sudo apt install nodejs npm
Descarga e instala Heappy:
git clone https://github.com/gand3lf/heappy
cd heappy/
npm install
Carga el servidor dentro de GDB:
gef➤ source /my/path/heappy/server/heappy.py
Se sugiere ejecutar la GUI de Heappy después de que el heap objetivo haya sido inicializado.
Por ejemplo:
gef➤ break main
gef➤ run
Desde otra terminal, lanza la GUI:
cd /my/path/heappy/
npm start
¡Diviértete! 🚀
🔲 soporte para direcciones de 32 bits (próximamente)
🔲 soporte para múltiples heaps
🔲 integración con gdb checkpoint