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

146 lines
9.7 KiB
Markdown

# 135, 593 - Test di penetrazione MSRPC
<details>
<summary><strong>Impara l'hacking AWS da zero a esperto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
</details>
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
**Approfondimenti sull'Hacking**\
Coinvolgiti con contenuti che esplorano l'emozione e le sfide dell'hacking
**Notizie sull'Hacking in Tempo Reale**\
Resta aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
**Ultime Comunicazioni**\
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
## Informazioni di Base
Il protocollo Microsoft Remote Procedure Call (MSRPC), un modello client-server che consente a un programma di richiedere un servizio da un programma situato su un altro computer senza comprendere i dettagli della rete, è stato inizialmente derivato da software open-source e successivamente sviluppato e protetto da copyright da Microsoft.
Il mapper degli endpoint RPC può essere accessibile tramite le porte TCP e UDP 135, SMB su TCP 139 e 445 (con una sessione nulla o autenticata), e come servizio web sulla porta TCP 593.
```
135/tcp open msrpc Microsoft Windows RPC
```
## Come funziona MSRPC?
Avviato dall'applicazione client, il processo MSRPC coinvolge la chiamata di una procedura stub locale che interagisce con la libreria di runtime client per preparare e trasmettere la richiesta al server. Ciò include la conversione dei parametri in un formato standard di Rappresentazione dei Dati di Rete. La scelta del protocollo di trasporto è determinata dalla libreria di runtime se il server è remoto, garantendo che l'RPC venga consegnato attraverso lo stack di rete.
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
## **Identificazione dei Servizi RPC Esposti**
L'esposizione dei servizi RPC su TCP, UDP, HTTP e SMB può essere determinata interrogando il servizio di localizzazione RPC e i singoli endpoint. Strumenti come rpcdump facilitano l'identificazione dei servizi RPC unici, indicati dai valori **IFID**, rivelando dettagli del servizio e vincoli di comunicazione:
```
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]
```
L'accesso al servizio RPC locator è abilitato tramite protocolli specifici: ncacn\_ip\_tcp e ncadg\_ip\_udp per l'accesso tramite la porta 135, ncacn\_np per le connessioni SMB e ncacn\_http per la comunicazione RPC basata sul web. I seguenti comandi esemplificano l'utilizzo dei moduli Metasploit per l'audit e l'interazione con i servizi MSRPC, concentrandosi principalmente sulla porta 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
```
Tutte le opzioni tranne `tcp_dcerpc_auditor` sono specificamente progettate per mirare a MSRPC sulla porta 135.
#### Interfacce RPC notevoli
* **IFID**: 12345778-1234-abcd-ef00-0123456789ab
* **Named Pipe**: `\pipe\lsarpc`
* **Descrizione**: Interfaccia LSA, utilizzata per enumerare gli utenti.
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
* **Named Pipe**: `\pipe\lsarpc`
* **Descrizione**: Interfaccia LSA Directory Services (DS), utilizzata per enumerare domini e relazioni di trust.
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
* **Named Pipe**: `\pipe\samr`
* **Descrizione**: Interfaccia LSA SAMR, utilizzata per accedere agli elementi pubblici del database SAM (ad esempio, nomi utente) e forzare le password degli utenti indipendentemente dalla politica di blocco dell'account.
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
* **Named Pipe**: `\pipe\atsvc`
* **Descrizione**: Pianificatore attività, utilizzato per eseguire comandi in remoto.
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
* **Named Pipe**: `\pipe\winreg`
* **Descrizione**: Servizio di registro remoto, utilizzato per accedere e modificare il registro di sistema.
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
* **Named Pipe**: `\pipe\svcctl`
* **Descrizione**: Gestore dei servizi e servizi del server, utilizzati per avviare e arrestare servizi in remoto ed eseguire comandi.
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
* **Named Pipe**: `\pipe\srvsvc`
* **Descrizione**: Gestore dei servizi e servizi del server, utilizzati per avviare e arrestare servizi in remoto ed eseguire comandi.
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
* **Named Pipe**: `\pipe\epmapper`
* **Descrizione**: Interfaccia DCOM, utilizzata per forzare la ricerca delle password e raccogliere informazioni tramite WM.
### Identificazione degli indirizzi IP
Utilizzando [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), proveniente dalla ricerca di [Airbus](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), è possibile abusare del metodo _**ServerAlive2**_ all'interno dell'interfaccia _**IOXIDResolver**_.
Questo metodo è stato utilizzato per ottenere informazioni sull'interfaccia come indirizzo **IPv6** dalla macchina HTB _APT_. Vedi [qui](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) per il writeup di APT di 0xdf, include un metodo alternativo utilizzando rpcmap.py da [Impacket](https://github.com/SecureAuthCorp/impacket/) con _stringbinding_ (vedi sopra).
### Esecuzione di un RCE con credenziali valide
È possibile eseguire codice remoto su una macchina, se sono disponibili le credenziali di un utente valido utilizzando [dcomexec.py](https://github.com/fortra/impacket/blob/master/examples/dcomexec.py) dal framework impacket.
**Ricordati di provare con gli oggetti disponibili**
* ShellWindows
* ShellBrowserWindow
* MMC20
## Porta 593
Il **rpcdump.exe** da [rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools) può interagire con questa porta.
## Riferimenti
* [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>
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug!
**Approfondimenti sull'hacking**\
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
**Notizie sull'hacking in tempo reale**\
Resta aggiornato sul mondo dell'hacking ad alta velocità attraverso notizie e approfondimenti in tempo reale
**Ultime notizie**\
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
<details>
<summary><strong>Impara l'hacking AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>