House of Einherjar

Reading time: 4 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

  • El objetivo es asignar memoria en casi cualquier dirección específica.

Requisitos

  • Crear un chunk falso cuando queramos asignar un chunk:
  • Establecer punteros para que apunten a sí mismos para eludir las verificaciones de sanidad
  • Desbordamiento de un byte con un byte nulo de un chunk al siguiente para modificar la bandera PREV_INUSE.
  • Indicar en el prev_size del chunk abusado por el off-by-null la diferencia entre sí mismo y el chunk falso
  • El tamaño del chunk falso también debe haberse establecido al mismo tamaño para eludir las verificaciones de sanidad
  • Para construir estos chunks, necesitarás un leak de heap.

Ataque

  • Se crea un chunk A dentro de un chunk controlado por el atacante apuntando con fd y bk al chunk original para eludir las protecciones
  • Se asignan 2 chunks más (B y C)
  • Abusando del off by one en el B, se limpia el bit prev in use y los datos de prev_size se sobrescriben con la diferencia entre el lugar donde se asigna el chunk C, al chunk falso A generado antes
  • Este prev_size y el tamaño en el chunk falso A deben ser los mismos para eludir las verificaciones.
  • Luego, se llena el tcache
  • Luego, se libera C para que se consolide con el chunk falso A
  • Luego, se crea un nuevo chunk D que comenzará en el chunk falso A y cubrirá el chunk B
  • La casa de Einherjar termina aquí
  • Esto se puede continuar con un ataque de fast bin o envenenamiento de Tcache:
  • Libera B para agregarlo al fast bin / Tcache
  • El fd de B se sobrescribe haciéndolo apuntar a la dirección objetivo abusando del chunk D (ya que contiene B dentro)
  • Luego, se realizan 2 mallocs y el segundo va a ser asignando la dirección objetivo

Referencias y otros ejemplos

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