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

4.1 KiB

Dom Einherjar

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Kod

Cel

  • Celem jest zaalokowanie pamięci praktycznie pod dowolnym adresem.

Wymagania

  • Błąd o jeden nad nagłówkiem następnego fragmentu w celu zmodyfikowania poprzedniego w użyciu
  • Możliwość modyfikacji danych prev_size, które są częścią bieżącego fragmentu (na końcu)
  • Wyciek sterty

Atak

  • Tworzony jest fałszywy fragment wewnątrz fragmentu kontrolowanego przez atakującego, wskazujący za pomocą fd i bk na oryginalny fragment w celu ominięcia zabezpieczeń
  • Tworzone są 2 inne fragmenty (B i C).
  • Wykorzystując błąd o jeden w fragmencie B, bit prev in use jest czyszczony, a dane prev_size są nadpisywane różnicą między miejscem, w którym jest alokowany fragment C, a fałszywym fragmentem A wygenerowanym wcześniej.
  • Te prev_size i rozmiar fałszywego fragmentu A muszą być takie same, aby ominąć sprawdzenia.
  • Następnie wypełniana jest Tcache
  • Następnie C jest zwalniane, aby skonsolidowało się z fałszywym fragmentem A
  • Następnie tworzony jest nowy fragment D, który będzie zaczynał się w fałszywym fragmencie A i pokrywał fragment B
  • Następnie zwalniany jest fragment B, a jego fd jest nadpisywane adresem docelowym, wskazując na adres docelowy, nadużywając fragmentu D, który go zawiera.
  • Następnie wykonuje się 2 alokacje pamięci, ponieważ druga będzie zawierać adres docelowy

Referencje

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: