
Автоматизированный сканер и патчер на основе SSH для LPE-уязвимостей ядра Linux CVE-2026-43284 и CVE-2026-43500, с обнаружением нескольких хостов, выявлением повышения привилегий и смягчением последствий путём блокировки модулей.
Дисклеймер: Этот инструмент предназначен исключительно для легального внутреннего аудита безопасности. Использование без разрешения на системах, которые вам не принадлежат, является нарушением. Разработано Gagaltotal666 - GhostGTR666.
Инструмент выявляет и смягчает две уязвимости Local Privilege Escalation (LPE) в ядре Linux:
f4c50a4034e6 от 2026-05-05)/etc/modprobe.d/| Возможность | Описание |
|---|---|
| Многохостовый сканер | Сканирование всей подсети (CIDR) или конкретного списка IP параллельно |
| TCP Ping Discovery | Автоматическое обнаружение активных хостов перед SSH (можно пропустить с помощью --skip-discovery) |
| Глубокий аудит | Анализ версии ядра, статуса модулей, патча upstream, уровня привилегий |
| Оценка уязвимостей | Автоматическая классификация статуса: VULNERABLE, MITIGATED, LIKELY_PATCHED, POSSIBLY_SAFE, MODULE_NOT_LOADED |
| Автоматическое смягчение | Блокировка модулей, выгрузка и очистка page-cache одной командой --patch |
| Zero-Touch Sudo Injection | Автоматический ввод пароля через sudo -S — настройка NOPASSWD не требуется |
| Умное определение аутентификации | Автоматическое обнаружение повышения привилегий (root, sudo NOPASSWD, sudo с паролем) |
| Проверка CLI | Предварительная проверка опечаток, валидация файла SSH-ключа (защита от поддельных known_hosts) |
| Параллельное выполнение | Пул потоков для сканирования и SSH-операций (по умолчанию 20 воркеров) |
| Отчёт в JSON | Экспорт полных результатов аудита в формат JSON |
| Красивый вывод | Цветной вывод + сводка PrettyTable (автоматический fallback, если библиотека отсутствует) |
| Обработка сигналов | Корректное завершение через SIGINT/SIGTERM |
Python 3.8 или выше
Библиотеки: paramiko, colorama, prettytable
python3 -m venv .venv
source .venv/bin/activate
# Клонирование репозитория
git clone https://github.com/gagaltotal/dirtyfrag-scanner.git
cd dirtyfrag-scanner
# Установка зависимостей
pip install -r requirements.txt
# или
pip install paramiko colorama prettytable

Обнаружение уязвимостей без каких-либо изменений на целевом сервере.
# С использованием пароля
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user ghostgtr666 --password 'server@02!'
# С использованием SSH-ключа
python3 dirtyfrag_scanner.py --subnet 10.134.205.0/24 --user root --key ~/.ssh/id_rsa
# С использованием обоих (пароль как fallback, если ключ не сработает)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user admin --password 'pass' --key ~/.ssh/id_rsa
# Сканирование конкретных IP (без discovery)
python3 dirtyfrag_scanner.py --hosts 192.168.1.10,192.168.1.20 --user admin --password 'pass'
Запуск аудита и немедленное применение смягчения на уязвимых серверах.
# Патч с использованием пароля (АВТО-ВВОД SUDO, NOPASSWD НЕ ТРЕБУЕТСЯ)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user ghostgtr666 --password 'server@02!' --patch
# Патч с входом под root
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --patch
# Патч с настраиваемым количеством воркеров (более быстрое сканирование)
python3 dirtyfrag_scanner.py --subnet 192.168.0.0/16 --user admin --password 'pass' --patch --workers 50
--subnet CIDR Сканирование подсети CIDR (например, 192.168.1.0/24)
--hosts IP[,IP,...] Сканирование конкретных IP (через запятую, без пробелов)
--user USERNAME Имя пользователя SSH (обязательно)
--password PASSWORD Пароль SSH (используйте кавычки при наличии спецсимволов)
--key PATH Путь к приватному SSH-ключу (например, ~/.ssh/id_rsa, не known_hosts!)
--port PORT Пользовательский порт SSH (по умолчанию: 22)
--timeout SECONDS Таймаут подключения SSH (по умолчанию: 10, максимум: 300)
--skip-discovery Пропустить TCP ping discovery, сразу подключаться по SSH ко всем IP
--workers NUM Количество параллельных SSH-воркеров (по умолчанию: 20, мин: 1, макс: 100)
--patch Применить смягчение на уязвимых хостах
--output FILE Сохранить результаты аудита в JSON-файл
Инструмент разработан для работы в различных средах SSH-серверов без необходимости изменения sudoers:
Прямой root (рекомендуется)
--user root --key ~/.ssh/id_rsa --patch
Sudo NOPASSWD
--user ubuntu --key ~/.ssh/id_rsa --patch
/etc/sudoers уже настроен с NOPASSWDsudo -nSudo с вводом пароля (Zero-Touch) ⭐
--user ubuntu --password 'mypass' --patch
/etc/sudoers: ALL=(ALL) ALLsudo -S -p ''Гибридный (ключ + пароль)
--user ubuntu --key ~/.ssh/id_rsa --password 'mypass' --patch
При использовании флага --patch инструмент последовательно выполняет следующие шаги: