House of Lore | Small bin Attack

Reading time: 3 minutes

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks

Información Básica

Código

Objetivo

  • Insertar un chunk pequeño falso en el pequeño bin para que luego sea posible asignarlo.
    Nota que el chunk pequeño agregado es el falso que crea el atacante y no uno falso en una posición arbitraria.

Requisitos

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

Entonces podrás asignar fake0.

Ataque

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

Referencias

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks