hacktricks/binary-exploitation/heap/use-after-free.md

27 lines
2.3 KiB
Markdown
Raw Normal View History

# Uso Después de Liberar
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
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**](https://github.com/sponsors/carlospolop)!
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Información Básica
Como su nombre indica, esta vulnerabilidad ocurre cuando un programa **reserva un espacio** en el heap para un objeto, **escribe** alguna información allí, **lo libera** aparentemente porque ya no se necesita y luego **accede a él nuevamente**.
El problema aquí es que no es ilegal (no habrá errores) cuando se **accede a una memoria liberada**. Por lo tanto, si el programa (o el atacante) logra **asignar la memoria liberada y almacenar datos arbitrarios**, al acceder a la memoria liberada desde el puntero inicial, esos datos habrán sido sobrescritos causando una **vulnerabilidad que dependerá de la sensibilidad de los datos** que se almacenaron originalmente (si era un puntero de una función que iba a ser llamada, un atacante podría controlarlo).
## Otras Referencias y Ejemplos
* [https://8ksec.io/arm64-reversing-and-exploitation-part-2-use-after-free/](https://8ksec.io/arm64-reversing-and-exploitation-part-2-use-after-free/)
* ARM64. Uso después de liberar: Generar un usuario, liberarlo, reutilizar el mismo fragmento **sobrescribiendo la posición de la contraseña del usuario** del anterior. Reutilizar el usuario para **burlar la verificación de contraseña**