tags : powershell manuale priv_esc
Per sapere quale utente stai impersonando, puoi usare il comando whoami:
whoamiPer visualizzare i privilegi dell’utente corrente (simile a quello che fai con whoami /priv), puoi usare un comando PowerShell specifico:
whoami /privPuoi anche vedere a quali gruppi appartieni, che può indicare se sei amministratore o meno:
whoami /groupsOppure per verificare gli utenti presenti nel sistema:
Get-LocalUserSe vuoi sapere se il tuo utente fa parte del gruppo Administrators, puoi eseguire questo comando:
net localgroup administratorsUn 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.exePer 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 runAsQuesto comando mostra tutte le condivisioni dalla macchina:
net share