hacktricks/binary-exploitation/libc-heap/house-of-lore.md

4.8 KiB

House of Lore | Ataque Small bin

{% hint style="success" %} 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)

Apoya a HackTricks
{% endhint %}

Información Básica

Código

Objetivo

  • Insertar un trozo pequeño falso en el small bin para luego poder asignarlo.
    Ten en cuenta que el trozo pequeño añadido es el falso creado por el atacante y no uno falso en una posición arbitraria.

Requisitos

  • Crear 2 trozos falsos y enlazarlos entre sí y con el trozo legítimo en el small bin:
  • fake0.bk -> fake1
  • fake1.fd -> fake0
  • fake0.fd -> legit (necesitas modificar un puntero en el trozo liberado del small bin a través de alguna otra vulnerabilidad)
  • legit.bk -> fake0

Entonces podrás asignar fake0.

Ataque

  • Se asigna un trozo pequeño (legit), luego se asigna otro para evitar la consolidación con el trozo superior. Luego, se libera legit (moviéndolo a la lista de bins no ordenados) y se asigna un trozo más grande, moviendo legit al small bin.
  • Un atacante genera un par de trozos pequeños falsos y realiza el enlace necesario para evitar las comprobaciones de integridad:
  • fake0.bk -> fake1
  • fake1.fd -> fake0
  • fake0.fd -> legit (necesitas modificar un puntero en el trozo liberado del small bin a través de alguna otra vulnerabilidad)
  • legit.bk -> fake0
  • Se asigna un trozo pequeño para obtener legit, haciendo que fake0 esté en la lista superior de small bins
  • Se asigna otro trozo pequeño, obteniendo fake0 como un trozo, permitiendo potencialmente leer/escribir punteros dentro de él.

Referencias

{% hint style="success" %} 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)

Apoya a HackTricks
{% endhint %}