135, 593 - Pentesting MSRPC

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!

Hacking Insights Engage with content that delves into the thrill and challenges of hacking

Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights

Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates

Join us on Discord and start collaborating with top hackers today!

Основна інформація

Протокол Microsoft Remote Procedure Call (MSRPC) — це модель клієнт-сервер, яка дозволяє програмі запитувати послугу у програми, розташованої на іншому комп'ютері, не розуміючи специфіки мережі. Він спочатку був отриманий з програмного забезпечення з відкритим кодом, а пізніше розроблений і захищений авторським правом компанією Microsoft.

Кінець точки RPC можна отримати через TCP і UDP порт 135, SMB на TCP 139 і 445 (з нульовою або автентифікованою сесією), а також як веб-сервіс на TCP порті 593.

135/tcp   open     msrpc         Microsoft Windows RPC

Як працює MSRPC?

Ініційований клієнтським додатком, процес MSRPC включає виклик локальної підпрограми, яка потім взаємодіє з бібліотекою виконання клієнта для підготовки та передачі запиту на сервер. Це включає перетворення параметрів у стандартний формат представлення даних мережі. Вибір транспортного протоколу визначається бібліотекою виконання, якщо сервер віддалений, що забезпечує доставку RPC через мережевий стек.

https://0xffsec.com/handbook/images/msrpc.png

Визначення відкритих RPC-сервісів

Відкритість RPC-сервісів через TCP, UDP, HTTP та SMB можна визначити, запитуючи службу локатора RPC та окремі кінцеві точки. Інструменти, такі як rpcdump, полегшують ідентифікацію унікальних RPC-сервісів, позначених значеннями IFID, що розкриває деталі сервісу та зв'язки комунікації:

D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[1028]

Доступ до служби локатора RPC забезпечується через специфічні протоколи: ncacn_ip_tcp та ncadg_ip_udp для доступу через порт 135, ncacn_np для SMB-з'єднань та ncacn_http для веб-орієнтованої RPC-комунікації. Наступні команди ілюструють використання модулів Metasploit для аудиту та взаємодії з MSRPC-сервісами, в основному зосереджуючись на порту 135:

use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py <IP> -p 135

Усі опції, крім tcp_dcerpc_auditor, спеціально розроблені для націлювання на MSRPC на порту 135.

Помітні інтерфейси RPC

  • IFID: 12345778-1234-abcd-ef00-0123456789ab

  • Named Pipe: \pipe\lsarpc

  • Опис: Інтерфейс LSA, використовується для перерахунку користувачів.

  • IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5

  • Named Pipe: \pipe\lsarpc

  • Опис: Інтерфейс LSA Directory Services (DS), використовується для перерахунку доменів і довірчих відносин.

  • IFID: 12345778-1234-abcd-ef00-0123456789ac

  • Named Pipe: \pipe\samr

  • Опис: Інтерфейс LSA SAMR, використовується для доступу до публічних елементів бази даних SAM (наприклад, імена користувачів) і брутфорсу паролів користувачів незалежно від політики блокування облікових записів.

  • IFID: 1ff70682-0a51-30e8-076d-740be8cee98b

  • Named Pipe: \pipe\atsvc

  • Опис: Планувальник завдань, використовується для віддаленого виконання команд.

  • IFID: 338cd001-2244-31f1-aaaa-900038001003

  • Named Pipe: \pipe\winreg

  • Опис: Служба віддаленого реєстру, використовується для доступу та зміни системного реєстру.

  • IFID: 367abb81-9844-35f1-ad32-98f038001003

  • Named Pipe: \pipe\svcctl

  • Опис: Менеджер контролю служб і серверні служби, використовується для віддаленого запуску та зупинки служб і виконання команд.

  • IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188

  • Named Pipe: \pipe\srvsvc

  • Опис: Менеджер контролю служб і серверні служби, використовується для віддаленого запуску та зупинки служб і виконання команд.

  • IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57

  • Named Pipe: \pipe\epmapper

  • Опис: Інтерфейс DCOM, використовується для брутфорсу паролів і збору інформації через WM.

Визначення IP-адрес

Використовуючи https://github.com/mubix/IOXIDResolver, що походить з досліджень Airbus, можливо зловживати методом ServerAlive2 всередині інтерфейсу IOXIDResolver.

Цей метод використовувався для отримання інформації про інтерфейс у вигляді IPv6 адреси з HTB боксу APT. Дивіться тут для опису 0xdf APT, він включає альтернативний метод, використовуючи rpcmap.py з Impacket з stringbinding (див. вище).

Виконання RCE з дійсними обліковими даними

Можливо виконати віддалений код на машині, якщо доступні облікові дані дійсного користувача, використовуючи dcomexec.py з фреймворку impacket.

Не забудьте спробувати з різними доступними об'єктами

  • ShellWindows

  • ShellBrowserWindow

  • MMC20

Порт 593

rpcdump.exe з rpctools може взаємодіяти з цим портом.

Посилання

Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та шукачами вразливостей!

Hacking Insights Залучайтеся до контенту, який занурюється в захоплення та виклики хакерства

Real-Time Hack News Слідкуйте за швидкоплинним світом хакерства через новини та інсайти в реальному часі

Останні оголошення Будьте в курсі нових програм винагород за вразливості та важливих оновлень платформ

Приєднуйтесь до нас на Discord і почніть співпрацювати з провідними хакерами вже сьогодні!

Вчіться та практикуйте Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Підтримка HackTricks

Last updated