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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-54121-CertiGhost — CVE-2026-54121 (Certighost) PoC имперсонации DC в AD CS. Исправленная обработка SAN + повторное использование учётных записей с учётом MAQ. | Kitploit
Инструменты/GitHubGitHub/marcgoam/cve-2026-54121-certighost
Аутентификация и авторизацияПовышение привилегийАнализ уязвимостейЭксплуатацияЛатеральное перемещениеТестирование на ПроникновениеСостязательная Атака
GitHubmarcgoam/cve-2026-54121-certighost

Популярное

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

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

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

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

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

CVE-2026-54121-CertiGhost

CVE-2026-54121 (Certighost) PoC имперсонации DC в AD CS. Исправленная обработка SAN + повторное использование учётных записей с учётом MAQ.

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

CVE-2026-54121 (Certighost) - исправленный форк

Рабочий форк PoC-инструмента для CVE-2026-54121, также известного как Certighost. Оригинальное исследование и PoC от @H0j3n и @aniqfakhrul. Подробный анализ:

  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26.

Этот форк исправляет обработку SAN, из-за которой PKINIT не мог завершиться успешно на центрах сертификации (ЦС), учитывающих запрошенный SAN, делает разбор --target-san более надёжным и перерабатывает логику работы с учётными записями компьютеров, чтобы квота ms-DS-MachineAccountQuota больше не исчерпывалась.

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

Запускайте от root, так как поддельные службы LDAP и SMB требуют привилегированных портов 389 и 445.

root@kitploit:~
sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10

После успешного завершения целевой сертификат (.pfx) и кэш Kerberos (.ccache) записываются в текущий рабочий каталог.

Что делает этот скрипт

  1. Повторно использует одну стабильную учётную запись компьютера (CERTIGHOST$, создаётся при первом запуске) или учётную запись, указанную через --computer-name.
  2. Запускает два поддельных слушателя: сервер SMB/LSA на порту 445 и сервер LDAP на порту 389.
  3. Отправляет запрос сертификата от имени этой учётной записи компьютера, встраивая пользовательский атрибут cdc, указывающий на контролируемый IP-адрес (через --listener; необязательно, если не указан — определяется автоматически), а также атрибут rmd, содержащий DNS-имя целевого контроллера домена.
  4. ЦС подключается обратно к поддельным слушателям LSA/LDAP. Они аутентифицируются как созданная учётная запись (проверенная через реальный контроллер домена по Netlogon) и отвечают на запросы ЦС идентичностью целевого контроллера домена (sAMAccountName, SID, dNSHostName) вместо собственной.
  5. ЦС выдаёт действительный сертификат, принадлежащий контроллеру домена.
  6. Скрипт выполняет PKINIT с PFX контроллера домена для запроса .ccache и NT-хэша.

Изменения в этом форке

1. Исправление SAN (позволяет PKINIT завершиться успешно)

В оригинале SAN сертификата задавался и в расширении subjectAltName запроса CSR, и в атрибуте запроса SAN:dns=, на основе имени узла поддельного компьютера, а не FQDN целевого контроллера домена. На ЦС, который учитывает запрошенный SAN, выданный сертификат содержал dNSHostName поддельной учётной записи, поэтому PKINIT сопоставлял его с неправильным субъектом и завершался с ошибкой:

root@kitploit:~
KDC_ERR_CLIENT_NAME_MISMATCH(Reserved for PKINIT)

Теперь SAN использует dNSHostName целевого контроллера домена (rmd_value / target_dns) — именно по нему PKINIT сопоставляет учётную запись компьютера. Выданный сертификат теперь содержит DNS:<dc>.<domain>, и AS-REQ завершается от имени контроллера домена.

2. Устойчивый --target-san

--target-san теперь принимает любое из значений MEEREEN, MEEREEN$ или FQDN meereen.essos.local (сопоставляется по sAMAccountName или dNSHostName), а не только краткую форму NAME.

3. Повторное использование учётной записи компьютера (без исчерпания MAQ)

Оригинал при каждом запуске создавал новую случайную учётную запись GHOST********$. Поскольку учётные записи компьютеров, созданные через ms-DS-MachineAccountQuota, принадлежат администраторам домена (а не создателю), непривилегированный пользователь не может их удалить, поэтому повторные запуски быстро приводили к исчерпанию квоты (по умолчанию 10) и появлению осиротевших учётных записей.

Этот форк повторно использует одну стабильную учётную запись (CERTIGHOST$, создаётся только если её ещё нет), поэтому квота не растёт и между запусками нечего очищать.

4. Предупреждение об оставленной учётной записи

При первом создании учётной записи скрипт выводит предупреждение о том, что она остаётся в AD:

root@kitploit:~
[!] WARNING: computer account CERTIGHOST$ was created and is left in AD.

Учётная запись сохраняется для повторного использования в последующих запусках. Чтобы полностью удалить её, выполните удаление с правами администратора домена (владельца объекта):

root@kitploit:~
Get-ADComputer CERTIGHOST | Remove-ADComputer -Confirm:$false

Требования

  • Python 3
  • impacket
  • cryptography, pyasn1, asn1crypto, pycryptodomex

Ссылки

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121
  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
  • https://github.com/aniqfakhrul/CVE-2026-54121 (оригинальный PoC)

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

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

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