tags : powershell manuale priv_esc


Per sapere quale utente stai impersonando, puoi usare il comando whoami:

whoami

Per visualizzare i privilegi dell’utente corrente (simile a quello che fai con whoami /priv), puoi usare un comando PowerShell specifico:

whoami /priv

Puoi anche vedere a quali gruppi appartieni, che può indicare se sei amministratore o meno:

whoami /groups

Oppure per verificare gli utenti presenti nel sistema:

Get-LocalUser

Se vuoi sapere se il tuo utente fa parte del gruppo Administrators, puoi eseguire questo comando:

net localgroup administrators

Un altro modo è verificare se hai privilegi di amministratore attivi, utilizzando whoami, il SID S-1-5-32-544 corrisponde al gruppo Administrators. Se sei membro di questo gruppo, il sistema restituirà una riga che lo conferma:

whoami /groups | findstr /i "S-1-5-32-544"

Puoi verificare il tuo livello di integrità che indica il livello di privilegi. Un livello alto o sistema indica che hai privilegi elevati, il SID S-1-16-12288 corrisponde al High Mandatory Level, che indica che hai privilegi amministrativi:

whoami /groups | findstr /i "S-1-16-12288"

In PowerShell, puoi usare questo comando per verificare se stai eseguendo con privilegi di amministratore, se il comando restituisce True, significa che hai privilegi di amministratore.:

([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

Elencare i servizi con privilegi di SYSTEM:

Get-WmiObject win32_service | Where-Object { $_.StartName -eq "LocalSystem" }

Puoi cercare file o directory scrivibili dall’utente corrente:

Get-ChildItem -Path C:\ -Recurse -Force | Where-Object { $_.Attributes -match "ReadOnly" -and $_.PSIsContainer -eq $false }

Per vedere i permessi di un file possiamo usare il seguente comando:

icacls C:\PROGRA~2\SYSTEM~1\WService.exe

Per vedere le scheduled task possiamo usare il seguente comando:

schtasks 

Se sei già parte del gruppo Administrators, puoi eseguire comandi con privilegi elevati usando il comando Start-Process. Per esempio, per eseguire PowerShell con privilegi di amministratore:

Start-Process powershell -Verb runAs

Questo comando mostra tutte le condivisioni dalla macchina:

net share