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 - A PowerShell Post-Exploitation Framework | Kitploit
Herramientas/GitHubGitHub/zerodaylab/powersploit
Penetration Testing FrameworksPrivilege EscalationReconnaissanceExploit FrameworksPersistence MechanismsIDS/IPS EvasionData ExfiltrationCommand and ControlRed TeamingPayload Development
GitHubzerodaylab/powersploit
23929hace 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

PowerSploit

PowerSploit - A PowerShell Post-Exploitation Framework

Ver Repositorio

Bifurcado para añadir algunas características a PowerView.ps1 que realizo habitualmente de forma manual

Este proyecto ya no recibe soporte

PowerSploit es una colección de módulos de Microsoft PowerShell que pueden usarse para ayudar a los evaluadores de penetración durante todas las fases de una evaluación. PowerSploit se compone de los siguientes módulos y scripts:

CodeExecution

Ejecuta código en una máquina objetivo.

Invoke-DllInjection

Inyecta una DLL en el ID de proceso que elija.

Invoke-ReflectivePEInjection

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

Invoke-Shellcode

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

Invoke-WmiCommand

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

ScriptModification

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 el código necesario para cargar una DLL administrada en memoria.

Out-EncryptedScript

Cifra archivos de texto/scripts.

Remove-Comment

Elimina los comentarios y el espacio en blanco extra de un script.

Persistence

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 elevadas 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).

AntivirusBypass

¡El antivirus no tiene ninguna oportunidad contra PowerShell!

Find-AVSignature

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

Exfiltration

¡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 e impersona tokens de inicio de sesión en el hilo actual.

Invoke-CredentialInjection

Crea inicios de sesión con credenciales en texto claro sin activar un sospechoso ID de evento 4648 (Inicio de sesión con credenciales explícitas).

Invoke-NinjaCopy

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

Invoke-Mimikatz

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

Get-Keystrokes

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

Get-GPPPassword

Recupera la contraseña en texto claro y otra información de las cuentas distribuidas a través de Preferencias de directiva 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 distribuyó a través de Preferencias de directiva 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 los objetos de credenciales de la Bóveda de Windows, incluidas las 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 el disco.

Mayhem

Causa el caos general con PowerShell.

Set-MasterBootRecord

Código de prueba de concepto que sobrescribe el registro de arranque maestro (MBR) con el mensaje que elija.

Set-CriticalProcess

Hace que su máquina muestre una pantalla azul al salir de PowerShell.

Privesc

Herramientas para ayudar a escalar privilegios en un objetivo.

PowerUp

Repositorio central de comprobaciones comunes de escalada de privilegios, junto con algunos vectores de armamento.

Recon

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

Invoke-Portscan

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

Get-HttpStatus

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

Invoke-ReverseDnsLookup

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

PowerView

PowerView es una serie de funciones que realiza la enumeración y explotación de redes y dominios de Windows.

Recon\Dictionaries

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

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

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

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

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

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

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

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

Nota: Todas las herramientas contenidas en este módulo se diseñaron para poder ejecutarse individualmente. Incluirlas en un módulo simplemente favorece una mayor portabilidad.

Reglas de Contribución

¡Necesitamos contribuciones! Si tiene una gran idea para PowerSploit, nos encantaría añadirla. Las nuevas incorporaciones requerirán lo siguiente:

  • El script debe ajustarse a la guía de estilo. Cualquier excepción a la guía necesitaría un motivo explícito y válido.
  • El manifiesto del módulo debe actualizarse para reflejar la nueva función que se añade.
  • Se debe añadir una breve descripción de la función a este README.md
  • Las pruebas de Pester deben acompañar a todas las funciones nuevas. Consulte la carpeta Tests para ver ejemplos, pero buscamos pruebas que al menos cubran lo básico, probando entradas/salidas esperadas e inesperadas y que la función muestre la funcionalidad deseada. Asegúrese de que la función pase todas las pruebas (preferiblemente en múltiples sistemas operativos) antes de enviar una pull request. ¡Gracias!

Guía de Estilo para Scripts

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

  • Evite Write-Host a toda costa. ¡Las funciones/cmdlets de PowerShell no son utilidades de línea de comandos! Las pull requests que contengan código que use Write-Host no se considerarán. En su lugar, debe generar objetos personalizados. Para obtener más información sobre cómo crear objetos personalizados, lea 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 desea mostrar información de depuración relevante en pantalla, use Write-Verbose. El usuario siempre puede añadir '-Verbose'.

  • Proporcione siempre ayuda descriptiva basada en comentarios para cada script. Además, asegúrese de incluir su 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úrese de que todas las funciones sigan la concordancia verbo-sustantivo adecuada de PowerShell. Use Get-Verb para enumerar los verbos predeterminados que usa PowerShell. Las excepciones a los verbos admitidos se considerarán caso por caso.

  • Prefiero que los nombres de las variables empiecen con mayúscula y sean lo más descriptivos posible.

  • Proporcione un espaciado lógico entre su código. Indente su código para hacerlo más legible.

  • Si se encuentra repitiendo código, escriba una función.

  • Capture todos los errores previstos y proporcione una salida significativa. Si tiene un error que debería detener la ejecución del script, use 'Throw'. Si tiene un error que no necesita detener la ejecución, use Write-Error.

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

  • No use rutas codificadas. Un script debería ser utilizable directamente, sin configuración previa. Nadie debería tener que modificar el código a menos que quiera hacerlo.

  • La compatibilidad con PowerShell v2 es muy deseable.

  • Use parámetros posicionales y haga 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 use ningún alias a menos que tenga sentido para recibir entradas a través de la canalización. 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.

  • Intente que los comandos no se alarguen demasiado. Por ejemplo, una canalización es un lugar natural para un salto de línea.

  • No se exceda con los comentarios en línea. Úselos solo cuando ciertos aspectos del código puedan resultar confusos para un lector.

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

  • Use valores predeterminados para sus parámetros cuando tenga sentido. Lo ideal es que el script funcione sin requerir ningún parámetro.

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