
Herramienta de Autoexploit Zerologon | CVE-2020-1472
El protocolo de cifrado vulnerable se implementa en lugar del mecanismo de autenticación en el protocolo Netlogon. Un atacante no autenticado puede establecer la contraseña de la cuenta de computadora del Domain Controller en nulo (null) utilizando la vulnerabilidad Zerologon (NT hash = 31d6cfe0d16ae931b73c59d7e0c089c0). Así, el atacante puede acceder al Domain Controller con las credenciales creadas y obtener las credenciales de otros usuarios. Al obtener las credenciales de usuarios autorizados, se puede obtener una sesión con altos privilegios en el Domain Controller.
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
python3 ADZero.py dc_ip
Utilizando la herramienta ADZero desarrollada por el equipo de Privia Security, se puede obtener una sesión de Command Prompt con privilegios de nt authority\system en el Domain Controller que tiene la vulnerabilidad Zerologon.
python3 ADZero.py dc_ip komutunun çalıştırılmasıyla, dc_ip IP adresine sahip Domain Controller makinesinde Command Prompt oturumu elde edilir.
ADZero aracı, hedef Domain Controller makinesinin dc_name (bilgisayar adı) ve dom_name (domain adı) bilgisini elde etmek için kimlik bilgileri null olan bir SMB login isteğinde bulunur. Alınan yanıttan, Domain Controller makinesine ait dc_name (bilgisayar adı) ve dom_name (domain) bilgisi elde edilebilir.
dc_name (bilgisayar adı), com_name (bilgisayar adı sonuna $ sembolünün eklenmesiyle oluşturulan bilgisayar hesabı) ve dc_ip (Domain Controller IP adresi) bilgisi kullanılarak güvenlik açığı tetiklenir. Netlogon Remote protokolü üzerinde yapılan istek sonucunda güvenlik açığının tetiklenmesiyle com_name (bilgisayar hesabı) parolası boş oluşturulur (NT hash = 31d6cfe0d16ae931b73c59d7e0c089c0).
Impacket modüllerinden biri olan secretdump.py modülü kullanılarak com_name (bilgisayar hesabı), dom_name, dc_ip ve com_name için oluşturulan boş parola bilgisiyle Domain Controller makinesinden Administrator kullanıcısına ait parola bilgisi LM:NTLM hash olarak dump edilir. Ayrıca, dump işlemi sırasında elde edilen LM:NTLM hash out adında bir dosyaya yazdırılır.
Elde edilen LM:NTLM hash'in Impacket modüllerinden smbexec.py modülüyle kullanılması sonucunda Domain Controller makinesinde Command Prompt oturumu elde edilir. LM:NTLM hash değerinin parola olarak kullanılması tekniğine Pass The Hash denir. Domain Controller makinesinde bir meterpreter oturumu, out adlı dosyaya yazdırılan LM:NTLM hash değerinin Metasploit Framework içerisindeki exploit/windows/smb/psexec exploit modülüyle kullanılması sonucunda elde edilebilir.
