House of Einherjar

Reading time: 3 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Podstawowe informacje

Kod

Cel

  • Celem jest przydzielenie pamięci w prawie dowolnym konkretnym adresie.

Wymagania

  • Utwórz fałszywy kawałek, gdy chcemy przydzielić kawałek:
  • Ustaw wskaźniki, aby wskazywały na siebie, aby obejść kontrole poprawności
  • Przepełnienie o jeden bajt z bajtem null z jednego kawałka do następnego, aby zmodyfikować flagę PREV_INUSE.
  • Wskaź w prev_size fałszywego kawałka wykorzystanego w sposób off-by-null powinien wskazywać różnicę między nim a fałszywym kawałkiem
  • Rozmiar fałszywego kawałka również musi być ustawiony na ten sam rozmiar, aby obejść kontrole poprawności
  • Do konstruowania tych kawałków będziesz potrzebować wycieku z sterty.

Atak

  • A fałszywy kawałek jest tworzony wewnątrz kawałka kontrolowanego przez atakującego, wskazując fd i bk na oryginalny kawałek, aby obejść zabezpieczenia
  • Przydzielane są 2 inne kawałki (B i C)
  • Wykorzystując błąd off by one w kawałku B, bit prev in use jest czyszczony, a dane prev_size są nadpisywane różnicą między miejscem, w którym przydzielany jest kawałek C, a fałszywym kawałkiem A utworzonym wcześniej
  • Ten prev_size i rozmiar w fałszywym kawałku A muszą być takie same, aby obejść kontrole.
  • Następnie, tcache jest wypełniane
  • Następnie, C jest zwalniane, aby skonsolidować się z fałszywym kawałkiem A
  • Następnie tworzony jest nowy kawałek D, który zacznie się w fałszywym kawałku A i pokryje kawałek B
  • Dom Einherjar kończy się tutaj
  • Można to kontynuować atakiem na szybki bin lub zatruciem Tcache:
  • Zwalniamy B, aby dodać go do szybkiego bin / Tcache
  • fd kawałka B jest nadpisywany, co sprawia, że wskazuje na docelowy adres, wykorzystując kawałek D (ponieważ zawiera B wewnątrz)
  • Następnie wykonuje się 2 malloci, a drugi z nich będzie przydzielał adres docelowy

Odniesienia i inne przykłady

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks