Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
SharpNamedPipePTH — Pass the Hash в именованный канал для имитации токена | Kitploit
Инструменты/GitHubGitHub/s3cur3th1ssh1t/sharpnamedpipepth
Повышение привилегийГенерация полезной нагрузкиИнструменты для выдачи себя за другое лицоЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеАутентификацияRed Teaming
GitHubs3cur3th1ssh1t/sharpnamedpipepth

SharpNamedPipePTH

Pass the Hash в именованный канал для имитации токена

Репозиторий
3105174 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

SharpNamedPipePTH

Этот проект представляет собой инструмент на C# для использования Pass-the-Hash для аутентификации по локальному именованному каналу (Named Pipe) с целью олицетворения пользователя. Для его использования требуются права локального администратора или SEImpersonate. Подробности описаны в статье в блоге:

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

Он во многом основан на коде из проекта Sharp-SMBExec.

В прошлом я сталкивался с ситуациями в рамках проектов Offensive Security, когда у меня уже был NTLM-хэш учётной записи пользователя с низкими привилегиями и требовалась оболочка для этого пользователя на текущей скомпрометированной системе, но это было невозможно с помощью существующих публичных инструментов. Представьте ещё два факта для подобной ситуации: NTLM-хэш невозможно взломать и нет процесса пользователя-жертвы, в который можно внедрить шелл-код или мигрировать. Для некоторых это может звучать как абсурдный пограничный случай. Тем не менее, я сталкивался с этим неоднократно. Не в одном задании я потратил много времени на поиск правильного инструмента/техники в этой конкретной ситуации.

Мои личные цели для инструмента/техники были такими:

  • Полноценная оболочка или C2-подключение от имени учётной записи пользователя-жертвы
  • Должна быть возможность олицетворять также учётные записи с низкими привилегиями — в зависимости от целей задания может потребоваться доступ к системе с определённым пользователем, таким как CEO, HR, SAP-администраторы и другие
  • Инструмент может использоваться как C2-модуль

К сожалению, олицетворённый пользователь не имеет разрешения на сетевую аутентификацию, так как новый процесс использует токен олицетворения с ограничениями. Таким образом, эту технику можно применять только для локальных действий с другим пользователем.

Есть два способа использования 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

Скачать инструмент