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

4.8 KiB

House of Lore | Small bin Attack

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Informações Básicas

Código

Objetivo

  • Inserir um chunk pequeno falso no pequeno bin para que seja possível alocá-lo.
    Note que o chunk pequeno adicionado é o falso que o atacante cria e não um falso em uma posição arbitrária.

Requisitos

  • Criar 2 chunks falsos e vinculá-los juntos e com o chunk legítimo no pequeno bin:
  • fake0.bk -> fake1
  • fake1.fd -> fake0
  • fake0.fd -> legit (você precisa modificar um ponteiro no chunk do pequeno bin liberado via alguma outra vulnerabilidade)
  • legit.bk -> fake0

Então você poderá alocar fake0.

Ataque

  • Um chunk pequeno (legit) é alocado, então outro é alocado para evitar a consolidação com o chunk superior. Em seguida, legit é liberado (movendo-o para a lista de bin não ordenados) e um chunk maior é alocado, movendo legit para o pequeno bin.
  • Um atacante gera alguns chunks pequenos falsos e faz a vinculação necessária para contornar as verificações de sanidade:
  • fake0.bk -> fake1
  • fake1.fd -> fake0
  • fake0.fd -> legit (você precisa modificar um ponteiro no chunk do pequeno bin liberado via alguma outra vulnerabilidade)
  • legit.bk -> fake0
  • Um chunk pequeno é alocado para obter legit, tornando fake0 a lista superior de pequenos bins
  • Outro chunk pequeno é alocado, obtendo fake0 como um chunk, permitindo potencialmente ler/escrever ponteiros dentro dele.

Referências

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}