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

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

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

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

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

Категории

Все категории
Loading categories
cpanel2shell-scanner — Высокоточный сканер для CVE-2026-41940 (cPanel & WHM обход аутентификации) | Kitploit
Инструменты/GitHubGitHub/assetnote/cpanel2shell-scanner
Сканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияРазработка Полезной Нагрузки
GitHubassetnote/cpanel2shell-scanner

cpanel2shell-scanner

Высокоточный сканер для CVE-2026-41940 (cPanel & WHM обход аутентификации)

Репозиторий
922484 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

cpanel2shell-scanner

Высокоточный сканер для обхода аутентификации cPanel/WHM, отслеживаемого как CVE-2026-41940. Он выявляет уязвимые хосты без ложных отрицательных результатов, характерных для публичных PoC и детектов, и без срабатывания механизмов блокировки учётных записей и белого списка IP-адресов root, которые мешают наивному сканированию.

Инструмент также включает в себя отдельную, опциональную цепочку эксплуатации для баги обхода пути CalDAV того же семейства на cpdavd (порты 2079 plain / 2080 TLS) — CVE-2026-29205 — которая позволяет удалённому атакующему читать произвольные файлы от root, как только выполнится небольшой шаг настройки через SMTP. cPanel 11.134.0.26 исправляет базовую ошибку времени жизни RAII, так что чтение теперь выполняется от непривилегированного владельца учётной записи; обход по-прежнему достигает cpdavd, но не может выйти за пределы того, что уже может прочитать эта учётная запись. Цепочка CalDAV включается флагом --exploit и по умолчанию отключена, поскольку она отправляет настоящие письма и читает файлы с подтверждённых целей — см. раздел Режим эксплуатации (активный).

Зачем нужен этот сканер

У большинства публичных детектов для CVE-2026-41940 есть три проблемы. Этот сканер решает каждую из них.

Вы можете прочитать нашу статью об этой технике обнаружения здесь: https://slcyber.io/research-center/high-fidelity-check-for-the-cpanel-authentication-bypass-cve-2026-41940/

Он проверяет пути прокси, а не только порты управления

Per-vhost конфигурация Apache от cPanel устанавливает ProxyPass, который направляет /___proxy_subdomain_whm на 127.0.0.1:2086 и /___proxy_subdomain_cpanel на 127.0.0.1:2080 независимо от заголовка Host запроса. RewriteCond ограничивает только перезапись, которая сопоставляет поддомен управления с путём прокси; сам ProxyPass безусловен. Обращение к этим путям на любом vhost, обслуживаемом управляемым cPanel Apache, достигает того же уязвимого бэкенда, что и порты управления.

Сканеры, которые проверяют только порты 2082/2083/2086/2087, сообщат, что хост не уязвим, когда эти порты закрыты брандмауэром, хотя ошибка полностью доступна через 443. Этот сканер по умолчанию проверяет 2087, 2083 и два прокси-пути на 443.

Он не блокируется cphulkd или белым списком IP root

cPanel поставляется с cphulkd, который блокирует учётные записи после небольшого числа неудачных попыток входа, и authorized_whm_root_ips, который ограничивает входы root настроенным списком исходных адресов. Сканер, который эксплуатирует обход путём попытки внедрить сессию для root, будет:

  • молча игнорироваться, если IP сканера нет в белом списке root, что даёт ложный отрицательный результат; и
  • создавать события неудачных паролей для той учётной записи, на которую он нацелен, что в конечном итоге заблокирует эту учётную запись и помешает как обнаружению, так и легитимным входам.

Этот сканер избегает обеих проблем на стороне WHM, внедряя expired=1 в полезную нагрузку сессии под случайно сгенерированным именем пользователя. Внедрение сессии проверяется посещением полученного URL с cpsessXXXX и поиском msg_code:[expired_session] в теле ответа, который присутствует только при успешном внедрении. Никакая реальная учётная запись не является целью, поэтому ни одна реальная учётная запись не может быть заблокирована, а белый список root не имеет значения, поскольку попытка входа от root не производится.

Там, где это необходимо, используется список имён пользователей

Демон cPanel (cpaneld, порты 2083 и путь /___proxy_subdomain_cpanel) требует, чтобы предоставленное имя пользователя соответствовало существующей учётной записи cPanel на диске (-f /var/cpanel/users/$user). Имя root никогда не пройдёт эту проверку, потому что root — системный пользователь, а не пользователь cPanel. Детекты, которые пробуют только root, дают ложные отрицательные результаты на этой поверхности. Этот сканер использует настраиваемый список распространённых имён пользователей cPanel для поверхности cPanel и возвращается к пути со случайным именем на поверхности WHM, где такого ограничения нет.

Как работает обнаружение

Для каждой цели сканер выполняет следующие шаги для каждой поверхности:

  1. Отправляет GET /login и читает заголовок Set-Cookie для whostmgrsession (WHM) или cpsession (cPanel). Куки содержит компонент имени сессии, разделённый запятыми.
  2. Отправляет GET / с заголовком Authorization: Basic, декодированное значение которого равно <user>:\xff\nexpired=1. Завершающее \nexpired=1 — это полезная нагрузка для внедрения сессии. Куки сессии из шага 1 воспроизводится без изменений.
  3. Читает заголовок Location из ответа и извлекает токен cpsessXXXX.
  4. Отправляет GET /<cpsessXXXX>/ с исходной куки и ищет msg_code:[expired_session] в теле. Его наличие доказывает, что внедрение сессии прошло успешно и хост уязвим.

На WHM (порт 2087 и путь /___proxy_subdomain_whm на 443) имя пользователя — это случайное u, за которым следуют десять шестнадцатеричных символов. На cPanel (порт 2083 и путь /___proxy_subdomain_cpanel на 443) сканер проходит по списку имён пользователей и останавливается на первом совпадении.

По умолчанию сканер проверяет 2087, 2083 и 443 в указанном порядке и останавливается, как только любая поверхность подтвердит уязвимость.

Эксплуатация обхода пути CalDAV (--exploit)

CVE-2026-29205 — cPanel/WHM WP2 Security Update, 13 мая 2026. Исправлено в cPanel 11.134.0.26. В уведомлении отслеживается та же регрессия понижения привилегий cpdavd, которую использует эта цепочка эксплуатации.

Полное описание ошибки и цепочки эксплуатации: https://slcyber.io/research-center/new-age-of-collisions-reading-arbitrary-files-pre-auth-as-root-in-cpanel-cve-2026-29205

cpdavd на портах 2079 (plain HTTP) и 2080 (TLS) доверяет пути <principal>/<collection>/..., который он строит при обслуживании ресурсов CalDAV/CardDAV. Создав запрос, компонент пути которого кодирует сегменты .., и направив его на папку maildir, имя которой на диске также кодирует обход (x-attachment-1-y), можно заставить cpdavd прочитать любой файл на диске от root, независимо от владельца или прав доступа — включая /etc/shadow, /etc/passwd и пользовательские почтовые ящики.

Защита в глубине, которая должна была понизить привилегии до владельца учётной записи перед чтением, молчаливо не сработала: объект Cpanel::AccessIds::ReducedPrivileges был создан в void-контексте, поэтому его деструктор восстанавливал привилегии root до того, как выполнялось чтение. cPanel 11.134.0.26 привязывает объект к лексической переменной my $privs, чтобы он жил на протяжении всей цепочки -f / stat / open / read; на исправленных хостах чтение поэтому выполняется от непривилегированного владельца учётной записи вместо root.

Уязвимая папка должна существовать на диске до того, как чтение сработает. cPanel автоматически создаёт папку с именем .x-attachment-1-y для получателя <user>+x-attachment-1-y@<domain> при первом поступлении письма на этот субадрес. Таким образом, цепочка выглядит так:

Скачать инструмент