Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Powermad — Herramientas de explotación de MachineAccountQuota y DNS en PowerShell | Kitploit
Herramientas/GitHubGitHub/kevin-robertson/powermad
Escalada de PrivilegiosReconocimientoGestión de IdentidadesMovimiento LateralPruebas de PenetraciónAutenticaciónRed Teaming
GitHubkevin-robertson/powermad

Powermad

Herramientas de explotación de MachineAccountQuota y DNS en PowerShell

Ver Repositorio
1.5k18818hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Powermad_logo

Herramientas de explotación de MachineAccountQuota y DNS de PowerShell

Wiki

  • https://github.com/Kevin-Robertson/Powermad/wiki

Entrada de Blog

  • Más allá del spoofing LLMNR/NBNS - Explotando DNS integrado en Active Directory

Funciones

  • Funciones de MachineAccountQuota
  • Funciones de DNS
  • Funciones de actualizaciones dinámicas
  • Funciones de ADIDNS
  • Funciones misceláneas

Funciones de MachineAccountQuota

La configuración predeterminada del atributo ms-DS-MachineAccountQuota de Active Directory permite que todos los usuarios del dominio agreguen hasta 10 cuentas de máquina a un dominio. Powermad incluye un conjunto de funciones para explotar ms-DS-MachineAccountQuota sin adjuntar un sistema real a AD.

Get-MachineAccountAttribute

Esta función puede devolver valores poblados en un atributo de cuenta de máquina.

Ejemplo:
  • Obtener el valor de 'description' de una cuenta de máquina llamada 'test'. Get-MachineAccountAttribute -MachineAccount test -Attribute discription

Get-MachineAccountCreator

Esta función aprovecha la propiedad ms-DS-CreatorSID en las cuentas de máquina para devolver una lista de nombres de usuario o SIDs y la cuenta de máquina asociada. La propiedad ms-DS-CreatorSID solo se completa cuando un usuario no privilegiado crea una cuenta de máquina.

Ejemplo:
  • Obtener una lista de todos los atributos ms-DS-CreatorSID poblados. Get-MachineAccountCreator

Disable-MachineAccount

Esta función puede deshabilitar una cuenta de máquina que se agregó mediante New-MachineAccount. Esta función debe usarse con el mismo usuario que creó la cuenta de máquina.

Ejemplo:
  • Deshabilitar una cuenta de máquina llamada test. Disable-MachineAccount -MachineAccount test

Enable-MachineAccount

Esta función puede habilitar una cuenta de máquina que fue deshabilitada mediante Disable-MachineAccount. Esta función debe usarse con el mismo usuario que creó la cuenta de máquina.

Ejemplo:
  • Habilitar una cuenta de máquina llamada test. Enable-MachineAccount -MachineAccount test

New-MachineAccount

Esta función puede agregar una nueva cuenta de máquina directamente a través de una solicitud de agregado LDAP a un controlador de dominio y no afectando el estado de conexión del sistema host a Active Directory.

La solicitud de agregado LDAP está modelada según la solicitud de agregado utilizada al unir un sistema a un dominio. Se establecen los siguientes atributos (mayormente validados por el DC):

  • objectClass = Computer
  • SamAccountName = Nombre de la cuenta de máquina con $ al final
  • userAccountControl = 4096
  • DnsHostName = FQDN
  • ServicePrincipalName = 2 SPN de HOST y 2 de RestrictedKrbHost usando tanto el FQDN como el nombre de la cuenta
  • unicodePwd = la contraseña especificada

Una nueva cuenta de máquina puede usarse para tareas como aprovechar el privilegio otorgado al grupo 'Domain Computers' o como una cuenta adicional para enumeración del dominio, exploits de DNS, etc. Por defecto, las cuentas de máquina no tienen permiso de inicio de sesión local. Puede usar herramientas/clientes que acepten credenciales de red directamente o mediante el uso de 'runas /netonly' o Invoke-UserImpersonation/Invoke-RevertToSelf de @harmj0y incluido con PowerView.

  • https://github.com/PowerShellMafia/PowerSploit/tree/dev/Recon

Las cuentas de máquina creadas con usuarios estándar tendrán el atributo mS-DS-CreatorSID poblado con el SID del usuario estándar.

Tenga en cuenta que ms-DS-MachineAccountQuota no proporciona la capacidad a los usuarios autenticados de eliminar las cuentas de máquina agregadas de AD. Se necesitarán privilegios elevados para eliminar la cuenta si desea evitar pasar la tarea a su cliente.

Ejemplos:
  • Agregar una nueva cuenta de máquina New-MachineAccount -MachineAccount test

  • Usar la cuenta agregada con runas /netonly runas /netonly /user:domain\test$ powershell

Remove-MachineAccount

Esta función elimina una cuenta de máquina con una cuenta privilegiada.

Ejemplo:
  • Eliminar una cuenta de máquina llamada test con credenciales de administrador del dominio Remove-MachineAccount -MachineAccount test -Credential $domainadmin

Set-MachineAccountAttribute

Esta función puede poblar algunos atributos para una cuenta que se agregó mediante New-MachineAccount, si un usuario tiene acceso de escritura. Esta función debe usarse con el mismo usuario que creó la cuenta de máquina.

Aquí hay una lista de algunos de los atributos habituales con acceso de escritura habilitado:

  • AccountDisabled
  • description
  • displayName
  • DnsHostName
  • ServicePrincipalName
  • userParameters
  • userAccountControl
  • msDS-AdditionalDnsHostName
  • msDS-AllowedToActOnBehalfOfOtherIdentity
  • SamAccountName
Ejemplos:
  • Eliminar el '$' al final del atributo SamAccountName Set-MachineAccountAttribute -MachineName test -Attribute SamAccountName -Value test

  • Usar la cuenta modificada con runas /netonly runas /netonly /user:domain\test powershell

Invoke-AgentSmith

Esta función aprovecha New-MachineAccount para crear recursivamente tantas cuentas de máquina como sea posible desde una sola cuenta no privilegiada a través de MachineAccountQuota. Consulte la siguiente entrada de blog para más detalles:

  • https://blog.netspi.com/machineaccountquota-transitive-quota

Funciones de DNS

Por defecto, los usuarios autenticados tienen el permiso 'Crear todos los objetos secundarios' en la zona DNS integrada en Active Directory (ADIDNS). La mayoría de los registros que no existen actualmente en una zona de AD pueden agregarse/eliminarse.

Funciones de actualizaciones dinámicas

Invoke-DNSUpdate

Esta función puede usarse para agregar/eliminar registros DNS dinámicos si la configuración predeterminada de actualizaciones dinámicas seguras habilitadas está configurada en un controlador de dominio. Actualmente se admiten registros A, AAAA, CNAME, MX, PTR, SRV y TXT. Invoke-DNSUpdate está modelado según la herramienta nsupdate de BIND cuando se usan las opciones '-g' o 'gsstsig'.

Ejemplos:
  • Agregar un registro A Invoke-DNSUpdate -DNSType A -DNSName www -DNSData 192.168.100.125

  • Eliminar un registro A Invoke-DNSUpdate -DNSType A -DNSName www.test.local

  • Agregar un registro SRV Invoke-DNSUpdate -DNSType SRV -DNSName _autodiscover._tcp.test.local -DNSData system.test.local -DNSPriority 100 -DNSWeight 80 -DNSPort 443

Funciones de ADIDNS

Disable-ADIDNSNode

Esta función puede marcar como eliminado (tombstone) un nodo ADIDNS.

Ejemplo:
  • Marcar como eliminado un registro comodín.
    `Disable-ADIDNSNode -Node *

Enable-ADIDNSNode

Esta función puede convertir un nodo marcado como eliminado de nuevo en un registro válido.

Ejemplo:
  • Habilitar un registro comodín.
    Enable-ADIDNSNode -Node *

Get-ADIDNSNodeAttribute

Esta función puede devolver valores poblados en un atributo de nodo DNS.

Ejemplo:
  • Obtener el valor del atributo dnsRecord de un nodo llamado test.
    Get-ADIDNSNodeAttribute -Node test -Attribute dnsRecord

Get-ADIDNSNodeOwner

Esta función puede devolver el propietario de un nodo ADIDNS.

Ejemplo:
  • Obtener el propietario de un nodo llamado test. Get-ADIDNSNodeOwner -Node test

Get-ADIDNSPermission

Esta función obtiene una DACL de un nodo o zona ADIDNS.

Ejemplos:
  • Obtener la DACL para la zona predeterminada integrada en Active Directory desde un sistema unido al dominio.
    Get-ADIDNSPermission
Descargar herramienta