AFL фаззинг без рута - избегайте изменения /proc/sys/kernel/core_pattern
Я хочу запустить фаззер American Fuzzy Lop (AFL) в системе Linux, где у меня нет прав root. Когда я это делаю, первое, что происходит, - это сообщение об ошибке с просьбой изменить /proc/sys/kernel/core_pattern
:
[-] Хм, ваша система настроена на отправку уведомлений о дампе ядра во внешнюю утилиту. Это вызовет проблемы из-за длительной задержки между сбоями в нечетком двоичном коде, и эта информация в конечном итоге будет передана фаззеру через стандартный API waitpid ().
Чтобы избежать ошибочных интерпретаций сбоев как зависаний, войдите в систему как пользователь root и временно измените /proc/sys/kernel/core_pattern, например так:
echo core >/proc/sys/kernel/core_pattern [-] PROGRAM ABORT : Pipe at the beginning of 'core_pattern' Location : check_crash_handling(), afl-fuzz.c:6959
Я понимаю это сообщение об ошибке и почему объяснение имеет смысл.
К сожалению, модифицирование /proc/sys/kernel/core_pattern
требует root-доступа в системе. По своему опыту я знаю, что остальной части AFL не нужен root-доступ для работы.
Есть ли обходной путь для использования AFL без рута? (Может быть, какой-то альтернативный способ на уровне пользователя отключить автоматический обработчик дампов ядра, чтобы он не испортил AFL?) Я прочитал здесь несколько вопросов о дампах ядра в Linux, и ни один из них не определил какой-либо способ настройки обработчик coredump на уровне пользователя для каждого процесса.
1 ответ
На самом деле кто-то уже запрашивает эту функцию здесь:
Источник: https://groups.google.com/forum/m/
так что вам просто нужно установить эту переменную env AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES - как следует из названия, вы можете что-то пропустить:)
также см. 3) в /docs/env_variables.txt для ознакомления https://github.com/mirrorer/afl/blob/master/docs/env_variables.txt