## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ANIQFAKHRUL-CVE-2026-54121
# CVE-2026-54121 (Certighost)
Это proof-of-concept инструмент для демонстрации CVE-2026-54121, также известного как _Certighost_. Подробный анализ читайте здесь: https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
## Установка зависимостей
Proof of concept представляет собой автономный Python-скрипт. Требуются impacket, cryptography, pyasn1, asn1crypto и dnspython.
root@kitploit:~
sudo pip install --break-system-packages git+https://github.com/fortra/impacket.git cryptography pyasn1 asn1crypto pycryptodome dnspython
## Использование
Запускайте от 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. Создаёт новую учётную запись компьютера (например, `GHOSTABCDEFGH$`) или использует переданную через `--computer-name`.
2. Запускает два поддельных слушателя: SMB/LSA-сервер на порту 445 и LDAP-сервер на порту 389.
3. Отправляет запрос на сертификат от имени этой учётной записи компьютера, встраивая настраиваемый атрибут `cdc`, указывающий на контролируемый IP (через `--listener`; необязательно, автоматически определяется, если опущен), а также атрибут `rmd`, содержащий DNS-имя целевого DC.
4. CA подключается обратно к поддельным LSA/LDAP-слушателям. Они аутентифицируются как созданная учётная запись (проверенная через реальный DC по Netlogon) и отвечают на запросы CA идентичностью целевого DC (sAMAccountName, SID, dNSHostName).
5. CA выдаёт действительный сертификат, принадлежащий DC.
6. Скрипт также выполняет PKINIT с использованием pfx DC для запроса .ccache и NT-хэша.
## Хронология
* **28 июля 2026** — Благодарность @GregDurys за PR, исправляющий проблему `STATUS_NOLOGON_SERVER_TRUST_ACCOUNT`. `certighost` теперь содержит надлежащий внутрискриптовый хотпатч поддельного пути SMB NetLogon (устанавливающий бит E `0x20` вместе с битом K `0x800` в `ParameterControl`, согласно MS-NRPC 2.2.1.4.15), поэтому эксплойт работает против CA, размещённого на контроллере домена, без необходимости установки другой/форкнутой версии Impacket.
* **28 июля 2026** — Благодарность @Hack0ura за упоминание исправления request-SAN. На CA, который учитывает SAN, переданные в запросе (`EDITF_ATTRIBUTESUBJECTALTNAME2` / ESC6), запрос на сертификат теперь устанавливает идентичность `SAN:dns` в DNS-имя целевого DC (`rmd_value`) вместо имени поддельного компьютера, избегая `KDC_ERR_CLIENT_NAME_MISMATCH` на этапе PKINIT. Для шаблонов, создаваемых из AD, SAN из запроса игнорируется, поэтому изменение безопасно и ничего не меняет (no-op).
## Ссылки
* https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121
* https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
* https://github.com/ly4k/Certipy