linux-exploit-suggester

Exploitation v1.2 · 19.02.2026 активный

Скрипт для поиска применимых kernel exploit-ов на текущей Linux-системе. Анализирует версию ядра и конфигурацию системы, выдаёт список CVE с готовыми PoC. Незаменим при privilege escalation на этапе постэксплуатации Linux-хостов.

v1.2
19.02.2026 current
Добавлен 07.07.2026 · Обновлён 07.07.2026 · Exploitation
Установка
git clone https://github.com/The-Z-Labs/linux-exploit-suggester
cd linux-exploit-suggester

# Запуск на цели:
bash linux-exploit-suggester.sh

# Или одной строкой (без загрузки на диск):
curl -s https://raw.githubusercontent.com/The-Z-Labs/linux-exploit-suggester/master/linux-exploit-suggester.sh | bash

# Расширенный режим:
bash linux-exploit-suggester.sh --full
bash linux-exploit-suggester.sh --uname "Linux 4.4.0-116-generic"
переведено ИИ

LES: Инструмент аудита повышения привилегий в Linux

Быстрая загрузка:

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh

Подробности об использовании и внутренней работе LES:

https://blog.z-labs.eu/2019/05/10/les-paper.html

Дополнительные ресурсы для LES:

https://github.com/mzet-/les-res

Назначение

Инструмент LES предназначен для помощи в обнаружении уязвимостей безопасности в указанном ядре Linux/на Linux-машине. Он предоставляет следующий функционал:

Оценка подверженности системы Linux публично известным эксплойтам

Инструмент оценивает (используя эвристические методы, подробно обсуждённые здесь) подверженность указанной Linux-системы публично известным эксплойтам для повышения привилегий в Linux. Пример вывода инструмента:

$ ./linux-exploit-suggester.sh
...
[+] [CVE-2017-16995] eBPF_verifier

   Details: https://ricklarabee.blogspot.com/2018/07/ebpf-and-analysis-of-get-rekt-linux.html
   Exposure: highly probable
   Tags: debian=9.0{kernel:4.9.0-3-amd64},fedora=25|26|27,[ ubuntu=14.04 ]{kernel:4.4.0-89-generic},ubuntu=(16.04|17.04){kernel:4.(8|10).0-(19|28|45)-generic}
   Download URL: https://www.exploit-db.com/download/45010
   Comments: CONFIG_BPF_SYSCALL needs to be set && kernel.unprivileged_bpf_disabled != 1

[+] [CVE-2017-1000112] NETIF_F_UFO

   Details: http://www.openwall.com/lists/oss-security/2017/08/13/1
   Exposure: probable
   Tags: [ ubuntu=14.04{kernel:4.4.0-*} ],ubuntu=16.04{kernel:4.8.0-*}
   Download URL: https://raw.githubusercontent.com/xairy/kernel-exploits/master/CVE-2017-1000112/poc.c
   ext-url: https://raw.githubusercontent.com/bcoles/kernel-exploits/cve-2017-1000112/CVE-2017-1000112/poc.c
   Comments: CAP_NET_ADMIN cap or CONFIG_USER_NS=y needed. SMEP/KASLR bypass included. Modified version at 'ext-url' adds support for additional distros/kernels

[+] [CVE-2016-8655] chocobo_root

   Details: http://www.openwall.com/lists/oss-security/2016/12/06/1
   Exposure: probable
   Tags: [ ubuntu=(14.04|16.04){kernel:4.4.0-(21|22|24|28|31|34|36|38|42|43|45|47|51)-generic} ]
   Download URL: https://www.exploit-db.com/download/40871
   Comments: CAP_NET_RAW capability is needed OR CONFIG_USER_NS=y needs to be enabled
...

Для каждого эксплойта вычисляется показатель «Подверженность». Возможны следующие состояния «Подверженности»:

  • Высокая вероятность - скорее всего, затронутое ядро уязвимо, и существует очень высокая вероятность того, что PoC-эксплойт будет работать «из коробки» без серьёзных модификаций.

  • Вероятно - возможно, что эксплойт сработает, но, скорее всего, потребуется настройка PoC-эксплойта под вашу целевую систему.

  • Маловероятно - необходим дополнительный ручной анализ для проверки, затронуто ли ядро.

  • Невероятно - крайне маловероятно, что ядро затронуто (эксплойт не отображается в выводе инструмента).

Проверка состояния мер безопасности по укреплению ядра

LES может проверять большинство доступных параметров безопасности вашего ядра Linux. Он проверяет не только конфигурации ядра при компиляции (CONFIG), но и параметры во время выполнения (sysctl), что даёт более полную картину постфактум безопасности работающего ядра. Эта функциональность является современным продолжением ключа --kernel для инструмента checksec.sh от Тобиаса Кляйна. Пример вывода инструмента:

$ ./linux-exploit-suggester.sh --checksec

Mainline kernel protection mechanisms:

 [ Disabled ] GCC stack protector support (CONFIG_HAVE_STACKPROTECTOR)
              https://github.com/mzet-/les-res/blob/master/features/stackprotector-regular.md

 [ Disabled ] GCC stack protector STRONG support (CONFIG_STACKPROTECTOR_STRONG)
              https://github.com/mzet-/les-res/blob/master/features/stackprotector-strong.md

 [ Enabled  ] Low address space to protect from user allocation (CONFIG_DEFAULT_MMAP_MIN_ADDR)
              https://github.com/mzet-/les-res/blob/master/features/mmap_min_addr.md

 [ Disabled ] Restrict unprivileged access to kernel syslog (CONFIG_SECURITY_DMESG_RESTRICT)
              https://github.com/mzet-/les-res/blob/master/features/dmesg_restrict.md

 [ Enabled  ] Randomize the address of the kernel image (KASLR) (CONFIG_RANDOMIZE_BASE)
              https://github.com/mzet-/les-res/blob/master/features/kaslr.md

 [ Disabled ] Hardened user copy support (CONFIG_HARDENED_USERCOPY)
              https://github.com/mzet-/les-res/blob/master/features/hardened_usercopy.md

...

Использование

Оценка подверженности Linux-системы публично известным эксплойтам:

$ ./linux-exploit-suggester.sh

Отображение состояния функций безопасности на Linux-системе:

$ ./linux-exploit-suggester.sh --checksec

Оценка подверженности ядра Linux публично известным эксплойтам на основе предоставленной строки uname (т.е. вывода команды uname -a):

$ ./linux-exploit-suggester.sh --uname <uname-string>

Больше примеров использования смотрите здесь.

Участие в разработке

Вы, надеюсь, теперь знаете, что такое LES и что он может для вас сделать. Теперь посмотрите, что вы можете сделать для LES:

  • Добавляйте в него новые опубликованные эксплойты для повышения привилегий в Linux.
  • Тестируйте существующие эксплойты на различных дистрибутивах Linux с различными версиями ядер, а затем документируйте свои выводы в виде Тегов в LES, например тега: ubuntu=12.04{kernel:3.(2|5).0-(23|29)-generic}, который указывает: отмеченный эксплойт был проверен как корректно работающий на Ubuntu 12.04 с ядрами: 3.2.0-23-generic, 3.2.0-29-generic, 3.5.0-23-generic и 3.5.0-29-generic;. С добавлением этого тега LES автоматически выделит и повысит динамический Ранг эксплойта при запуске на Ubuntu 12.04 с одной из указанных версий ядра. Это поможет вам (и другим) во время пентестов быстро выявлять критически уязвимые Linux-машины.
  • Опубликованные эксплойты часто написаны исключительно для целей PoC только для одного (или пары) конкретных дистрибутивов Linux и/или версий ядра. Берите исходный код понравившегося эксплойта и настраивайте его для запуска на других версиях ядра. Затем добавьте вашу настроенную версию эксплойта как запись ext-url в LES и измените Теги, чтобы отразить вновь добавленные цели. Отличный пример адаптации конкретного PoC-эксплойта к различным версиям ядра можно найти в этой статье.
  • Проведите анализ исходного кода выбранной меры безопасности по укреплению ядра, затем добавьте её в массив FEATURES (если её там ещё нет) и опубликуйте свой анализ по адресу: https://github.com/mzet-/les-res/blob/master/features/<feature-name>.md.

Благодарности

bcoles за его превосходные и частые вклады в LES.

Комментарии
Войдите, чтобы оставить комментарий