Common Binary Exploitation Protections & Bypasses
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Файли ядра - це тип файлу, що генерується операційною системою, коли процес зазнає збою. Ці файли захоплюють образ пам'яті зазнавшого збою процесу на момент його завершення, включаючи пам'ять процесу, регістри та стан лічильника програми, серед інших деталей. Цей знімок може бути надзвичайно цінним для налагодження та розуміння причин збою.
За замовчуванням багато систем обмежують розмір файлів ядра до 0 (тобто, вони не генерують файли ядра), щоб заощадити місце на диску. Щоб увімкнути генерацію файлів ядра, ви можете використовувати команду ulimit
(в bash або подібних оболонках) або налаштувати системні параметри.
Використання ulimit: Команда ulimit -c unlimited
дозволяє поточній сесії оболонки створювати файли ядра необмеженого розміру. Це корисно для сесій налагодження, але не зберігається після перезавантаження або нових сесій.
Постійна конфігурація: Для більш постійного рішення ви можете відредагувати файл /etc/security/limits.conf
, щоб включити рядок на кшталт * soft core unlimited
, що дозволяє всім користувачам генерувати файли ядра необмеженого розміру без необхідності вручну встановлювати ulimit у своїх сесіях.
Щоб проаналізувати файл ядра, ви можете використовувати інструменти налагодження, такі як GDB (GNU Debugger). Припустимо, у вас є виконуваний файл, який створив дамп ядра, і файл ядра називається core_file
, ви можете розпочати аналіз з:
Ця команда завантажує виконуваний файл та файл ядра в GDB, що дозволяє вам перевірити стан програми в момент збою. Ви можете використовувати команди GDB для дослідження стеку, перевірки змінних та розуміння причини збою.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)