14 votes

Quelle est la séquence des ports Windows RPC 135, 137, 139 (et des ports supérieurs) ? Quels sont les changements avec le Port 145 ?

Est-ce que quelqu'un peut expliquer quand et à quelle fréquence chacun des ports RPC de Windows sont utilisés ? Les ports "principaux" que je comprends sont :

  • Port 135
  • Port 137
  • Port 139
  • Des ports supérieurs publiés par le "catalogue" du port 135

Ensuite, j'ai entendu dire que le port 145 est entré en jeu pour "améliorer les choses" avec NBT/TCP mais je ne suis pas sûr de comment cela s'insère dans la séquence d'une action RPC initiée par un client Windows.

Est-ce que quelqu'un peut m'aider à comprendre une fois pour toutes les ports RPC ?

31voto

Ryan Ries Points 54671

Cet article TechNet est fantastique, je vous recommande de le mettre en signet. Il répertorie les ports utilisés par différents services Windows et est assez complet.

Dans les versions de Windows antérieures à vista/2008, NetBIOS était utilisé pour le service "RPC Locator", qui gérait la base de données du service de nom RPC. Mais dans Vista/2008 et au-delà, le service de localisateur RPC n'est plus nécessaire ou utile. C'est vestigiel. À partir de ce point, je vais uniquement parler de MSRPC sur Vista/2008+.

Les ports 137, 138 et 139 sont pour le NetBIOS, et ne sont pas nécessaires pour la fonctionnalité de MSRPC.

Tous les ports utilisés par RPC sont les suivants :

RPC EPM                  TCP 135 
RPC sur HTTPS           TCP 593 
SMB (pour les canaux nommés)    TCP 445
Plage éphémère, Dynamique *

D'autres applications, comme Remote Desktop Gateway, utiliseront un proxy RPC sur HTTP et utiliseront le port 443, etc.

Bien que l'article que j'ai lié ci-dessus répertorie les ports NetBIOS, ceux-ci sont obsolètes et ne sont pas nécessaires pour RPC, en supposant que vous puissiez obtenir une résolution de nom par d'autres moyens (DNS,) et en supposant que le service distant lui-même ne dépend pas du NetBIOS.

Le port 145 est bidon. Il n'est utilisé à rien. Partout où vous avez entendu qu'il "améliore les choses", c'est incorrect.

Le MSRPC de base utilise les ports 135 et la plage dynamique des numéros élevés. Cette plage dynamique des numéros élevés est les ports 1024-5000 sur XP/2003 et en dessous, et 49152-65535 sur Vista/2008 et au-dessus. Vous pouvez aussi appeler cette plage de ports éphémères.

Vous pouvez définir une plage de ports personnalisée si vous le souhaitez, comme ceci :

reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v Ports /t REG_MULTI_SZ /f /d 8000-9000
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v PortsInternetAvailable /t REG_SZ /f /d Y
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v UseInternetPorts /t REG_SZ /f /d Y

Et/ou

netsh int ipv4 set dynamicport tcp start=8000 num=1001
netsh int ipv4 set dynamicport udp start=8000 num=1001
netsh int ipv6 set dynamicport tcp start=8000 num=1001
netsh int ipv6 set dynamicport udp start=8000 num=1001

Le port TCP 135 est le gestionnaire de point d'accès MSRPC. Vous pouvez vous connecter à ce port sur un ordinateur distant, de manière anonyme, et soit énumérer tous les services (points d'accès) disponibles sur cet ordinateur, soit demander sur quel port un service spécifique est en cours d'exécution si vous savez ce que vous cherchez.

Laissez-moi vous montrer un exemple de requête au gestionnaire de point d'accès RPC :

C:\>PortQry.exe -n 192.168.1.1 -e 135

Interrogation du système cible appelé :

 192.168.1.1

Tentative de résolution de l'adresse IP à un nom...    

Adresse IP résolue en host01.labs.myotherpcisacloud.com

interrogation...

Port TCP 135 (service epmap) : ÉCOUTE

En utilisant un port source éphémère
Interrogation de la base de données du gestionnaire de points de terminaison...
Réponse du serveur :

UUID: d95afe70-a6d5-4259-822e-2c84da1ddb0d
ncacn_ip_tcp:192.168.1.1[49152]

UUID: 12345778-1234-abcd-ef00-0123456789ac
ncacn_np:192.168.1.1[\\pipe\\lsass]

UUID: 12345778-1234-abcd-ef00-0123456789ac
ncacn_ip_tcp:192.168.1.1[49159]

UUID: 6b5bdd1e-528c-422c-af8c-a4079be4fe48 Remote Fw APIs
ncacn_ip_tcp:192.168.1.1[49158]

UUID: 367abb81-9844-35f1-ad32-98f038001003
ncacn_ip_tcp:192.168.1.1[49157]

UUID: 12345678-1234-abcd-ef00-0123456789ab
ncacn_ip_tcp:192.168.1.1[49155]

UUID: 0b6edbfa-4a24-4fc6-8a23-942b1eca65d1
ncacn_ip_tcp:192.168.1.1[49155]

UUID: ae33069b-a2a8-46ee-a235-ddfd339be281
ncacn_ip_tcp:192.168.1.1[49155]

UUID: 4a452661-8290-4b36-8fbe-7f4093a94978
ncacn_ip_tcp:192.168.1.1[49155]

UUID: 76f03f96-cdfd-44fc-a22c-64950a001209
ncacn_ip_tcp:192.168.1.1[49155]

UUID: 7f1343fe-50a9-4927-a778-0c5859517bac Service DfsDs
ncacn_np:192.168.1.1[\\PIPE\\wkssvc]

UUID: 3473dd4d-2e88-4006-9cba-22570909dd10 Service de proxy automatique WinHttp
ncacn_np:192.168.1.1[\\PIPE\\W32TIME_ALT]

UUID: 1ff70682-0a51-30e8-076d-740be8cee98b
ncacn_np:192.168.1.1[\\PIPE\\atsvc]

...

Total des points d'accès trouvés : 50

==== Fin de la réponse de la requête au gestionnaire de points de terminaison RPC ====

Vous remarquerez que si vous effectuez cette requête sur l'ordinateur local, vous trouverez beaucoup plus de points d'accès que si vous effectuez la requête depuis un ordinateur distant. C'est parce que de nombreux points finaux RPC ne sont pas exposés à distance et ne sont utilisés que pour la communication interprocessus locale.

Lecture complémentaire : http://technet.microsoft.com/fr-fr/library/cc738291(v=WS.10).aspx

Et aussi : https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X