Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PrivescCheck — Script di enumerazione per escalation dei privilegi per Windows | Kitploit
Strumenti/GitHubGitHub/itm4n/privesccheck
Escalation di PrivilegiAnalisi delle VulnerabilitàAudit di ConfigurazioneRaccolta InformazioniPost-ExploitPenetration TestingTop in Post-Exploit n.16Top in Escalation di Privilegi n.2
GitHubitm4n/privesccheck
3.9k50718618h 19m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PrivescCheck

Script di enumerazione per escalation dei privilegi per Windows

Vedi Repository

PrivescCheck

Identifica rapidamente vulnerabilità e problemi di configurazione comuni di Windows che non sono necessariamente coperti dagli standard di sicurezza pubblici, e raccogli informazioni utili per attività di exploitation e post-exploitation.

[!IMPORTANT] Un aspetto importante da tenere presente quando si utilizza questo strumento è che tutti i controlli di controllo degli accessi vengono eseguiti nel contesto dell'utente corrente. Pertanto, se viene eseguito con privilegi di amministratore, molti controlli di vulnerabilità vengono effettivamente saltati per evitare di generare risultati errati.

🚀 Avvio Rapido

Scarica lo script qui: PrivescCheck.ps1

[!TIP] Il link sopra può essere utilizzato anche direttamente in un terminale PowerShell con (New-Object Net.WebClient).DownloadString(...).

Caso d'uso 1 (Pentest): Esegui Solo i Controlli di Base

Esiste un modo ovvio per elevare i privilegi localmente?

root@kitploit:~
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"

Caso d'uso 2 (Ricerca): Esegui Controlli Estesi + Scrivi Report Leggibili

Esistono informazioni aggiuntive che possono essere sfruttate per la post-exploitation o per trovare vulnerabilità in software di terze parti?

root@kitploit:~
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,HTML"

Caso d'uso 3 (Audit): Esegui Tutti i Controlli + Scrivi Tutti i Report

Esistono problemi di configurazione non coperti dagli standard di sicurezza comuni?

root@kitploit:~
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Audit -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,HTML,CSV,XML"

📖 Utilizzo Dettagliato

root@kitploit:~
Invoke-PrivescCheck [-Extended] [-Audit] [-Experimental] [-Report <PREFIX>]
    [-Format <FORMAT>[,...]] [-Risky] [-Silent] [-Force]

    -Extended
        Include tutti i controlli "estesi" nella scansione (vedi README).

    -Audit
        Include tutti i controlli "audit" nella scansione.

    -Experimental
        Include tutti i controlli "sperimentali" nella scansione. Utilizzare
        solo se si sa cosa si sta facendo.

    -Report <PREFIX>
        Genera almeno un file di report. Il nome del file di output sarà
        "PREFIX.txt" per impostazione predefinita. L'estensione viene
        aggiunta automaticamente in base al formato del report (vedi
        "-Format <FORMAT>[,...]").

    -Format <FORMAT>[,...]
        Specifica il formato del/i file di report di output. Se non
        impostato, il valore predefinito è "TXT". I formati supportati sono:
        "TXT", "HTML", "CSV" e "XML".

    -Risky
        Include i controlli contrassegnati come "rischiosi", ovvero controlli
        che potrebbero attivare un'azione di blocco da parte di una soluzione
        di protezione degli endpoint. Usare con cautela.

    -Silent
        Sopprime l'output del terminale. Può essere utile se si desidera
        eseguire lo script come parte di un file batch, ad esempio in
        un'attività pianificata.

    -Force
        Forza l'esecuzione e ignora gli avvisi. Tipicamente, lo script si
        ferma se viene eseguito con privilegi di amministratore. Usare questa
        opzione per eseguirlo comunque.

Formato Report > TXT (-Format TXT)

Usa l'opzione -Report <PREFIX> (con -Format TXT) per specificare che desideri generare un report di testo grezzo. L'output è simile a quello che vedresti nel terminale, tranne per il fatto che contiene solo caratteri ASCII per una migliore compatibilità (retro-)con tutti gli editor di testo.

Screenshot di un report di testo grezzo generato da PrivescCheck

Formato Report > HTML (-Format HTML)

Usa l'opzione -Report <PREFIX> con -Format HTML per specificare che desideri generare un report HTML. Il file di output può essere aperto in un browser web. È più comodo per visualizzare i dati rispetto al report di testo grezzo. Inoltre, offre funzionalità di ordinamento e filtraggio!

Screenshot di un report HTML generato da PrivescCheck

Formato Report > CSV (-Format CSV) e XML (-Format XML)

Usa l'opzione -Report <PREFIX> con -Format CSV o -Format XML per specificare che desideri generare un report CSV o XML. Il file di output è pensato per facilitare l'analisi dei risultati da parte di strumenti di reportistica automatizzati.

[!NOTE] Sebbene il formato di output non sia documentato (ancora), puoi facilmente capirlo analizzando la struttura di un file già generato. Puoi usare il valore Id di ogni controllo per identificarli in modo univoco.

Tipo di Controllo > Base

I controlli di tipo Base verranno sempre eseguiti, a meno che lo script non venga eseguito come amministratore. Sono principalmente pensati per identificare vulnerabilità di elevazione dei privilegi o altri problemi importanti.

Tipo di Controllo > Extended (-Extended)

I controlli di tipo Extended possono essere eseguiti solo se l'opzione -Extended viene specificata sulla riga di comando. Sono principalmente pensati per fornire informazioni aggiuntive che potrebbero essere utili per lo sviluppo di exploit o per la post-exploitation.

Tipo di Controllo > Audit (-Audit)

I controlli di tipo Audit possono essere eseguiti solo se l'opzione -Audit viene specificata sulla riga di comando. Sono principalmente pensati per fornire informazioni rilevanti nel contesto di un audit di configurazione.

💡 Suggerimenti e Trucchi

Criteri di Esecuzione di PowerShell

Per impostazione predefinita, i criteri di esecuzione di PowerShell sono impostati su Restricted sui client e RemoteSigned sui server, quando viene avviato un nuovo processo powershell.exe. Questi criteri bloccano l'esecuzione di script (non firmati), ma possono essere sovrascritti nell'ambito corrente come segue.

root@kitploit:~
Set-ExecutionPolicy Bypass -Scope Process -Force
. .\PrivescCheck.ps1

Tuttavia, questo trucco non funziona quando i criteri di esecuzione vengono applicati tramite un GPO. In questo caso, dopo aver avviato una nuova sessione PowerShell, puoi caricare lo script come segue.

root@kitploit:~
Get-Content .\PrivescCheck.ps1 | Out-String | Invoke-Expression

PowerShell Versione 2

Un modo comune per bypassare la Constrained Language Mode consiste nell'usare PSv2 poiché non implementa questa protezione. Pertanto, una parte significativa dello sforzo di sviluppo va nel mantenere questa retro-compatibilità.

[!NOTE] Sebbene PowerShell versione 2 sia ancora abilitato per impostazione predefinita sulle versioni recenti di Windows (Rimozione di PowerShell 2.0 da Windows), non può essere eseguito senza il framework .Net versione 2.0, che richiede un'installazione manuale.

Timeout di Metasploit

Se esegui questo script all'interno di una sessione Meterpreter, probabilmente riceverai un errore di "timeout". Questo perché Metasploit utilizza un valore di timeout predefinito di 15 secondi, che non è sufficiente per completare un'esecuzione tipica dello script.

root@kitploit:~
meterpreter > load powershell
Loading extension powershell...Success.
meterpreter > powershell_import /local/path/to/PrivescCheck.ps1
[+] File successfully imported. No result was returned.
meterpreter > powershell_execute "Invoke-PrivescCheck"
[-] Error running command powershell_execute: Rex::TimeoutError Operation timed out.

È possibile impostare un timeout diverso grazie all'opzione -t del comando sessions (documentazione). Nell'esempio seguente, viene impostato un timeout di 2 minuti per la sessione con ID 1, ma potresti voler impostare un valore ancora più alto.

root@kitploit:~
msf6 exploit(multi/handler) > sessions -t 120 -i 1
[*] Starting interaction with 1...
meterpreter > powershell_execute "Invoke-PrivescCheck"

🏗️ Build

Aggiorna i Dati

Alcuni controlli si basano su dati online (es. database dei driver LOL), ma lo script è pensato per funzionare offline. Per risolvere questo problema, i dati sono incorporati nello script e pertanto devono essere aggiornati regolarmente. Questo processo è completamente automatizzato nella versione ufficiale, ma se desideri creare lo script localmente, puoi opzionalmente farlo manualmente.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Update-LolDriverFile"

Crea lo Script

Creare lo script è semplice come eseguire il comando seguente. Il file di output verrà salvato nella cartella .\dist\.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck"

Lo script di build utilizza un generatore di numeri pseudo-casuali con un seed generato casualmente per scegliere un nome di variabile per ogni modulo. Se desideri generare risultati riproducibili tra le build, puoi scegliere di riutilizzare il seed generato in precedenza usando l'opzione -NoNewSeed.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewSeed"

Lo script di build utilizza la crittografia AES con una chiave generata casualmente per offuscare il contenuto di ogni modulo. Se desideri generare risultati riproducibili tra le build, puoi scegliere di riutilizzare la chiave generata in precedenza usando l'opzione -NoNewKey.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewKey"

📑 Crediti

  • Elenco di parole - CBHue/PyFuscation
  • Elenco di driver vulnerabili noti - https://www.loldrivers.io/
Scarica lo strumento