Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
nopowershell — PowerShell reconstruido en C# para fines de Red Teaming | Kitploit
Herramientas/GitHubGitHub/bitsadmin/nopowershell
ReconocimientoRecopilación de InformaciónPost-ExplotaciónComando y ControlRed Teaming
GitHubbitsadmin/nopowershell

nopowershell

PowerShell reconstruido en C# para fines de Red Teaming

Ver Repositorio
1.1k1447hace 11 mesesRevisado 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

NoPowerShell

NoPowerShell es una herramienta implementada en C# que permite ejecutar comandos similares a los de PowerShell permaneciendo invisible a cualquier mecanismo de registro de PowerShell. Este binario compatible con .NET Framework 2 puede cargarse en Cobalt Strike para ejecutar comandos en memoria. No se utiliza System.Management.Automation.dll; solo bibliotecas nativas de .NET. Un caso de uso alternativo para NoPowerShell es lanzarlo como DLL mediante rundll32.exe en un entorno restringido: rundll32 NoPowerShell.dll,main.

Este proyecto facilita que cualquiera pueda ampliar su funcionalidad con solo unas pocas líneas de código C#. Para más información, consulte CONTRIBUTING.md.

Los binarios más recientes están disponibles en la página de Releases. La rama MASTER no se actualiza con mucha regularidad; el código y los cmdlets más recientes están disponibles en la rama DEV. Para poner en marcha tus habilidades con NoPowerShell, asegúrate de revisar también la Cheatsheet de cmdlets.

Capturas de pantalla

Ejecución en Cobalt Strike

Comandos admitidos por NoPowerShell

Ejecución de comandos de ejemplo

Comandos de ejemplo de NoPowerShell

Versión Rundll32

NoPowerShellDll mediante rundll32

Por qué NoPowerShell

NoPowerShell está desarrollado para usarse con el comando execute-assembly de Cobalt Strike o en un entorno restringido mediante rundll32.exe. Razones para usar NoPowerShell:

  • Se ejecuta de forma bastante sigilosa
  • Funcionalidad potente
  • Proporciona los cmdlets que ya conoces en PowerShell, por lo que no necesitas aprender otra herramienta más
  • Si aún no estás muy familiarizado con PowerShell, también están disponibles los alias de cmd.exe (por ejemplo, ping en lugar de Test-NetConnection)
  • En caso de que los cmdlets no estén disponibles a través de powerpick o powershell, sí lo están en nps (por ejemplo, cmdlets del módulo ActiveDirectory)
  • Fácilmente extensible con solo unas pocas líneas de C#

Uso

Ejemplos

Consulta CHEATSHEET.md.

Uso en Cobalt Strike mediante execute-assembly

Usa el comando execute-assembly de Cobalt Strike para lanzar NoPowerShell.exe. Por ejemplo: execute-assembly /path/to/NoPowerShell.exe Get-Command. Opcionalmente, NoPowerShell.cna puede usarse para añadir el alias nps a Cobalt Strike.

Uso en Cobalt Strike mediante BOF.NET

  1. Instala el BOF de BOF.NET desde https://github.com/CCob/BOF.NET
  2. Carga el runtime de BOF.NET: bofnet_init
  3. Carga el módulo de NoPowerShell: bofnet_load /path/to/NoPowerShell.dll
  4. Ejecuta cmdlets de NoPowerShell: bofnet_execute NoPowerShell.Program Get-Command

Uso en Cobalt Strike con el fork de BOF.NET de @williamknows

Este fork permite ejecutar ejecutables .NET normales

  1. Obtén y compila el fork de BOF.NET de @williamknows desde https://github.com/williamknows/BOF.NET
  2. Carga el runtime de BOF.NET: bofnet_init
  3. Carga el módulo de NoPowerShell: bofnet_load /path/to/NoPowerShell.exe
  4. Ejecuta cmdlets de NoPowerShell: bofnet_executeassembly NoPowerShell Get-Command

Lanzamiento mediante rundll32

  1. Crea un nuevo acceso directo al archivo NoPowerShell.dll (arrastra con el botón derecho -> Crear accesos directos aquí)
  2. Actualiza el acceso directo anteponiendo rundll32 al nombre del archivo y añadiendo ,main
  3. El acceso directo ahora se verá así: rundll32 C:\Path\to\NoPowerShell.dll,main
  4. Haz doble clic en el acceso directo

Nota

Al usar NoPowerShell desde cmd.exe o PowerShell, debes escapar el carácter de tubería (|) con un acento circunflejo (^) o un backtick (`), respectivamente, por ejemplo:

  • cmd.exe: ls ^| select Name
  • PowerShell: ls `| select Name

Problemas conocidos

  • Los caracteres de tubería deben estar rodeados de espacios
  • TLS 1.1+ no es compatible con .NET Framework 2, por lo que cualquier sitio que lo exija provocará un error de conexión

Mejoras

  • Corregir los problemas anteriores
  • Soporte para grupos de parámetros
  • Añadir soporte para código .NET en la línea de comandos, por ejemplo: [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

Cmdlets de NoPowerShell solicitados

CmdletDescripción
Invoke-CommandEjecuta un comando en una máquina remota mediante PSRemoting (que en ese caso, por supuesto, se registrará)
*Más comandos *-Item*
Search-ADAccount
Get-ADPrincipalGroupMembership
Get-ADOrganizationalUnits
*Más comandos del módulo ActiveDirectory de PowerShell
*Utilidades de Sysinternals como pipelist y sdelete

Cmdlets de NoPowerShell contribuidos

Los autores de cmdlets adicionales de NoPowerShell se añaden a la siguiente tabla. Además, la tabla enumera los comandos que la comunidad ha solicitado añadir. ¡Juntos podemos desarrollar un potente kit de herramientas NoPowerShell!

CmdletContribuido porGitHubTwitterDescripción
Descargar herramienta