Доступен out-of-tree 0.2, инструментарий для проверки кода с разными ядрами Linux

Подготовлен выпуск инструментария out-of-tree 0.2, позволяющего автоматизировать сборку и тестирование модулей ядра или проверку работоспособности эксплоитов с различными версиями ядра Linux. Out-of-tree формирует виртуальное окружение (используется QEMU и Docker) с произвольной версией ядра и выполняет указанные действия по сборке, тестированию и запуску модулей или эксплоитов. Код проекта написан на языке Go и распространяется под лицензией AGPLv3.

Сценарий проверки задаётся в файле .out-of-tree.toml и может охватывать сразу несколько выпусков ядра (например, можно протестировать работу эксплоита или разрабатываемого модуля с разными версиями ядра). Пример сценария ".out-of-tree.toml" для выявления версий ядра 4.4.x и 4.8.x, в которых работоспособен определённый эксплоит:


name = "CVE-XXXX-YYYYY exploit"
type = "exploit" # or "module" for LKM

[[supported_kernels]]
distro_type = "Ubuntu"
distro_release = "16.04"
release_mask = "4.4.0-(1|2|3|4)-.*"

[[supported_kernels]]
distro_type = "Ubuntu"
distro_release = "16.04"
release_mask = "4.8.0-(1|2|3|4|5|6|7|8|9|10)-.*"

Для сборки ядер для тестирования следует перейти в каталог с файлом .out-of-tree.toml и выполнить:


   out-of-tree kernel autogen 

Cборка и запуск тестируемого эксплоита или модуля ядра:


   out-of-tree pew

Проверка уже собранного эксплоита:


   out-of-tree pew --binary some_exploit --test some_exploit_test

Выявления версий ядра, подверженных уязвимости:


   out-of-tree pew --guess


12/02/2018 10:30:00
0

комментарии (0)