135, 593 - Pentesting MSRPC

Reading time: 5 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Basiese Inligting

Die Microsoft Remote Procedure Call (MSRPC) protokol, 'n kliënt-bediener model wat 'n program in staat stel om 'n diens van 'n program op 'n ander rekenaar aan te vra sonder om die netwerk se spesifieke besonderhede te verstaan, is aanvanklik afgelei van oopbron sagteware en later ontwikkel en kopiereg deur Microsoft.

Die RPC eindpunt mapper kan toegang verkry via TCP en UDP poort 135, SMB op TCP 139 en 445 (met 'n nul of geverifieerde sessie), en as 'n webdiens op TCP poort 593.

135/tcp   open     msrpc         Microsoft Windows RPC

Hoe werk MSRPC?

Begin deur die kliënttoepassing, die MSRPC-proses behels die oproep van 'n plaaslike stub-prosedure wat dan met die kliënt runtime-biblioteek interaksie het om die versoek voor te berei en na die bediener te stuur. Dit sluit die omskakeling van parameters in 'n standaard Netwerk Data Representasie-formaat in. Die keuse van die vervoersprotokol word deur die runtime-biblioteek bepaal as die bediener afgeleë is, wat verseker dat die RPC deur die netwerkstapel afgelewer word.

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

Identifisering van Blootgestelde RPC Dienste

Blootstelling van RPC-dienste oor TCP, UDP, HTTP, en SMB kan bepaal word deur die RPC-lokasiediens en individuele eindpunte te vra. Gereedskap soos rpcdump fasiliteer die identifisering van unieke RPC-dienste, aangedui deur IFID waardes, wat diensbesonderhede en kommunikasie-bindings onthul:

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]

Toegang tot die RPC-lokasiediens is geaktiveer deur spesifieke protokolle: ncacn_ip_tcp en ncadg_ip_udp vir toegang via poort 135, ncacn_np vir SMB-verbindinge, en ncacn_http vir web-gebaseerde RPC-kommunikasie. Die volgende opdragte illustreer die gebruik van Metasploit-modules om MSRPC-dienste te oudit en mee te werk, met die fokus op poort 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

Alle opsies behalwe tcp_dcerpc_auditor is spesifiek ontwerp om MSRPC op poort 135 te teiken.

Opmerklike RPC interfaces

  • IFID: 12345778-1234-abcd-ef00-0123456789ab
  • Named Pipe: \pipe\lsarpc
  • Beskrywing: LSA-interface, gebruik om gebruikers te lys.
  • IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
  • Named Pipe: \pipe\lsarpc
  • Beskrywing: LSA Directory Services (DS) interface, gebruik om domeine en vertrouensverhoudings te lys.
  • IFID: 12345778-1234-abcd-ef00-0123456789ac
  • Named Pipe: \pipe\samr
  • Beskrywing: LSA SAMR interface, gebruik om toegang te verkry tot openbare SAM-databasis elemente (bv. gebruikersname) en om gebruikerswagwoorde te brute-force ongeag van rekening sluiting beleid.
  • IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
  • Named Pipe: \pipe\atsvc
  • Beskrywing: Taak skeduler, gebruik om op afstand opdragte uit te voer.
  • IFID: 338cd001-2244-31f1-aaaa-900038001003
  • Named Pipe: \pipe\winreg
  • Beskrywing: Afgeleë registrasiediens, gebruik om toegang te verkry tot en die stelselsregister te wysig.
  • IFID: 367abb81-9844-35f1-ad32-98f038001003
  • Named Pipe: \pipe\svcctl
  • Beskrywing: Diensbeheerder en bedienerdienste, gebruik om op afstand dienste te begin en te stop en opdragte uit te voer.
  • IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
  • Named Pipe: \pipe\srvsvc
  • Beskrywing: Diensbeheerder en bedienerdienste, gebruik om op afstand dienste te begin en te stop en opdragte uit te voer.
  • IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
  • Named Pipe: \pipe\epmapper
  • Beskrywing: DCOM-interface, gebruik vir brute-force wagwoord grinding en inligting versameling via WM.

Identifisering van IP adresse

Met behulp van https://github.com/mubix/IOXIDResolver, afkomstig van Airbus research is dit moontlik om die ServerAlive2 metode binne die IOXIDResolver interface te misbruik.

Hierdie metode is gebruik om interface-inligting as IPv6 adres van die HTB boks APT te verkry. Sien hier vir 0xdf APT skrywe, dit sluit 'n alternatiewe metode in wat rpcmap.py van Impacket gebruik met stringbinding (sien hierbo).

Uitvoering van 'n RCE met geldige akrediteer

Dit is moontlik om afstandkode op 'n masjien uit te voer, as die akrediteer van 'n geldige gebruiker beskikbaar is met behulp van dcomexec.py van die impacket raamwerk.

Onthou om te probeer met die verskillende beskikbare voorwerpe

  • ShellWindows
  • ShellBrowserWindow
  • MMC20

Poort 593

Die rpcdump.exe van rpctools kan met hierdie poort kommunikeer.

Verwysings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks