hacktricks/binary-exploitation/heap/house-of-einherjar.md

5.2 KiB

Casa di Einherjar

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Informazioni di Base

Codice

Obiettivo

  • L'obiettivo è allocare memoria in quasi ogni indirizzo specifico.

Requisiti

  • Creare un chunk falso quando vogliamo allocare un chunk:
  • Impostare i puntatori per puntare a se stessi per aggirare i controlli di integrità
  • Off by one da un chunk all'altro per modificare il prev in uso
  • Indicare nel prev_size del chunk abusato off-by-one la differenza tra se stesso e il chunk falso
  • Anche la dimensione del chunk falso deve essere impostata alla stessa dimensione per aggirare i controlli di integrità
  • Per costruire questi chunk, avrai bisogno di una fuga di memoria dell'heap.

Attacco

  • Viene creato un chunk falso all'interno di un chunk controllato dall'attaccante puntando con fd e bk al chunk originale per aggirare le protezioni
  • Vengono allocati altri 2 chunk (B e C)
  • Sfruttando l'off by one nel chunk B, il bit prev in use viene pulito e i dati prev_size vengono sovrascritti con la differenza tra il luogo in cui è allocato il chunk C e il chunk falso A generato prima
  • Questo prev_size e la dimensione nel chunk falso A devono essere uguali per aggirare i controlli.
  • Quindi, la tcache viene riempita
  • Poi, C viene liberato in modo che si consolidi con il chunk falso A
  • Poi, viene creato un nuovo chunk D che inizierà nel chunk falso A e coprirà il chunk B
  • La casa di Einherjar finisce qui
  • Questo può essere continuato con un attacco al fast bin:
  • Liberare B per aggiungerlo al fast bin
  • Il fd di B viene sovrascritto facendolo puntare all'indirizzo di destinazione sfruttando il chunk D (poiché contiene B all'interno)
  • Poi, vengono fatti 2 malloc e il secondo sarà allocare l'indirizzo di destinazione

Riferimenti e altri esempi

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks: