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