hacktricks/network-services-pentesting/135-pentesting-msrpc.md

8.6 KiB

135, 593 - Testowanie penetracyjne MSRPC

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Dołącz do serwera HackenProof Discord, aby komunikować się z doświadczonymi hakerami i łowcami błędów!

Spostrzeżenia dotyczące hakowania
Zajmij się treściami, które zagłębiają się w emocje i wyzwania hakowania

Aktualności dotyczące hakowania na żywo
Bądź na bieżąco z szybkim tempem świata hakowania dzięki aktualnościom i spostrzeżeniom na żywo

Najnowsze ogłoszenia
Bądź informowany o najnowszych programach bug bounty i istotnych aktualizacjach platformy

Dołącz do nas na Discordzie i zacznij współpracować z najlepszymi hakerami już dziś!

Podstawowe informacje

Protokół Microsoft Remote Procedure Call (MSRPC), model klient-serwer umożliwiający programowi żądanie usługi od programu znajdującego się na innym komputerze bez konieczności zrozumienia szczegółów sieci, początkowo pochodził z oprogramowania open-source, a następnie został rozwinięty i opatentowany przez firmę Microsoft.

Mapper punktów końcowych RPC można uzyskać poprzez porty TCP i UDP 135, SMB na TCP 139 i 445 (z pustą lub uwierzytelnioną sesją) oraz jako usługę sieciową na porcie TCP 593.

135/tcp   open     msrpc         Microsoft Windows RPC

Jak działa MSRPC?

Zainicjowany przez aplikację klienta, proces MSRPC polega na wywołaniu lokalnej procedury pomocniczej, która następnie współdziała z biblioteką czasu wykonania klienta, aby przygotować i przesłać żądanie do serwera. Obejmuje to konwersję parametrów na standardowy format reprezentacji danych sieciowych. Wybór protokołu transportowego jest określany przez bibliotekę czasu wykonania, jeśli serwer jest zdalny, zapewniając dostarczenie RPC przez stos sieciowy.

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

Identyfikacja wystawionych usług RPC

Wystawienie usług RPC poprzez TCP, UDP, HTTP i SMB można określić poprzez zapytanie usługi lokalizatora RPC i poszczególnych punktów końcowych. Narzędzia takie jak rpcdump ułatwiają identyfikację unikalnych usług RPC, oznaczonych wartościami IFID, ujawniając szczegóły usługi i powiązania komunikacyjne:

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]

Dostęp do usługi lokalizatora RPC jest włączony poprzez określone protokoły: ncacn_ip_tcp i ncadg_ip_udp do dostępu za pośrednictwem portu 135, ncacn_np do połączeń SMB oraz ncacn_http do komunikacji RPC opartej na sieci web. Poniższe polecenia ilustrują wykorzystanie modułów Metasploit do audytu i interakcji z usługami MSRPC, skupiając się głównie na porcie 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

Wszystkie opcje oprócz tcp_dcerpc_auditor są specjalnie zaprojektowane do celowania w MSRPC na porcie 135.

Znaczące interfejsy RPC

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

  • Named Pipe: \pipe\lsarpc

  • Opis: Interfejs LSA, używany do wyliczania użytkowników.

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

  • Named Pipe: \pipe\lsarpc

  • Opis: Interfejs usług katalogowych LSA (DS), używany do wyliczania domen i relacji zaufania.

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

  • Named Pipe: \pipe\samr

  • Opis: Interfejs LSA SAMR, używany do dostępu do publicznych elementów bazy danych SAM (np. nazwy użytkowników) i łamania haseł użytkowników bez względu na politykę blokady konta.

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

  • Named Pipe: \pipe\atsvc

  • Opis: Harmonogram zadań, używany do zdalnego wykonywania poleceń.

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

  • Named Pipe: \pipe\winreg

  • Opis: Usługa rejestru zdalnego, używana do dostępu i modyfikacji rejestru systemowego.

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

  • Named Pipe: \pipe\svcctl

  • Opis: Menedżer kontroli usług i usługi serwerowe, używane do zdalnego uruchamiania i zatrzymywania usług oraz wykonywania poleceń.

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

  • Named Pipe: \pipe\srvsvc

  • Opis: Menedżer kontroli usług i usługi serwerowe, używane do zdalnego uruchamiania i zatrzymywania usług oraz wykonywania poleceń.

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

  • Named Pipe: \pipe\epmapper

  • Opis: Interfejs DCOM, używany do łamania haseł metodą brute-force i zbierania informacji za pomocą WM.

Identyfikacja adresów IP

Korzystając z https://github.com/mubix/IOXIDResolver, pochodzącego z badania Airbusa, możliwe jest nadużycie metody ServerAlive2 wewnątrz interfejsu IOXIDResolver.

Ta metoda została wykorzystana do uzyskania informacji o interfejsie jako adres IPv6 z boxa HTB APT. Zobacz tutaj writeup 0xdf APT, zawiera on alternatywną metodę korzystającą z rpcmap.py z Impacket z stringbinding (patrz powyżej).

Wykonywanie RCE z prawidłowymi poświadczeniami

Możliwe jest wykonanie zdalnego kodu na maszynie, jeśli dostępne są poświadczenia prawidłowego użytkownika, korzystając z dcomexec.py z ramienia impacket.

Pamiętaj, aby spróbować z różnymi dostępnymi obiektami

  • ShellWindows
  • ShellBrowserWindow
  • MMC20

Port 593

rpcdump.exe z rpctools może komunikować się z tym portem.

Referencje

Dołącz do HackenProof Discord, aby komunikować się z doświadczonymi hakerami i łowcami błędów!

Spostrzeżenia dotyczące hakerstwa
Zajmij się treściami, które zagłębiają się w emocje i wyzwania hakerstwa

Aktualności dotyczące hakerstwa na żywo
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnościom i spostrzeżeniom na żywo

Najnowsze ogłoszenia
Bądź na bieżąco z najnowszymi programami nagród za błędy i istotnymi aktualizacjami platformy

Dołącz do nas na Discordzie i zacznij współpracować z najlepszymi hakerami już dziś!