PowerSploit - Un framework di post-exploitation PowerShell
Fork creato per aggiungere alcune funzionalità a PowerView.ps1 che eseguo comunemente manualmente
Esegue codice su una macchina target.
Invoke-DllInjectionInietta una DLL nel process ID che scegli.
Invoke-ReflectivePEInjectionCarica in modalità riflessiva un file PE Windows (DLL/EXE) nel processo di PowerShell, oppure inietta in modalità riflessiva una DLL in un processo remoto.
Invoke-ShellcodeInietta shellcode nel process ID che scegli oppure localmente all'interno di PowerShell.
Invoke-WmiCommandEsegue uno ScriptBlock di PowerShell su un computer target e restituisce il relativo output formattato utilizzando WMI come canale C2.
Modifica e/o prepara script per l'esecuzione su una macchina compromessa.
Out-EncodedCommandComprime, codifica in Base-64 e genera output da riga di comando per uno script payload di PowerShell.
Out-CompressedDllComprime, codifica in Base-64 e produce codice generato per caricare una DLL gestita in memoria.
Out-EncryptedScriptCripta file di testo/script.
Remove-CommentRimuove i commenti e gli spazi bianchi extra da uno script.
Aggiunge capacità di persistenza a uno script PowerShell
New-UserPersistenceOptionConfigura le opzioni di persistenza a livello utente per la funzione Add-Persistence.
New-ElevatedPersistenceOptionConfigura le opzioni di persistenza elevata per la funzione Add-Persistence.
Add-PersistenceAggiunge capacità di persistenza a uno script.
Install-SSPInstalla una DLL del provider di supporto per la sicurezza (SSP).
Get-SecurityPackagesEnumera tutti i pacchetti di sicurezza caricati (SSP).
L'AV non ha alcuna possibilità contro PowerShell!
Find-AVSignatureIndividua le firme AV a byte singolo utilizzando lo stesso metodo di DSplit di "class101".
Tutti i tuoi dati appartengono a me!
Invoke-TokenManipulationElenca i token di accesso disponibili. Crea processi con i token di accesso di altri utenti e impersona i token di accesso nel thread corrente.
Invoke-CredentialInjectionCrea accessi con credenziali in chiaro senza innescare un sospetto Event ID 4648 (Accesso con credenziali esplicite).
Invoke-NinjaCopyCopia un file da un volume partizionato NTFS leggendo il volume grezzo e analizzando le strutture NTFS.
Invoke-MimikatzCarica in modalità riflessiva Mimikatz 2.0 in memoria utilizzando PowerShell. Può essere utilizzato per eseguire il dump delle credenziali senza scrivere nulla su disco. Può essere utilizzato per qualsiasi funzionalità fornita da Mimikatz.
Get-KeystrokesRegistra i tasti premuti, l'ora e la finestra attiva.
Get-GPPPasswordRecupera la password in chiaro e altre informazioni per gli account propagati tramite le Preferenze dei Criteri di gruppo.
Get-GPPAutologonRecupera nome utente e password di autologon da registry.xml se distribuiti tramite le Preferenze dei Criteri di gruppo.
Get-TimedScreenshotUna funzione che acquisisce screenshot a intervalli regolari e li salva in una cartella.
New-VolumeShadowCopyCrea una nuova copia shadow del volume.
Get-VolumeShadowCopyElenca i percorsi dei dispositivi di tutte le copie shadow dei volumi locali.
Mount-VolumeShadowCopyMonta una copia shadow del volume.
Remove-VolumeShadowCopyElimina una copia shadow del volume.
Get-VaultCredentialMostra gli oggetti credenziali del vault di Windows, incluse le credenziali web in chiaro.
Out-MinidumpGenera un minidump della memoria completa di un processo.
Get-MicrophoneAudioRegistra l'audio dal microfono di sistema e lo salva su disco
Causa scompiglio generale con PowerShell.
Set-MasterBootRecordCodice proof of concept che sovrascrive il master boot record con il messaggio di tua scelta.
Set-CriticalProcessCausa il blue screen della tua macchina all'uscita da PowerShell.
Strumenti per aiutare con l'escalation dei privilegi su un target.
PowerUpRaccolta di controlli comuni per l'escalation dei privilegi, insieme ad alcuni vettori di weaponizzazione.
Strumenti per supportare la fase di ricognizione di un penetration test.
Invoke-PortscanEsegue una semplice scansione delle porte usando socket normali, basata (abbastanza) liberamente su nmap.
Get-HttpStatusRestituisce i codici di stato HTTP e l'URL completo per i percorsi specificati quando viene fornito un file dizionario.
Invoke-ReverseDnsLookupScansiona un intervallo di indirizzi IP per i record DNS PTR.
PowerViewPowerView è una serie di funzioni che esegue enumerazione e sfruttamento di rete e domini Windows.
Una raccolta di dizionari utilizzata per supportare la fase di ricognizione di un penetration test. I dizionari sono stati presi dalle seguenti fonti.
Il progetto PowerSploit e tutti i singoli script sono sotto licenza BSD 3-Clause salvo diversa indicazione esplicita.
Fare riferimento alla guida basata sui commenti in ogni singolo script per informazioni dettagliate sull'utilizzo.
Per installare questo modulo, inserisci 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 del modulo per utente è: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" Il percorso predefinito del modulo a livello di computer è: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"
Per usare il modulo, digitare Import-Module PowerSploit
Per vedere i comandi importati, digitare Get-Command -Module PowerSploit
Se utilizzi PowerShell v3 e vuoi rimuovere il fastidioso avviso 'Vuoi davvero eseguire script scaricati da Internet?', dopo aver inserito PowerSploit nel 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 è il tuo amico.
Nota: gli strumenti contenuti in questo modulo sono stati tutti progettati per poter essere eseguiti singolarmente. Includerli in un modulo serve semplicemente ad aumentarne la portabilità.
Abbiamo bisogno di contributi! Se hai un'ottima idea per PowerSploit, ci piacerebbe aggiungerla. Le nuove aggiunte richiederanno quanto segue: