135, 593 - Pentesting MSRPC

Reading time: 5 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Osnovne informacije

Protokol Microsoft Remote Procedure Call (MSRPC), model klijent-server koji omogućava programu da zatraži uslugu od programa koji se nalazi na drugom računaru bez razumevanja specifičnosti mreže, prvobitno je izveden iz softvera otvorenog koda, a kasnije je razvijen i zaštićen autorskim pravima od strane Microsoft-a.

RPC endpoint mapper može se pristupiti putem TCP i UDP porta 135, SMB na TCP 139 i 445 (sa null ili autentifikovanom sesijom), i kao web servis na TCP portu 593.

135/tcp   open     msrpc         Microsoft Windows RPC

Kako funkcioniše MSRPC?

Iniciran od strane klijentske aplikacije, MSRPC proces uključuje pozivanje lokalne stub procedure koja zatim komunicira sa klijentskom runtime bibliotekom kako bi pripremila i prenela zahtev serveru. Ovo uključuje konvertovanje parametara u standardni format Network Data Representation. Izbor transportnog protokola određuje runtime biblioteka ako je server udaljen, osiguravajući da se RPC isporučuje kroz mrežni stek.

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

Identifikacija izloženih RPC usluga

Izloženost RPC usluga preko TCP, UDP, HTTP i SMB može se utvrditi upitom RPC locator servisa i pojedinačnih krajnjih tačaka. Alati kao što je rpcdump olakšavaju identifikaciju jedinstvenih RPC usluga, označenih IFID vrednostima, otkrivajući detalje usluge i komunikacione veze:

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]

Pristup RPC lokator servisu je omogućen kroz specifične protokole: ncacn_ip_tcp i ncadg_ip_udp za pristup preko porta 135, ncacn_np za SMB konekcije, i ncacn_http za web-baziranu RPC komunikaciju. Sledeće komande ilustruju korišćenje Metasploit modula za audiranje i interakciju sa MSRPC servisima, prvenstveno fokusirajući se na port 135:

bash
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

Sve opcije osim tcp_dcerpc_auditor su posebno dizajnirane za ciljanje MSRPC na portu 135.

Značajni RPC interfejsi

  • IFID: 12345778-1234-abcd-ef00-0123456789ab
  • Named Pipe: \pipe\lsarpc
  • Opis: LSA interfejs, koristi se za enumeraciju korisnika.
  • IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
  • Named Pipe: \pipe\lsarpc
  • Opis: LSA Directory Services (DS) interfejs, koristi se za enumeraciju domena i odnosa poverenja.
  • IFID: 12345778-1234-abcd-ef00-0123456789ac
  • Named Pipe: \pipe\samr
  • Opis: LSA SAMR interfejs, koristi se za pristup javnim elementima SAM baze podataka (npr. korisnička imena) i brute-force lozinkama korisnika bez obzira na politiku zaključavanja naloga.
  • IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
  • Named Pipe: \pipe\atsvc
  • Opis: Planer zadataka, koristi se za daljinsko izvršavanje komandi.
  • IFID: 338cd001-2244-31f1-aaaa-900038001003
  • Named Pipe: \pipe\winreg
  • Opis: Udaljena usluga registra, koristi se za pristup i modifikaciju sistemskog registra.
  • IFID: 367abb81-9844-35f1-ad32-98f038001003
  • Named Pipe: \pipe\svcctl
  • Opis: Menadžer kontrole usluga i server usluga, koristi se za daljinsko pokretanje i zaustavljanje usluga i izvršavanje komandi.
  • IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
  • Named Pipe: \pipe\srvsvc
  • Opis: Menadžer kontrole usluga i server usluga, koristi se za daljinsko pokretanje i zaustavljanje usluga i izvršavanje komandi.
  • IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
  • Named Pipe: \pipe\epmapper
  • Opis: DCOM interfejs, koristi se za brute-force lozinke i prikupljanje informacija putem WM.

Identifikacija IP adresa

Korišćenjem https://github.com/mubix/IOXIDResolver, dolazi iz Airbus istraživanja moguće je zloupotrebiti ServerAlive2 metodu unutar IOXIDResolver interfejsa.

Ova metoda je korišćena za dobijanje informacija o interfejsu kao IPv6 adresa sa HTB kutije APT. Pogledajte ovde za 0xdf APT izveštaj, uključuje alternativnu metodu koristeći rpcmap.py iz Impacket sa stringbinding (vidi iznad).

Izvršavanje RCE sa validnim kredencijalima

Moguće je izvršiti daljinski kod na mašini, ako su dostupni kredencijali validnog korisnika koristeći dcomexec.py iz impacket frameworka.

Zapamtite da pokušate sa različitim dostupnim objektima

  • ShellWindows
  • ShellBrowserWindow
  • MMC20

Port 593

rpcdump.exe iz rpctools može interagovati sa ovim portom.

Reference

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks