Large Bin Attack
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Для отримання додаткової інформації про те, що таке великий бін, перегляньте цю сторінку:
Bins & Memory AllocationsМожна знайти чудовий приклад у how2heap - large bin attack.
В основному, тут ви можете побачити, як у останній "поточній" версії glibc (2.35) не перевіряється: P->bk_nextsize
, що дозволяє змінювати довільну адресу значенням великого бінового шматка, якщо виконуються певні умови.
У цьому прикладі ви можете знайти такі умови:
Виділено великий шматок
Виділено великий шматок, менший за перший, але в тому ж індексі
Повинен бути меншим, тому в біні він повинен йти першим
(Створюється шматок, щоб запобігти злиттю з верхнім шматком)
Потім перший великий шматок звільняється, і виділяється новий шматок, більший за нього -> Chunk1 потрапляє до великого біна
Потім другий великий шматок звільняється
Тепер вразливість: Зловмисник може змінити chunk1->bk_nextsize
на [target-0x20]
Потім виділяється більший шматок, ніж chunk 2, тому chunk2 вставляється у великий бін, перезаписуючи адресу chunk1->bk_nextsize->fd_nextsize
адресою chunk2
Існують інші потенційні сценарії, суть полягає в тому, щоб додати до великого біна шматок, який є меншим за поточний X шматок у біні, тому його потрібно вставити безпосередньо перед ним у біні, і ми повинні мати можливість змінити bk_nextsize
X, оскільки саме туди буде записана адреса меншого шматка.
Це відповідний код з malloc. Коментарі були додані, щоб краще зрозуміти, як адреса була перезаписана:
Це може бути використано для перезапису глобальної змінної global_max_fast
libc, щоб потім експлуатувати атаку швидкого біну з більшими шматками.
Ви можете знайти ще одне чудове пояснення цієї атаки в guyinatuxedo.
Атака великого біну в тій же ситуації, як це з'являється в how2heap.
Примітив запису є більш складним, оскільки global_max_fast
тут марний.
FSOP потрібен для завершення експлуатації.
Вчіться та практикуйте Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)