135, 593 - Pentesting MSRPC
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.
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.
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:
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:
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!
Last updated