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

146 lines
9.3 KiB
Markdown

# 135, 593 - Pentesting MSRPC
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
**Hakerski Uvidi**\
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
**Vesti o Hakovanju u Realnom Vremenu**\
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
**Poslednje Najave**\
Budite informisani o najnovijim nagradama za pronalaženje bagova i bitnim ažuriranjima platformi
**Pridružite nam se na** [**Discord-u**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
## Osnovne Informacije
Microsoft Remote Procedure Call (MSRPC) protokol, model klijent-server koji omogućava programu da zatraži uslugu od programa smeštenog na drugom računaru bez razumevanja specifičnosti mreže, prvobitno je izveden iz softvera otvorenog koda, a kasnije 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 portovima 139 i 445 (sa null ili autentifikovanom sesijom), i kao web servis na TCP portu 593.
```
135/tcp open msrpc Microsoft Windows RPC
```
## Kako radi MSRPC?
Pokrenut od strane klijentske aplikacije, MSRPC proces uključuje pozivanje lokalne stub procedure koja zatim interaguje sa klijentskom runtime bibliotekom kako bi pripremila i prenela zahtev serveru. Ovo uključuje konvertovanje parametara u standardni format Mrežne Reprezentacije Podataka. Izbor transportnog protokola određuje se pomoću runtime biblioteke ako je server udaljen, obezbeđujući da se RPC dostavi kroz mrežni sloj.
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
## **Identifikacija Izloženih RPC Servisa**
Izloženost RPC servisa preko TCP, UDP, HTTP i SMB može se odrediti upitom servisa za lociranje RPC-a i pojedinačnih endpointova. Alati poput rpcdump olakšavaju identifikaciju jedinstvenih RPC servisa, označenih vrednostima **IFID**, otkrivajući detalje servisa 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 službi RPC lokatora omogućen je putem određenih protokola: ncacn\_ip\_tcp i ncadg\_ip\_udp za pristup preko porta 135, ncacn\_np za SMB veze, i ncacn\_http za komunikaciju putem web baziranog RPC-a. Sledeće komande ilustruju korišćenje Metasploit modula za proveru i interakciju sa MSRPC uslugama, sa primarnim fokusom na portu 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
* **Imenovana cev**: `\pipe\lsarpc`
* **Opis**: LSA interfejs, koristi se za enumeraciju korisnika.
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
* **Imenovana cev**: `\pipe\lsarpc`
* **Opis**: LSA Directory Services (DS) interfejs, koristi se za enumeraciju domena i poverenja.
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
* **Imenovana cev**: `\pipe\samr`
* **Opis**: LSA SAMR interfejs, koristi se za pristup javnim elementima baze podataka SAM (npr. korisnička imena) i grubu silu lozinki bez obzira na politiku zaključavanja naloga.
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
* **Imenovana cev**: `\pipe\atsvc`
* **Opis**: Planer zadataka, koristi se za daljinsko izvršavanje komandi.
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
* **Imenovana cev**: `\pipe\winreg`
* **Opis**: Usluga daljinskog registra, koristi se za pristupanje i modifikaciju sistema registra.
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
* **Imenovana cev**: `\pipe\svcctl`
* **Opis**: Upravljač servisima i uslugama servera, koristi se za daljinsko pokretanje i zaustavljanje servisa i izvršavanje komandi.
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
* **Imenovana cev**: `\pipe\srvsvc`
* **Opis**: Upravljač servisima i uslugama servera, koristi se za daljinsko pokretanje i zaustavljanje servisa i izvršavanje komandi.
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
* **Imenovana cev**: `\pipe\epmapper`
* **Opis**: DCOM interfejs, koristi se za grubu silu lozinki i prikupljanje informacija putem WM.
### Identifikacija IP adresa
Korišćenjem [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), koji potiče iz [Airbus istraživanja](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), moguće je zloupotrebiti _**ServerAlive2**_ metod unutar _**IOXIDResolver**_ interfejsa.
Ovaj metod je korišćen za dobijanje informacija o interfejsu kao **IPv6** adresa sa HTB boksa _APT_. Pogledajte [ovde](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) za 0xdf APT writeup, koji uključuje alternativni metod korišćenjem rpcmap.py iz [Impacket](https://github.com/SecureAuthCorp/impacket/) sa _stringbinding_ (vidi gore).
### Izvršavanje RCE sa validnim pristupnim podacima
Moguće je izvršiti udaljeni kod na mašini, ako su pristupni podaci validnog korisnika dostupni korišćenjem [dcomexec.py](https://github.com/fortra/impacket/blob/master/examples/dcomexec.py) iz impacket framework-a.
**Zapamtite da pokušate sa različitim dostupnim objektima**
* ShellWindows
* ShellBrowserWindow
* MMC20
## Port 593
**rpcdump.exe** sa [rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools) može komunicirati 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-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://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
**Hakerski uvidi**\
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
**Vesti o hakovanju u realnom vremenu**\
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
**Najnovije najave**\
Budite informisani o najnovijim nagradama za pronalaženje bagova i važnim ažuriranjima platformi
**Pridružite nam se na** [**Discord-u**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
<details>
<summary><strong>Naučite hakovanje AWS-a od početnika do stručnjaka sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>