PowerSploit - Un marco de post-explotación de PowerShell
Bifurcado para añadir algunas características a PowerView.ps1 que realizo habitualmente de forma manual
Ejecuta código en una máquina objetivo.
Invoke-DllInjectionInyecta una DLL en el ID de proceso que elija.
Invoke-ReflectivePEInjectionCarga 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-ShellcodeInyecta shellcode en el ID de proceso que elija o dentro de PowerShell localmente.
Invoke-WmiCommandEjecuta un ScriptBlock de PowerShell en un equipo de destino y devuelve su salida formateada usando WMI como canal C2.
Modifica y/o prepara scripts para su ejecución en una máquina comprometida.
Out-EncodedCommandComprime, codifica en Base-64 y genera la salida de línea de comandos para un script de payload de PowerShell.
Out-CompressedDllComprime, codifica en Base-64 y genera el código necesario para cargar una DLL administrada en memoria.
Out-EncryptedScriptCifra archivos de texto/scripts.
Remove-CommentElimina los comentarios y el espacio en blanco extra de un script.
Añade capacidades de persistencia a un script de PowerShell.
New-UserPersistenceOptionConfigura opciones de persistencia a nivel de usuario para la función Add-Persistence.
New-ElevatedPersistenceOptionConfigura opciones de persistencia elevadas para la función Add-Persistence.
Add-PersistenceAñade capacidades de persistencia a un script.
Install-SSPInstala una DLL de proveedor de soporte de seguridad (SSP).
Get-SecurityPackagesEnumera todos los paquetes de seguridad cargados (SSP).
¡El antivirus no tiene ninguna oportunidad contra PowerShell!
Find-AVSignatureLocaliza firmas de AV de un solo byte utilizando el mismo método que DSplit de "class101".
¡Todos tus datos me pertenecen!
Invoke-TokenManipulationEnumera 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-CredentialInjectionCrea 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-NinjaCopyCopia un archivo de un volumen con partición NTFS leyendo el volumen sin procesar y analizando las estructuras NTFS.
Invoke-MimikatzCarga 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-KeystrokesRegistra las teclas pulsadas, la hora y la ventana activa.
Get-GPPPasswordRecupera la contraseña en texto claro y otra información de las cuentas distribuidas a través de Preferencias de directiva de grupo.
Get-GPPAutologonRecupera 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-TimedScreenshotUna función que toma capturas de pantalla a intervalos regulares y las guarda en una carpeta.
New-VolumeShadowCopyCrea una nueva copia de sombra de volumen.
Get-VolumeShadowCopyEnumera las rutas de dispositivo de todas las copias de sombra de volumen locales.
Mount-VolumeShadowCopyMonta una copia de sombra de volumen.
Remove-VolumeShadowCopyElimina una copia de sombra de volumen.
Get-VaultCredentialMuestra los objetos de credenciales de la Bóveda de Windows, incluidas las credenciales web en texto claro.
Out-MinidumpGenera un minidump de memoria completa de un proceso.
Get-MicrophoneAudioGraba audio desde el micrófono del sistema y lo guarda en el disco.
Causa el caos general con PowerShell.
Set-MasterBootRecordCódigo de prueba de concepto que sobrescribe el registro de arranque maestro (MBR) con el mensaje que elija.
Set-CriticalProcessHace que su máquina muestre una pantalla azul al salir de PowerShell.
Herramientas para ayudar a escalar privilegios en un objetivo.
PowerUpRepositorio central de comprobaciones comunes de escalada de privilegios, junto con algunos vectores de armamento.
Herramientas para ayudar en la fase de reconocimiento de una prueba de penetración.
Invoke-PortscanRealiza un escaneo de puertos simple utilizando sockets normales, basado (bastante) libremente en nmap.
Get-HttpStatusDevuelve los códigos de estado HTTP y la URL completa de las rutas especificadas cuando se le proporciona un archivo de diccionario.
Invoke-ReverseDnsLookupEscanea un rango de direcciones IP en busca de registros DNS PTR.
PowerViewPowerView es una serie de funciones que realiza la enumeración y explotación de redes y dominios de Windows.
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.
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.
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.
¡Necesitamos contribuciones! Si tiene una gran idea para PowerSploit, nos encantaría añadirla. Las nuevas incorporaciones requerirán lo siguiente: