Ret2ret & Reo2pop

Вивчайте та практикуйте хакінг AWS: Навчання HackTricks AWS Red Team Expert (ARTE) Вивчайте та практикуйте хакінг GCP: Навчання HackTricks GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Ret2ret

Основна мета цієї техніки - спроба обійти ASLR, зловживаючи існуючим вказівником у стеку.

Основна причина переповнення стеку - це зазвичай рядки, і рядки завершуються нульовим байтом в кінці у пам'яті. Це дозволяє спробу зменшити місце, на яке вказує існуючий вказівник, який вже існує в стеці. Таким чином, якщо стек містить 0xbfffffdd, це переповнення може перетворити його на 0xbfffff00 (зверніть увагу на останній нульований байт).

Якщо ця адреса вказує на наш код оболонки в стеці, можливо зробити потік досягнення цієї адреси, додаючи адреси до інструкції ret до того моменту, поки досягнеться ця адреса.

Отже, атака буде виглядати наступним чином:

  • NOP-ковзання

  • Код оболонки

  • Перезапис стеку з EIP за допомогою адрес до ret (RET-ковзання)

  • 0x00, доданий рядком, модифікує адресу зі стеку, змушуючи її вказувати на NOP-ковзання

За посиланням це можна побачити приклад вразливого бінарного файлу, а тут - експлойт.

Ret2pop

У випадку, якщо ви можете знайти ідеальний вказівник у стеці, який ви не хочете змінюватиret2ret ми змінюємо останній найнижчий байт на 0x00), ви можете виконати такий самий напад ret2ret, але довжина RET-ковзання повинна бути скорочена на 1 (так щоб останній 0x00 перезаписував дані безпосередньо перед ідеальним вказівником), і остання адреса RET-ковзання повинна вказувати на pop <reg>; ret. Таким чином, дані перед ідеальним вказівником будуть видалені зі стеку (це дані, які змінюються на 0x00), і останній ret буде вказувати на ідеальну адресу у стеці без будь-яких змін.

За посиланням це можна побачити приклад вразливого бінарного файлу, а тут - експлойт.

References

Вивчайте та практикуйте хакінг AWS: Навчання HackTricks AWS Red Team Expert (ARTE) Вивчайте та практикуйте хакінг GCP: Навчання HackTricks GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Last updated