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

9.7 KiB

135, 593 - Test di penetrazione MSRPC

Impara l'hacking AWS da zero a esperto con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Unisciti al server HackenProof Discord 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 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

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:

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, proveniente dalla ricerca di Airbus, è 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 per il writeup di APT di 0xdf, include un metodo alternativo utilizzando rpcmap.py da 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 dal framework impacket.

Ricordati di provare con gli oggetti disponibili

  • ShellWindows
  • ShellBrowserWindow
  • MMC20

Porta 593

Il rpcdump.exe da rpctools può interagire con questa porta.

Riferimenti

Unisciti al server HackenProof Discord 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 e inizia a collaborare con i migliori hacker oggi!

Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: