135, 593 - Pentesting MSRPC
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-7ebaebfa37dac753bd916c91429befb49dfd6309%252Fimage%2520%281%29%2520%283%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cad6aeb3&sv=1)
Rejoignez le serveur HackenProof Discord pour communiquer avec des pirates expérimentés et des chasseurs de primes en bugs !
Perspectives de piratage Engagez-vous avec du contenu qui explore le frisson et les défis du piratage
Actualités de piratage en temps réel Restez à jour avec le monde du piratage en évolution rapide grâce aux actualités et aux informations en temps réel
Dernières annonces Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme
Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs pirates dès aujourd'hui !
Informations de base
Le protocole Microsoft Remote Procedure Call (MSRPC), un modèle client-serveur permettant à un programme de demander un service à un programme situé sur un autre ordinateur sans comprendre les spécificités du réseau, a été initialement dérivé d'un logiciel open source, puis développé et protégé par des droits d'auteur par Microsoft.
Le gestionnaire de points de terminaison RPC peut être accédé via les ports TCP et UDP 135, SMB sur TCP 139 et 445 (avec une session nulle ou authentifiée), et en tant que service web sur le port TCP 593.
Comment fonctionne MSRPC?
Initié par l'application cliente, le processus MSRPC implique l'appel d'une procédure locale de stub qui interagit ensuite avec la bibliothèque d'exécution cliente pour préparer et transmettre la demande au serveur. Cela inclut la conversion des paramètres dans un format standard de représentation des données réseau. Le choix du protocole de transport est déterminé par la bibliothèque d'exécution si le serveur est distant, assurant que la RPC est délivrée à travers la pile réseau.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F0xffsec.com%2Fhandbook%2Fimages%2Fmsrpc.png&width=768&dpr=4&quality=100&sign=42551849&sv=1)
Identification des services RPC exposés
L'exposition des services RPC à travers TCP, UDP, HTTP et SMB peut être déterminée en interrogeant le service de localisation RPC et les points de terminaison individuels. Des outils tels que rpcdump facilitent l'identification des services RPC uniques, désignés par des valeurs IFID, révélant les détails du service et les liaisons de communication:
L'accès au service de localisation RPC est activé via des protocoles spécifiques : ncacn_ip_tcp et ncadg_ip_udp pour y accéder via le port 135, ncacn_np pour les connexions SMB, et ncacn_http pour la communication RPC basée sur le web. Les commandes suivantes illustrent l'utilisation des modules Metasploit pour auditer et interagir avec les services MSRPC, en se concentrant principalement sur le port 135 :
Toutes les options sauf tcp_dcerpc_auditor
sont spécifiquement conçues pour cibler MSRPC sur le port 135.
Interfaces RPC notables
IFID: 12345778-1234-abcd-ef00-0123456789ab
Named Pipe:
\pipe\lsarpc
Description: Interface LSA, utilisée pour énumérer les utilisateurs.
IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
Named Pipe:
\pipe\lsarpc
Description: Interface LSA Directory Services (DS), utilisée pour énumérer les domaines et les relations de confiance.
IFID: 12345778-1234-abcd-ef00-0123456789ac
Named Pipe:
\pipe\samr
Description: Interface LSA SAMR, utilisée pour accéder aux éléments publics de la base de données SAM (par ex., noms d'utilisateur) et forcer les mots de passe des utilisateurs indépendamment de la politique de verrouillage des comptes.
IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
Named Pipe:
\pipe\atsvc
Description: Planificateur de tâches, utilisé pour exécuter des commandes à distance.
IFID: 338cd001-2244-31f1-aaaa-900038001003
Named Pipe:
\pipe\winreg
Description: Service de registre distant, utilisé pour accéder et modifier le registre système.
IFID: 367abb81-9844-35f1-ad32-98f038001003
Named Pipe:
\pipe\svcctl
Description: Gestionnaire de contrôle de service et services serveur, utilisé pour démarrer et arrêter des services à distance et exécuter des commandes.
IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
Named Pipe:
\pipe\srvsvc
Description: Gestionnaire de contrôle de service et services serveur, utilisé pour démarrer et arrêter des services à distance et exécuter des commandes.
IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
Named Pipe:
\pipe\epmapper
Description: Interface DCOM, utilisée pour forcer le hachage de mots de passe et recueillir des informations via WM.
Identification des adresses IP
En utilisant https://github.com/mubix/IOXIDResolver, provenant de la recherche d'Airbus, il est possible d'abuser de la méthode ServerAlive2 à l'intérieur de l'interface IOXIDResolver.
Cette méthode a été utilisée pour obtenir des informations d'interface en tant qu'adresse IPv6 de la boîte HTB APT. Voir ici pour l'analyse APT de 0xdf, elle inclut une méthode alternative utilisant rpcmap.py d'Impacket avec stringbinding (voir ci-dessus).
Exécution d'une RCE avec des identifiants valides
Il est possible d'exécuter du code à distance sur une machine si les identifiants d'un utilisateur valide sont disponibles en utilisant dcomexec.py du framework Impacket.
N'oubliez pas d'essayer avec les différents objets disponibles
ShellWindows
ShellBrowserWindow
MMC20
Port 593
Le rpcdump.exe de rpctools peut interagir avec ce port.
Références
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-7ebaebfa37dac753bd916c91429befb49dfd6309%252Fimage%2520%281%29%2520%283%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cad6aeb3&sv=1)
Rejoignez le serveur HackenProof Discord pour communiquer avec des hackers expérimentés et des chasseurs de primes en sécurité !
Perspectives sur le piratage Engagez-vous avec du contenu qui explore l'excitation et les défis du piratage
Actualités sur le piratage en temps réel Restez informé du monde du piratage à travers des actualités et des informations en temps réel
Dernières annonces Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme
Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
Last updated