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
PowerSploit — PowerSploit - Un framework de post-explotación para PowerShell | Kitploit
Herramientas/GitHubGitHub/powershellmafia/powersploit
Escalada de PrivilegiosReconocimientoGeneración de PayloadsMecanismos de PersistenciaMovimiento LateralShellcodePost-ExplotaciónPruebas de PenetraciónArchived
GitHubpowershellmafia/powersploit

PowerSploit

PowerSploit - Un framework de post-explotación para PowerShell

13.1k4.7khace 6 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
Ver Repositorio

Este proyecto ya no cuenta con soporte

PowerSploit es una colección de módulos de Microsoft PowerShell que pueden ser utilizados para ayudar a los testers de penetración durante todas las fases de una evaluación. PowerSploit está compuesto por los siguientes módulos y scripts:

EjecuciónDeCódigo

Ejecuta código en una máquina objetivo.

Invoke-DllInjection

Inyecta una DLL en el ID de proceso que elijas.

Invoke-ReflectivePEInjection

Carga de manera reflectiva un archivo PE de Windows (DLL/EXE) en el proceso de PowerShell, o inyecta de manera reflectiva una DLL en un proceso remoto.

Invoke-Shellcode

Inyecta shellcode en el ID de proceso que elijas o dentro de PowerShell localmente.

Invoke-WmiCommand

Ejecuta un ScriptBlock de PowerShell en un equipo objetivo y devuelve su salida formateada usando WMI como canal C2.

ModificaciónDeScripts

Modifica y/o prepara scripts para su ejecución en una máquina comprometida.

Out-EncodedCommand

Comprime, codifica en Base-64 y genera la salida de línea de comandos para un script de payload de PowerShell.

Out-CompressedDll

Comprime, codifica en Base-64 y genera código para cargar una DLL administrada en memoria.

Out-EncryptedScript

Encripta archivos de texto/scripts.

Remove-Comment

Elimina comentarios y espacios en blanco extra de un script.

Persistencia

Añade capacidades de persistencia a un script de PowerShell

New-UserPersistenceOption

Configura opciones de persistencia a nivel de usuario para la función Add-Persistence.

New-ElevatedPersistenceOption

Configura opciones de persistencia elevada para la función Add-Persistence.

Add-Persistence

Añade capacidades de persistencia a un script.

Install-SSP

Instala una DLL de proveedor de soporte de seguridad (SSP).

Get-SecurityPackages

Enumera todos los paquetes de seguridad cargados (SSP).

EvasiónDeAntivirus

¡El antivirus no tiene oportunidad contra PowerShell!

Find-AVSignature

Localiza firmas de antivirus de un solo byte utilizando el mismo método que DSplit de 'class101'.

Exfiltración

¡Todos tus datos me pertenecen!

Invoke-TokenManipulation

Enumera los tokens de inicio de sesión disponibles. Crea procesos con tokens de inicio de sesión de otros usuarios y suplanta tokens de inicio de sesión en el hilo actual.

Invoke-CredentialInjection

Crea inicios de sesión con credenciales en texto plano sin desencadenar un Event ID 4648 sospechoso (Inicio de sesión con credenciales explícitas).

Invoke-NinjaCopy

Copia un archivo de un volumen con partición NTFS leyendo el volumen en bruto y analizando las estructuras NTFS.

Invoke-Mimikatz

Carga de manera reflectiva Mimikatz 2.0 en memoria usando PowerShell. Puede usarse para volcar credenciales sin escribir nada en disco. Puede usarse para cualquier funcionalidad proporcionada por Mimikatz.

Get-Keystrokes

Registra las teclas presionadas, la hora y la ventana activa.

Get-GPPPassword

Recupera la contraseña en texto plano y otra información de cuentas enviadas a través de Preferencias de Política de Grupo.

Get-GPPAutologon

Recupera el nombre de usuario y la contraseña de inicio de sesión automático de registry.xml si se enviaron a través de Preferencias de Política de Grupo.

Get-TimedScreenshot

Una función que toma capturas de pantalla a intervalos regulares y las guarda en una carpeta.

New-VolumeShadowCopy

Crea una nueva copia de sombra de volumen.

Get-VolumeShadowCopy

Enumera las rutas de dispositivo de todas las copias de sombra de volumen locales.

Mount-VolumeShadowCopy

Monta una copia de sombra de volumen.

Remove-VolumeShadowCopy

Elimina una copia de sombra de volumen.

Get-VaultCredential

Muestra objetos de credenciales del vault de Windows, incluyendo credenciales web en texto claro.

Out-Minidump

Genera un minidump de memoria completa de un proceso.

Get-MicrophoneAudio

Graba audio desde el micrófono del sistema y lo guarda en disco.

Caos

Causa caos general con PowerShell.

Set-MasterBootRecord

Código de prueba de concepto que sobrescribe el registro de arranque maestro con el mensaje que elijas.

Set-CriticalProcess

Provoca que tu máquina muestre una pantalla azul al salir de PowerShell.

EscaladaDePrivilegios

Herramientas para ayudar a escalar privilegios en un objetivo.

PowerUp

Centro de verificación de comprobaciones comunes de escalada de privilegios, junto con algunos vectores de weaponización.

Reconocimiento

Herramientas para ayudar en la fase de reconocimiento de una prueba de penetración.

Invoke-Portscan

Realiza un escaneo de puertos simple usando sockets regulares, basado (bastante) libremente en nmap.

Get-HttpStatus

Devuelve los códigos de estado HTTP y la URL completa para rutas especificadas cuando se proporciona un archivo de diccionario.

Invoke-ReverseDnsLookup

Escanea un rango de direcciones IP en busca de registros PTR de DNS.

PowerView

PowerView es una serie de funciones que realizan enumeración y explotación de red y dominio de Windows.

Reconocimiento\Diccionarios

Una colección de diccionarios utilizados para ayudar en la fase de reconocimiento de una prueba de penetración. Los diccionarios se tomaron de las siguientes fuentes.

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

Licencia

El proyecto PowerSploit y todos los scripts individuales están bajo la licencia BSD de 3 cláusulas a menos que se indique explícitamente lo contrario.

Uso

Consulta la ayuda basada en comentarios de cada script individual para obtener información detallada de uso.

Para instalar este módulo, coloca toda la carpeta PowerSploit en uno de tus directorios de módulos. Las rutas de módulos predeterminadas de PowerShell se enumeran en la variable de entorno $Env:PSModulePath.

La ruta de módulo predeterminada por usuario es: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" La ruta de módulo predeterminada a nivel de equipo es: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

Para usar el módulo, escribe Import-Module PowerSploit

Para ver los comandos importados, escribe Get-Command -Module PowerSploit

Si estás ejecutando PowerShell v3 y deseas eliminar la molesta advertencia '¿Realmente deseas ejecutar scripts descargados de Internet?', una vez que hayas colocado PowerSploit en tu ruta de módulos, ejecuta el siguiente one-liner: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

Para obtener ayuda sobre cada comando individual, Get-Help es tu amigo.

Nota: Las herramientas contenidas en este módulo fueron diseñadas para que puedan ejecutarse individualmente. Incluirlas en un módulo simplemente favorece una mayor portabilidad.

Reglas de Contribución

¡Necesitamos contribuciones! Si tienes una gran idea para PowerSploit, nos encantaría agregarla. Las nuevas adiciones requerirán lo siguiente:

  • El script debe cumplir con la guía de estilo. Cualquier excepción a la línea de la guía necesitaría una razón explícita y válida.
  • El manifiesto del módulo debe actualizarse para reflejar la nueva función que se agrega.
  • Se debe agregar una breve descripción de la función a este README.md
  • Las pruebas de Pester deben acompañar a todas las funciones nuevas. Consulta la carpeta Tests para ver ejemplos, pero buscamos pruebas que al menos cubran los conceptos básicos probando la entrada/salida esperada/inesperada y que la función muestre la funcionalidad deseada. Asegúrate de que la función pase todas las pruebas (preferiblemente en múltiples sistemas operativos) antes de enviar una solicitud de extracción. ¡Gracias!

Guía de Estilo de Scripts

Para todos los contribuyentes y futuros contribuyentes a PowerSploit, pido que sigan esta guía de estilo al escribir sus scripts/módulos.

  • Evita Write-Host a toda costa. ¡Las funciones/cmdlets de PowerShell no son utilidades de línea de comandos! No se considerarán solicitudes de extracción que contengan código que use Write-Host. En su lugar, debes generar objetos personalizados. Para obtener más información sobre la creación de objetos personalizados, lee estos artículos:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • Si deseas mostrar información de depuración relevante en la pantalla, usa Write-Verbose. El usuario siempre puede agregar '-Verbose'.

  • Siempre proporciona ayuda descriptiva basada en comentarios para cada script. Además, asegúrate de incluir tu nombre y una licencia BSD de 3 cláusulas (a menos que existan circunstancias atenuantes que impidan la aplicación de la licencia BSD).

  • Asegúrate de que todas las funciones sigan la concordancia verbo-sustantivo adecuada de PowerShell. Usa Get-Verb para enumerar los verbos predeterminados utilizados por PowerShell. Las excepciones a los verbos admitidos se considerarán caso por caso.

  • Prefiero que los nombres de las variables estén en mayúsculas y sean lo más descriptivos posible.

  • Proporciona un espaciado lógico entre tu código. Indenta tu código para hacerlo más legible.

  • Si te encuentras repitiendo código, escribe una función.

  • Captura todos los errores anticipados y proporciona una salida significativa. Si tienes un error que debe detener la ejecución del script, usa 'Throw'. Si tienes un error que no necesita detener la ejecución, usa Write-Error.

  • Si estás escribiendo un script que interactúa con la API de Win32, trata de evitar compilar C# en línea con Add-Type. Intenta usar el módulo PSReflect, si es posible.

  • No uses rutas codificadas. Un script debe ser utilizable directamente. Nadie debería tener que modificar el código a menos que quiera.

  • Se desea altamente la compatibilidad con PowerShell v2.

  • Usa parámetros posicionales y haz que los parámetros sean obligatorios cuando tenga sentido hacerlo. Por ejemplo, busco algo como lo siguiente:

    • [Parameter(Position = 0, Mandatory = $True)]
Descargar herramienta
  • No uses alias a menos que tenga sentido para recibir entrada de pipeline. Hacen que el código sea más difícil de leer para las personas que no están familiarizadas con un alias en particular.

  • Trata de no dejar que los comandos se extiendan demasiado. Por ejemplo, un pipeline es un lugar natural para un salto de línea.

  • No te excedas con los comentarios en línea. Úsalos solo cuando ciertos aspectos del código puedan ser confusos para el lector.

  • En lugar de usar Out-Null para suprimir la salida no deseada/irrelevante, guarda la salida no deseada en $null. Hacerlo proporciona una ligera mejora de rendimiento.

  • Usa valores predeterminados para tus parámetros cuando tenga sentido. Idealmente, deseas un script que funcione sin requerir ningún parámetro.

  • Si un script crea objetos personalizados complejos, incluye un archivo ps1xml que formatee correctamente la salida del objeto.