TGViewer
Хатка бобра Хатка бобра @beaverdreamer · 904 subscribers
Post #180 5.34K
На прошлой неделе пошумел выход нового скрипта psexecsvc.py, на волне слоупоков давайте разбираться что там интересного.

Как ранее уже писал, psexec.py использует под капотом библиотеку RemCom и поднимает ряд пайпов (RemCom*) на целевой машине. С ним беда в том, что сам бинарь детектируется всеми, кому не лень и и использует пайпы (их всего 4), которые сами по себе детектируются тем же Sysmon с конфигом от SwiftOnSecurity. Сам бинарь можно изменить, чтобы сбить сигнатуры. Можно имена пайпов изменить и избежать типового детекта, но все равно где-то можно спалиться, хотя бы по тому же поведенческому анализу, поскольку выполняем какие-то команды системные от недавно загруженного бинаря.

В свою очередь psexecsvc.py выходит на сцену с подписанным бинарём от SysInternals. Сама подпись очень сильно повышает доверие со стороны антивирусного средства, а используемый пайп по умолчанию (psexeсsvc*) не детектируется через конфиг Sysmon. Скорее всего потому что его регулярно используют админы.

При реализации детекта нужно учитывать следующее:
1) Имя пайпа зависит от имени загруженного файла. Так, если мы загрузим файл с именем "beaver.exe", имя пайпа будет иметь уже префикс beaver*
2) Имя сервиса (PSEXESVC) может быть изменено
3) Если вы опираетесь на детект создания сервисов через пайп svcctl, то зря - это можно сделать через RPC-TCP, там у вас фильтры не настроены, скорее всего
4) Сам файл не может быть изменён, иначе будет поломана подпись. Соответственно можно опираться на хеш-суммы файла, не зря же их Sysmon собирает. Ищем в событиях Process Created хеши MD5=5CB94F11459DA45D647D888EF4438B5B,SHA256=714D90445775684F61E4589CA6868077A72F733B857B94C307397877A350B46A,IMPHASH=463E73EC0F70B68EE0EB83A0DF4A5698
5) Так же в этом скрипте используется устаревшая версия PSEXECSVC - 1.9. Используется именно она, потому что в ней трафик летает незашифрованный и удалось восстановить структуру служебных сообщений для общения. Соответственно если у вас есть решения на сети, то можно накатить правило на обнаружение таких пакетов, а еще заодно собирать имя скомпрометированной учетной записи (передаётся в открытом виде).

Больше деталей в источнике, сама статья от авторов скрипта: https://sensepost.com/blog/2025/psexecing-the-right-way-and-why-zero-trust-is-mandatory/

#psexec #impacket
GitHub GitHub - sensepost/susinternals: psexecsvc - a python implementation of PSExec's native service implementation psexecsvc - a python implementation of PSExec's native service implementation - sensepost/susinternals
  • 🔥 10
  • 👍 7
  • 🏆 5
More from @beaverdreamer
  1. Mar 4, 2025Не так давно мы затрагивали тему использования Harbor для взаимодействия с Docker registry…
  2. Feb 5, 2025photo post
  3. Feb 5, 2025Форк с ускоренной доставкой🚀 Как утащить сотни образов Docker контейнеров за несколько кл…
  4. Jan 31, 2025Часто ли вы используете VS Code? Представим, что на пентесте вы получаете учетку или досту…
  5. Jan 30, 2025Если вы когда-либо взаимодействовали с вебчиками и находили там swagger, вероятно, вы могл…
  6. Jan 23, 2025Honeypot, упрощенно, это ресурс в инфре, который намеренно создаётся для привлечения внима…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →