Hacking en Active Directory - [CPAD-100]
Comprar cursoYouTubeTwitterLinkedIn
  • La Biblia del Hacking en ACTIVE DIRECTORY
    • ADVERTENCIA
    • Conoce a tu academia
    • Conoce a tu instructor
    • Aprende con nuestro curso
      • ¿Que Significa CPAD-100?
  • Introducción a Directorio Activo – (AD)
    • Fundamentos de AD
    • Componentes importantes de un Active Directory
    • Principales conceptos de un Directorio Activo
      • Diferencias entre GPO y ACL
    • ¿Por qué los atacantes van tras los controladores de dominio?
      • Ransomware en AD
    • Introduccion a Kerberos
      • Capa de transporte
      • Agentes
      • Claves de cifrado
      • Tickets
      • Privilege Attribute Certificate (PAC)
      • Mensajes
    • Proceso de autenticación en Kerberos
      • Kerberos Explicado con Parques y Atracciones
    • ¿Como funciona Kerberos?
    • S4U (Service for User)
    • Usuarios y grupo por defectos en AD
    • Biblia de comandos para el CPAD
  • Fundamentos Ofensivos
    • Introduccion al Curso Profesional de Pentesting para Juniors - [CPPJ]
    • ¿Qué es un Red Team?
      • Assume breach
    • ¿Qué es un Pentesting?
    • Instalacion de Kali Linux
      • Utilizando IP publica para auditorias reales
    • Transferencias de archivos
    • Cyber Kill Chain
    • MITRE
      • Ejemplo teorico
  • Enumeracion Externa
    • Credenciales expuestas
    • La importancia de la enumeracion en un red team
    • Reconocimiento y Recopilacion
    • Activos de informacion publicos
      • DNS records
      • Redes sociales
  • Vectores de ataque fisico
    • Physical Red Team Operations
    • Que es la intrusion fisica
      • Vectores de ataque
    • Rubber Ducky
    • Stuxnet
    • Introduccion a Flipper Zero
      • BadUSB
  • Introduccion Al Hacking Web
    • Tu primer Red Team contra Active Directory
      • Objetivos
      • CyberKillChain en CPAD
    • La importancia del hacking web en un red team contra AD
    • Curso gratuito con los labs de PortSwigger
    • Enumeracion sobre un servidor web desplegado en IIS
    • Inyeccion de comandos desde un formulario web
  • Post-explotacion en windows
    • Fundamentos de la Enumeracion local en un Windows
    • Enumeracion basica desde una WebShell
    • Fundamentos de escalacion de privilegios en Windows
      • ¿Que son altos privilegios en windows?
      • ¿Que son bajos privilegios en windows?
      • Identificando mis privilegios actuales
      • Tokens de acceso en Windows
      • Niveles de integridad en procesos de Windows
    • Privilegios en Windows
    • Abusando de los privilegios SeImpersonatePrivilege SeAssignPrimaryTokenPrivilege
    • Introduccion al Curso Profesional de Pentesting contra Windows - [CPPW]
    • NT AUTHORITY\SYSTEM
    • Reverse Shell en PowerShell Indetectable
      • Introduccion al Curso RedTeam Ops Developer Senior
    • Migracion de WebShell a BurpSuite
    • Migracion de WebShell a Reverse Shell via PowerShell
    • Diferencia entre una WebShell y Reverse Shell
    • Introducción a PowerUp
    • Introducción a WinPEAS
  • Persistencia en Windows Local
    • Introduccion a la post-explotación y persistencia en Windows
    • Creacion de usuarios con net
    • Qué es Mimikatz
      • LSASS
      • Extraccion de credenciales con Mimikatz con binario
      • Extraccion de credenciales con Mimikatz con PowerShell
      • Resolucion de errores con Mimikatz
      • Mimikatz en la actualidad
  • Enumeracion en AD
    • Identificando un Domain Controller (DC) en red
    • ActiveDirectoryRights en el Contexto de Red Team
    • Enumeracion manual con GUI
    • Enumeracion con PowerShell ofensivo
      • Guia de comandos de PowerView.ps1
        • Enumeracion de usuarios
        • Enumeracion de Grupos
        • Enumeracion de Computadores
        • Enumeracion de GPO
        • Enumeracion de ACL
      • Utilizando ADPeas
    • Enumeracion con AD Module DLL
    • Enumeracion con BloodHound
    • Enumeracion con klist
    • Security Identifiers (SIDs)
    • Distinguished Name o DN
  • Vulnerabilidades y ataques en AD
    • Fundamentos de vulnerabilidades en AD
    • Password Spraying
      • La importancia de generar contraseñas personalizadas
      • Kerbrute
    • Relay Attacks
      • ¿Que es NTLM?
      • Utilizando impacket-ntlmrelayx
        • Análisis de impacket-ntlmrelayx
    • Credenciales en descripcion
      • Utilizando CrackMapExec
      • Utilizando BloodHound
    • Kerberoasting
      • Utilizando BloodHound
      • Utilizando Rubeus
      • Utilizando Impacket-GetUserSPNs
      • Utilizando CrackMapExec
      • Utilizando PowerView
    • ASREProastable
      • Utilizando Rubeus
      • Utilizando CrackMapExec
      • Utilizando Impacket-GetNPUsers
      • CVE-2022-33679
    • Unconstrained Delegation
      • TrustedToAuthForDelegation vs TrustedForDelegation
    • Constrained Delegation
      • Usuario
      • Computadora
        • Utilizando Rubeus
    • DnsAdmins
      • Utilizando PowerView.ps1
      • Utilizando NET
      • Cargando una dll maliciosa con dnscmd
      • Generando una DLL maliciosa
    • LAPS Reader
    • (RBCD) Resource-based constrained
    • Abuso de ACL
      • Enumeracion con PowerView
      • Tipos de permisos
        • Tabla de Referencia de Permisos y Derechos en Active Directory
      • Access Control Entry (ACE)
      • WriteDacl sobre Computador
      • GenericAll sobre Grupo
      • GenericAll sobre usuario
      • GenericWrite sobre computador
    • Abuso de GPO
      • ¿Qué es SysVol?
      • Utilizando PowerView
      • Solicitando TGT para el usuario gpowrite.user
      • Utilizando SharpGPOAbuse
      • Forzando la actualizacion de GPO
    • Zerologon - CVE-2020-1472
  • Movimiento lateral
    • Fundamentos de movimiento lateral en AD
    • Impersonation
    • Pass-the-Hash (PtH)
      • Identificando servicios para realizar el PTH
      • Utilizando Evil-WinRm
      • Utilizando impacket-psexec
      • Utilizando RDP
  • Persistencia y post-explotacion en AD
    • Fundamentos de persistencia y la post-explotación en AD
    • DCSync
      • Extracción de Credenciales del Dominio de Active Directory
      • Utilizando CrackMapExec
      • Utilizando Mimikatz
      • Utilizando Impacket-secretsdump
    • Creacion de usuarios en el dominio con net
    • Silver Ticket
      • Service Principal Name (SPN)
      • Silver Ticket para CIFS
    • Golden Ticket
      • Diferencias entre Silver Ticket y Golden Ticket
      • ¿Que es KRBTGT?
      • Variantes del Golden Ticket
        • Golden Ticket tradicional utilizando Mimikatz
        • Golden Ticket Inter-realm TGT
    • Pass The Ticket
      • PTT en Linux
      • PTT en Windows
    • Diamond Ticket
    • Bosques y relaciones de confianza
      • TrustAttributes y TrustType
      • Enumeracion utilizando ADPeas.ps1
      • Enumeracion utilizando nltest
      • Enumeracion utilizando .NET Framework
      • Enumeracion utilizando con PowerView
      • Enumerando con SharpHound
  • Introduccion a la evasion de defensas
    • Fundamentos de evasión de defensas
    • Introduccion a UAC
      • Bypass UAC utilizando FodhelperUACBypass.ps1
      • Bypass utilizando Kerberos y SMBExec
    • Evasión de antivirus
      • Utilizando HoaxShell
    • Introduccion a LOLBAS
    • AMSI para Hackers
    • Utilizando IP publicas y dominios confiables para el almacenamiento de herramientas
    • Codificando tus comandos de PowerShell en base64
      • Transferencia de archivos con base64
    • Política de ejecución de PowerShell
    • Introduccion a Sysinternals
    • Introduccion a AppLocker
    • Apagando defensas basicas
  • Introduccion a ataques modernos en AD
    • Fundamentos de Azure Active Directory
    • DCSync utilizando MSOL
    • Introduccion al Curso de Pentesting Contra Azure - [CPAZ]
  • Introduccion al Blue Team en Active Directory
    • Blue Team y SOC
    • Introduccion al Curso Profesional de Blue Team - [CPBLT]
    • Introduccion a Sysmon
      • Deteccion de comportamiento anomalo con ElasticSearch
  • Muchas Gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página
  • Constrained Delegation en Cuentas de Computadora
  • Uso de Impacket en este escenario:
  • ¿Qué significa esto desde una perspectiva de ataque?

¿Te fue útil?

  1. Vulnerabilidades y ataques en AD
  2. Constrained Delegation

Computadora

AnteriorUsuarioSiguienteUtilizando Rubeus

Última actualización hace 9 meses

¿Te fue útil?

Para llevar tu aprendizaje al siguiente nivel y practicar estas técnicas de manera segura y efectiva, te invitamos a adquirir acceso premium a nuestro material de curso. No pierdas esta oportunidad de profundizar tus conocimientos. Para más información y adquirir tu acceso, visita nuestro canal de ventas: . ¡Te esperamos para empezar este viaje juntos!

Constrained Delegation en Cuentas de Computadora

Para las cuentas de computadora, la delegación restringida se utiliza para controlar los servicios que se ejecutan en una máquina en particular y cómo esos servicios pueden actuar en nombre de los usuarios. Por ejemplo, un servidor web que corre en una máquina específica podría necesitar acceder a otro servidor en nombre del usuario para obtener información. Configurando la delegación restringida en la cuenta de la computadora que hospeda el servidor web, controlamos a qué servicios externos puede este servidor acceder con las credenciales de un usuario.

Esta vulnerabilidad fue previamente detectada con

[?] +++++ Searching for Computer with Constrained Delegation Rights +++++
[!] Found constrained delegation rights for Computer 'Suspicious-PC$':
sAMAccountName:                         Suspicious-PC$
distinguishedName:                      CN=Suspicious-PC,CN=Computers,DC=spartancybersec,DC=corp
objectSid:                              S-1-5-21-1861162130-2580302541-221646211-1116
[+] msDS-AllowedToDelegateTo:           HTTP/First-DC.spartancybersec.corp/spartancybersec.corp
                                        HTTP/First-DC.spartancybersec.corp
                                        HTTP/First-DC
pwdLastSet:                             09/19/2022 23:40:27
userAccountControl:                     WORKSTATION_TRUST_ACCOUNT

[!] Found constrained delegation rights for Computer 'USER-SERVER$':
sAMAccountName:                         USER-SERVER$
distinguishedName:                      CN=USER-SERVER,CN=Computers,DC=spartancybersec,DC=corp
objectSid:                              S-1-5-21-1861162130-2580302541-221646211-1129
operatingsystem:                        Windows Server 2019 Datacenter
[+] msDS-AllowedToDelegateTo:           HOST/First-DC.spartancybersec.corp/spartancybersec.corp
                                        HOST/First-DC.spartancybersec.corp
                                        HOST/First-DC
pwdLastSet:                             09/19/2022 23:43:39
[*] lastLogonTimestamp:                 09/19/2022 23:43:39 (Computer is likely not online anymore!)
userAccountControl:                     WORKSTATION_TRUST_ACCOUNT, TRUSTED_TO_AUTH_FOR_DELEGATION

El resultado de ejecutar el comando "Get-DomainComputer -TrustedToAuth" en un entorno de Active Directory. Este comando, específico de PowerShell, se utiliza para recuperar información sobre cuentas de computadoras en el dominio que están configuradas para realizar alguna forma de delegación (en este caso, parece ser la delegación restringida).

Los datos muestran dos cuentas de computadoras: "Suspicious-PC" y "USER-SERVER". Ambos tienen campos "msds-allowedtodelegateto", lo que indica que estas cuentas de computadoras están configuradas para usar la delegación restringida, ya que pueden presentar credenciales para servicios específicos en otras computadoras (los valores en "msds-allowedtodelegateto").

Para explotar la delegación restringida y conseguir una escalada de privilegios o acceso a recursos adicionales, un atacante necesitaría obtener un ticket de servicio válido para el servicio al que la cuenta de computadora puede delegar. Aquí es donde herramientas como las incluidas en la suite de Impacket pueden ser útiles.

Uso de Impacket en este escenario:

  1. Identificación del Servicio Delegado: Primero, identificarías el servicio específico al que se permite la delegación. En tu salida, estos están listados bajo "msds-allowedtodelegateto". Parece que "Suspicious-PC" puede delegar a ciertos servicios HTTP en "First-DC", mientras que "USER-SERVER" puede delegar a varios servicios "HOST" y "TERMSRV".

  2. Obtención de un Ticket de Servicio: Luego, podrías usar una herramienta como "getST.py" de Impacket para obtener un ticket de servicio (TGS) para el servicio que se permite delegar. Necesitarías tener acceso a una cuenta que tenga permisos para solicitar dicho ticket, que podría ser cualquier usuario o cuenta de servicio que se autentique con el servidor que tiene la delegación restringida configurada.

  3. Uso del Ticket de Servicio: Una vez que tienes el TGS, puedes usar otra herramienta de Impacket, como "psexec.py" o "wmiexec.py", para usar ese ticket y autenticarte en el servicio de destino, ejecutando comandos o realizando otras acciones como si fueras el usuario cuyo ticket has obtenido.

PS C:\Users\admin> Get-DomainComputer -TrustedToAuth | select samaccountname, samaccounttype,  msds-allowedtodelegateto, serviceprincipalname
samaccountname           : Suspicious-PC$
samaccounttype           : MACHINE_ACCOUNT
msds-allowedtodelegateto : {HTTP/First-DC.spartancybersec.corp/spartancybersec.corp, HTTP/First-DC.spartancybersec.corp, HTTP/First-DC}
useraccountcontrol       : WORKSTATION_TRUST_ACCOUNT

samaccountname                : USER-SERVER$
samaccounttype                : MACHINE_ACCOUNT
msds-allowedtodelegateto      : {HOST/First-DC.spartancybersec.corp/spartancybersec.corp, HOST/First-DC.spartancybersec.corp, HOST/First-DC}
serviceprincipalname          : {WSMAN/User-Server, WSMAN/User-Server.spartancybersec.corp, TERMSRV/USER-SERVER, TERMSRV/User-Server.spartancybersec.corp...}
useraccountcontrol            : WORKSTATION_TRUST_ACCOUNT, TRUSTED_TO_AUTH_FOR_DELEGATION

En la salida, hay dos cuentas de máquinas: Suspicious-PC$ y USER-SERVER$. Ambas tienen configuraciones que les permiten delegar la autenticación a ciertos servicios en First-DC.spartancybersec.corp.

  1. Suspicious-PC$:

    • samaccountname: El nombre de la cuenta de la máquina es Suspicious-PC$.

    • samaccounttype: Indica que esta cuenta es una cuenta de máquina.

    • msds-allowedtodelegateto: Lista los servicios a los que esta máquina puede presentar credenciales en nombre de otro usuario. En este caso, está limitado a ciertos servicios HTTP en First-DC.spartancybersec.corp.

    • useraccountcontrol: Indica el tipo de cuenta, que es una cuenta de confianza de estación de trabajo.

  2. USER-SERVER$:

    • samaccountname: El nombre de la cuenta de la máquina es USER-SERVER$.

    • samaccounttype: Indica que esta cuenta es una cuenta de máquina.

    • msds-allowedtodelegateto: Lista los servicios a los que esta máquina puede presentar credenciales en nombre de otro usuario. Aquí, está limitado a ciertos servicios HOST en First-DC.spartancybersec.corp.

    • serviceprincipalname (SPN): Este es un identificador único para cada instancia del servicio. Se utilizan para la autenticación Kerberos. La presencia de términos como WSMAN y TERMSRV sugiere que esta máquina está ejecutando servicios de administración remota de Windows y servicios de terminal (Remote Desktop Services), respectivamente.

    • useraccountcontrol: Indica el tipo de cuenta, que es una cuenta de confianza de estación de trabajo.

¿Qué significa esto desde una perspectiva de ataque?

Un atacante que ha comprometido cualquiera de estas máquinas (por ejemplo, obteniendo las credenciales adecuadas o explotando alguna vulnerabilidad) puede utilizar la característica de delegación restringida para autenticarse en el First-DC.spartancybersec.corp como cualquier usuario que haya iniciado sesión previamente en la máquina comprometida, limitado a los servicios especificados en msds-allowedtodelegateto.

  1. Si un atacante compromete Suspicious-PC$, podría delegar credenciales para autenticarse hacia servicios HTTP específicos en First-DC.spartancybersec.corp.

  2. Si USER-SERVER$ es comprometido, el atacante podría utilizar esta delegación para autenticarse hacia servicios que utilizan el protocolo HOST (generalmente servicios a nivel de sistema operativo o servicios de red) en First-DC.spartancybersec.corp.

En ambos casos, el atacante necesita encontrar una manera de comprometer primero la máquina (a través de phishing, explotación de vulnerabilidades, escalada de privilegios, etc.) y luego utilizar la delegación restringida para acceder a servicios en el controlador de dominio o a otras máquinas/servicios especificados en la configuración de la delegación.

https://wa.link/ej3kiu
el resultado de ADPeas