tags: SeImpersonatePrivilege priv_esc windows
Il privilegio SeTakeOwnership consente a un utente di assumere la proprietà di qualsiasi oggetto sul sistema, inclusi file e chiavi di registro, aprendo numerose possibilità a un aggressore di elevare i privilegi, ad esempio cercando un servizio in esecuzione come SYSTEM e assumendo la proprietà dell’eseguibile del servizio. Per questo compito, tuttavia, seguiremo una strada diversa.
Poiché Utilman viene eseguito con privilegi di SISTEMA, otterremo effettivamente privilegi di SISTEMA se sostituiamo il binario originale con qualsiasi payload desideriamo. Dato che possiamo assumere la proprietà di qualsiasi file, sostituirlo è un’operazione banale.
Per sostituire utilman, inizieremo prendendone possesso con il seguente comando:
C:\Windows\system32> takeown /f C:\Windows\System32\Utilman.exe
SUCCESS: The file (or folder): "C:\Windows\System32\Utilman.exe" now owned by user "WPRIVESC2\THMTakeOwnership".Tieni presente che essere il proprietario di un file non significa necessariamente avere privilegi su di esso, ma essendo il proprietario puoi assegnarti tutti i privilegi di cui hai bisogno. Per concedere al tuo utente i permessi completi su utilman.exe, puoi usare il seguente comando:
C:\Windows\system32> whoami
wprivesc2\thmtakeownership
C:\Windows\system32> icacls C:\Windows\System32\Utilman.exe /grant THMTakeOwnership:F
Dopodiché sostituiremo utilman.exe con una copia di cmd.exe:
copy cmd.exe utilman.exePer triggerare la cmd con privilegi di root dobbiamo cliccare su questo bottone:

E in seguito questa:

Che al posto di quei parametri ci apparirà una cmd con privilegi di root.