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
PowerSploit — PowerSploit - Un framework di post-exploitation per PowerShell | Kitploit
Strumenti/GitHubGitHub/powershellmafia/powersploit
Escalation di PrivilegiRicognizioneGenerazione di PayloadMeccanismi di PersistenzaMovimento LateraleShellcodePost-ExploitPenetration TestingArchived
GitHubpowershellmafia/powersploit

PowerSploit

PowerSploit - Un framework di post-exploitation per PowerShell

Vedi Repository
13.1k4.7k6 anni 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

Questo progetto non è più supportato

PowerSploit è una raccolta di moduli Microsoft PowerShell che possono essere utilizzati per assistere i penetration tester durante tutte le fasi di un assessment. PowerSploit è composto dai seguenti moduli e script:

Esecuzione del codice

Esegui codice su una macchina target.

Invoke-DllInjection

Inietta una DLL nel PID di processo a tua scelta.

Invoke-ReflectivePEInjection

Carica riflessivamente un file PE di Windows (DLL/EXE) nel processo di PowerShell o inietta riflessivamente una DLL in un processo remoto.

Invoke-Shellcode

Inietta shellcode nel PID di processo a tua scelta o localmente all'interno di PowerShell.

Invoke-WmiCommand

Esegue uno ScriptBlock di PowerShell su un computer target e restituisce il suo output formattato utilizzando WMI come canale C2.

Modifica degli script

Modifica e/o prepara gli script per l'esecuzione su una macchina compromessa.

Out-EncodedCommand

Comprime, codifica in Base-64 e genera output della riga di comando per un payload script di PowerShell.

Out-CompressedDll

Comprime, codifica in Base-64 e genera codice per caricare una DLL gestita in memoria.

Out-EncryptedScript

Cripta file di testo/script.

Remove-Comment

Rimuove commenti e spazi bianchi extra da uno script.

Persistenza

Aggiungi capacità di persistenza a uno script PowerShell

New-UserPersistenceOption

Configura le opzioni di persistenza a livello utente per la funzione Add-Persistence.

New-ElevatedPersistenceOption

Configura le opzioni di persistenza con privilegi elevati per la funzione Add-Persistence.

Add-Persistence

Aggiunge capacità di persistenza a uno script.

Install-SSP

Installa una DLL del Security Support Provider (SSP).

Get-SecurityPackages

Enumera tutti i pacchetti di sicurezza (SSP) caricati.

Bypass antivirus

L'antivirus non ha scampo contro PowerShell!

Find-AVSignature

Individua le singole firme AV di byte utilizzando lo stesso metodo di DSplit di "class101".

Esfiltrazione

Tutti i tuoi dati sono miei!

Invoke-TokenManipulation

Elenca i token di accesso disponibili. Crea processi con token di accesso di altri utenti e impersona token di accesso nel thread corrente.

Invoke-CredentialInjection

Crea sessioni con credenziali in chiaro senza attivare il sospetto Event ID 4648 (Accesso con credenziali esplicite).

Invoke-NinjaCopy

Copia un file da un volume partizionato NTFS leggendo il volume raw e analizzando le strutture NTFS.

Invoke-Mimikatz

Carica riflessivamente Mimikatz 2.0 in memoria utilizzando PowerShell. Può essere utilizzato per estrarre credenziali senza scrivere nulla su disco. Può essere utilizzato per qualsiasi funzionalità fornita da Mimikatz.

Get-Keystrokes

Registra i tasti premuti, l'ora e la finestra attiva.

Get-GPPPassword

Recupera la password in chiaro e altre informazioni per gli account distribuiti tramite Group Policy Preferences.

Get-GPPAutologon

Recupera nome utente e password di autologon da registry.xml se distribuiti tramite Group Policy Preferences.

Get-TimedScreenshot

Una funzione che acquisisce screenshot a intervalli regolari e li salva in una cartella.

New-VolumeShadowCopy

Crea una nuova copia shadow del volume.

Get-VolumeShadowCopy

Elenca i percorsi dei dispositivi di tutte le copie shadow locali del volume.

Mount-VolumeShadowCopy

Monta una copia shadow del volume.

Remove-VolumeShadowCopy

Elimina una copia shadow del volume.

Get-VaultCredential

Mostra gli oggetti delle credenziali del Vault di Windows, comprese le credenziali web in chiaro.

Out-Minidump

Genera un minidump completo della memoria di un processo.

Get-MicrophoneAudio

Registra l'audio dal microfono di sistema e lo salva su disco.

Caos

Causa caos generale con PowerShell.

Set-MasterBootRecord

Codice proof-of-concept che sovrascrive il Master Boot Record con il messaggio a tua scelta.

Set-CriticalProcess

Provoca il blue screen della macchina all'uscita da PowerShell.

Privilegi

Strumenti per aiutare con l'elevazione dei privilegi su un target.

PowerUp

Raccolta di controlli comuni per l'elevazione dei privilegi, insieme ad alcuni vettori di weaponization.

Ricognizione

Strumenti per aiutare nella fase di ricognizione di un penetration test.

Invoke-Portscan

Esegue una semplice scansione delle porte utilizzando socket regolari, basata (abbastanza) liberamente su nmap.

`Get-HttpStatus**

Restituisce i codici di stato HTTP e l'URL completo per i percorsi specificati quando viene fornito un file dizionario.

`Invoke-ReverseDnsLookup**

Scansiona un intervallo di indirizzi IP per i record PTR DNS.

PowerView

PowerView è una serie di funzioni che esegue l'enumerazione e lo sfruttamento della rete e del dominio Windows.

Ricognizione\Dizionari

Una raccolta di dizionari utilizzati per aiutare nella fase di ricognizione di un penetration test. I dizionari sono stati presi dalle seguenti fonti.

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

Licenza

Il progetto PowerSploit e tutti gli script individuali sono sotto licenza BSD 3-Clause salvo diversa indicazione esplicita.

Utilizzo

Fai riferimento alla guida basata sui commenti in ogni singolo script per informazioni dettagliate sull'utilizzo.

Per installare questo modulo, sposta l'intera cartella PowerSploit in una delle tue directory dei moduli. I percorsi predefiniti dei moduli PowerShell sono elencati nella variabile d'ambiente $Env:PSModulePath.

Il percorso predefinito per utente è: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" Il percorso predefinito a livello di computer è: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

Per utilizzare il modulo, digita Import-Module PowerSploit

Per vedere i comandi importati, digita Get-Command -Module PowerSploit

Se stai usando PowerShell v3 e vuoi rimuovere il fastidioso avviso 'Do you really want to run scripts downloaded from the Internet', una volta posizionato PowerSploit nel tuo percorso dei moduli, esegui il seguente one-liner: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

Per aiuto su ogni singolo comando, Get-Help è tuo amico.

Nota: Gli strumenti contenuti in questo modulo sono stati tutti progettati in modo da poter essere eseguiti singolarmente. Includerli in un modulo favorisce semplicemente una maggiore portabilità.

Regole per i contributi

Abbiamo bisogno di contributi! Se hai un'ottima idea per PowerSploit, ci piacerebbe aggiungerla. Le nuove aggiunte richiederanno quanto segue:

  • Lo script deve attenersi alla guida di stile. Qualsiasi eccezione alla linea guida necessita di un motivo esplicito e valido.
  • Il manifest del modulo deve essere aggiornato per riflettere la nuova funzione aggiunta.
  • Una breve descrizione della funzione deve essere aggiunta a questo README.md.
  • I test Pester devono accompagnare tutte le nuove funzioni. Vedi la cartella Tests per esempi, ma cerchiamo test che coprano almeno le basi testando input/output attesi/inaspettati e che la funzione mostri la funzionalità desiderata. Assicurati che la funzione superi tutti i test (preferibilmente su più sistemi operativi) prima di inviare una pull request. Grazie!

Guida allo stile degli script

Per tutti i contributori e futuri contributori di PowerSploit, ti chiedo di seguire questa guida di stile quando scrivi i tuoi script/moduli.

  • Evita Write-Host a tutti i costi. Le funzioni/cmdlet di PowerShell non sono utilità da riga di comando! Le pull request contenenti codice che utilizza Write-Host non verranno prese in considerazione. Dovresti invece restituire oggetti personalizzati. Per ulteriori informazioni sulla creazione di oggetti personalizzati, leggi questi articoli:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • Se vuoi visualizzare informazioni di debug rilevanti sullo schermo, usa Write-Verbose. L'utente può sempre aggiungere '-Verbose'.

  • Fornisci sempre un aiuto commentato descrittivo per ogni script. Inoltre, assicurati di includere il tuo nome e una licenza BSD 3-Clause (a meno che non ci siano circostanze eccezionali che impediscano l'applicazione della licenza BSD).

  • Assicurati che tutte le funzioni seguano il corretto accordo verbo-sostantivo di PowerShell. Usa Get-Verb per elencare i verbi predefiniti usati da PowerShell. Le eccezioni ai verbi supportati saranno valutate caso per caso.

  • Preferisco che i nomi delle variabili siano in maiuscolo e il più descrittivi possibile.

  • Fornisci spaziatura logica nel tuo codice. Indenta il codice per renderlo più leggibile.

  • Se ti ritrovi a ripetere codice, scrivi una funzione.

  • Cattura tutti gli errori previsti e fornisci output significativo. Se hai un errore che dovrebbe interrompere l'esecuzione dello script, usa 'Throw'. Se hai un errore che non necessita di interrompere l'esecuzione, usa Write-Error.

  • Se stai scrivendo uno script che interagisce con l'API Win32, cerca di evitare di compilare C# inline con Add-Type. Prova a usare il modulo PSReflect, se possibile.

  • Non utilizzare percorsi hardcoded. Uno script dovrebbe essere utilizzabile immediatamente. Nessuno dovrebbe dover modificare il codice a meno che non lo desideri.

  • La compatibilità con PowerShell v2 è fortemente desiderata.

  • Usa parametri posizionali e rendi i parametri obbligatori quando ha senso farlo. Ad esempio, cerco qualcosa come:

    • [Parameter(Position = 0, Mandatory = $True)]
Scarica lo strumento
  • Non utilizzare alias a meno che non abbia senso per ricevere input da pipeline. Rendono il codice più difficile da leggere per le persone che non hanno familiarità con un particolare alias.

  • Cerca di non lasciare che i comandi si estendano troppo. Ad esempio, una pipeline è un posto naturale per un'interruzione di riga.

  • Non esagerare con i commenti inline. Usali solo quando alcuni aspetti del codice potrebbero confondere il lettore.

  • Piuttosto che usare Out-Null per sopprimere output indesiderati/irrilevanti, salva l'output indesiderato in $null. In questo modo si ottiene un leggero miglioramento delle prestazioni.

  • Usa valori predefiniti per i tuoi parametri quando ha senso. Idealmente, vuoi uno script che funzioni senza richiedere alcun parametro.

  • Se uno script crea oggetti personalizzati complessi, includi un file ps1xml che formatti correttamente l'output dell'oggetto.