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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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.
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:
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
- https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/
- https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/
- https://0xffsec.com/handbook/services/msrpc/
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.