Heap Overflow

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Información Básica

Un desbordamiento de montón es como un desbordamiento de pila pero en el montón. Básicamente significa que se reservó un espacio en el montón para almacenar algunos datos y los datos almacenados eran más grandes que el espacio reservado.

En los desbordamientos de pila sabemos que algunos registros como el puntero de instrucción o el marco de pila se van a restaurar desde la pila y podría ser posible abusar de esto. En el caso de los desbordamientos de montón, no hay ninguna información sensible almacenada por defecto en el fragmento de montón que puede ser desbordado. Sin embargo, podría ser información sensible o punteros, por lo que la críticalidad de esta vulnerabilidad depende de qué datos podrían ser sobrescritos y cómo un atacante podría abusar de esto.

Para encontrar los desbordamientos de montón puedes usar los mismos patrones que en los desbordamientos de pila.

Ejemplo ARM64

En la página https://8ksec.io/arm64-reversing-and-exploitation-part-1-arm-instruction-set-simple-heap-overflow/ puedes encontrar un ejemplo de desbordamiento de montón donde un comando que se va a ejecutar se almacena en el fragmento siguiente al fragmento desbordado. Por lo tanto, es posible modificar el comando ejecutado sobrescribiéndolo con un exploit sencillo como:

python3 -c 'print("/"*0x400+"/bin/ls\x00")' > hax.txt
Aprende hacking en AWS de cero a héroe con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Última actualización