Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SharpNamedPipePTH — Passer le hash à un tube nommé pour l'usurpation de jeton | Kitploit
Outils/GitHubGitHub/s3cur3th1ssh1t/sharpnamedpipepth
Escalade de PrivilègesGénération de PayloadsOutils d'ImpersonationMouvement LatéralPost-ExploitationTests d'IntrusionAuthentificationRed Teaming
GitHubs3cur3th1ssh1t/sharpnamedpipepth

SharpNamedPipePTH

Passer le hash à un tube nommé pour l'usurpation de jeton

Voir le dépôt
310517il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SharpNamedPipePTH

Ce projet est un outil C# permettant d'utiliser Pass-the-Hash pour l'authentification sur un tube nommé (Named Pipe) local en vue d'une usurpation d'identité (Impersonation). Vous devez disposer de droits d'administrateur local ou de SEImpersonate pour l'utiliser. Un article de blog explique le fonctionnement :

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

Il est fortement basé sur le code du projet Sharp-SMBExec.

J'ai déjà été confronté à certaines situations de projets Offensive Security où je possédais le NTLM-Hash d'un compte utilisateur faiblement privilégié et avais besoin d'un shell pour cet utilisateur sur le système compromis actuel – mais cela n'était pas possible avec les outils publics disponibles. Imaginez deux faits supplémentaires dans une telle situation : le NTLM Hash ne pouvait pas être craqué et il n'existait aucun processus de l'utilisateur victime dans lequel injecter du shellcode ou migrer. Cela peut sembler un cas limite absurde pour certains d'entre vous. Pourtant, j'ai vécu cela à plusieurs reprises. Pas seulement lors d'une mission, j'ai passé beaucoup de temps à chercher le bon outil/la bonne technique dans cette situation spécifique.

Mes objectifs personnels pour un outil/une technique étaient :

  • Un shell complet ou une connexion C2 en tant que compte utilisateur victime
  • Devoir également pouvoir usurper l'identité de comptes faiblement privilégiés – selon les objectifs de la mission, il peut être nécessaire d'accéder à un système avec un utilisateur spécifique comme le PDG, des comptes RH, des administrateurs SAP ou autres
  • L'outil doit pouvoir être utilisé comme module C2

Malheureusement, l'utilisateur usurpé n'a aucune authentification réseau autorisée, car le nouveau processus utilise un jeton d'usurpation (Impersonation Token) qui est restreint. Vous ne pouvez donc utiliser cette technique que pour des actions locales avec un autre utilisateur.

Il existe deux façons d'utiliser SharpNamedPipePTH. Soit vous exécutez un binaire (avec ou sans arguments) :

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"

Soit vous exécutez du shellcode en tant qu'autre utilisateur :

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

Ce qui correspond à msfvenom -p windows/x64/exec CMD=cmd.exe EXITFUNC=threadmsfvenom -p windows/x64/exec CMD=cmd.exe EXITFUNC=thread | base64 -w0.

Je ne suis pas encore satisfait de l'exécution de shellcode, car pour l'instant elle lance notepad en tant qu'utilisateur usurpé et injecte le shellcode dans ce nouveau processus via D/Invoke CreateRemoteThread Syscall. Je cherche encore la possibilité de lancer un processus en arrière-plan ou d'exécuter du shellcode sans avoir de processus de l'utilisateur cible pour l'allocation mémoire.

alt text

Télécharger l’outil