TGViewer
Хатка бобра Хатка бобра @beaverdreamer · 904 subscribers
Post #169 1.94K
#rpc #shell #rpcfilter

Сегодня познакомимся с инструментом для выполнения кода с использованием уже имеющихся сервисов в системе - SCShell (https://github.com/Mr-Un1k0d3r/SCShell/). В репе есть пример реализации на C# и Python.

Принцип работы прост, но отличается от PSExec и SMBExec. При запуска указывается имя сервиса (по умолчанию XblAuthManager), далее через svcctl (интерфейс служб) заменяет его бинарь (binary path) на 'C:\windows\system32\cmd.exe /c <команда>, запускает сервис. После выполнения возвращает исходное состояние сервиса. При таком обмене атакующий не получает вывода команды, но это позволяет не трогать жесткий диск.

Ключевая особенность этого инструмента в том, что всё взаимодействие с целью происходит по DCERPC, а значит событий 5145 (доступ к шаре \PIPE\svcctl) не будет.

Как в итоге ловить?

Для анализа трафика RPC нам необходимо, например, настроить логгирование через ETW, либо настроить RPC фильтры.

Для настройки RPC фильтров необходимо включить Аудит событий RPC (в категории подробное отслеживание) и настроить сам фильтр:

Предположим нас интересует фильтр на доступ к svcctl через RPC, у него uuid будет 367abb81-9844-35f1-ad32-98f038001003 (из доки MS):
rpc filter
add rule layer=um actiontype=permit audit=enable
add condition field=if_uuid matchtype=equal data=367abb81-9844-35f1-ad32-98f038001003
add filter

Сохраняем это в файл, устанавливаем фильтр через netsh:
netsh -f rpcauditrule.txt

Далее в журнале ищем события с EventId 5712, это и будут наши обращения к svcctl через RPC. При таком методе мы не можем понять к каким именно функциям было обращение, это можно обогатить через трафик, а именно через поле OpNum.

Аналогично при помощи RPC Filter можно ловить и другие интерфейсы, которые используют атакующие, детали в ссылках ниже.

Ссылки:
- Детальная статья по теории RPC и мониторингу: https://habr.com/ru/companies/rvision/articles/716656/
- Репа с другими сервисами RPC и их ловле: https://github.com/jsecurity101/MSRPC-to-ATTACK/
GitHub GitHub - Mr-Un1k0d3r/SCShell: Fileless lateral movement tool that relies on ChangeServiceConfigA to run command Fileless lateral movement tool that relies on ChangeServiceConfigA to run command - Mr-Un1k0d3r/SCShell
  • 🔥 9
  • 👍 4
  • 🦄 2
More from @beaverdreamer
  1. Mar 4, 2025Не так давно мы затрагивали тему использования Harbor для взаимодействия с Docker registry…
  2. Feb 18, 2025На прошлой неделе пошумел выход нового скрипта psexecsvc.py, на волне слоупоков давайте ра…
  3. Feb 5, 2025photo post
  4. Feb 5, 2025Форк с ускоренной доставкой🚀 Как утащить сотни образов Docker контейнеров за несколько кл…
  5. Jan 31, 2025Часто ли вы используете VS Code? Представим, что на пентесте вы получаете учетку или досту…
  6. Jan 30, 2025Если вы когда-либо взаимодействовали с вебчиками и находили там swagger, вероятно, вы могл…
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 →