Quelqu'un peut-il expliquer quand et à quelle fréquence chacun des ports RPC de Windows est utilisé? Les "principaux" que je comprends sont:
Ensuite, j'ai entendu que le port 145 est venu dans le mélange pour "améliorer les choses" avec NBT/TCP mais je ne sais pas comment cela s'intègre dans la séquence d'un client Windows initiant une action RPC.
Quelqu'un peut-il m'aider à corriger ma compréhension des ports RPC une fois pour toutes?
Cet article TechNet est fantastique , je vous recommande de le mettre en signet. Il répertorie les ports utilisés par divers 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 noms RPC. Mais dans Vista/2008 et au-delà, le service RPC Locator n'est plus nécessaire ni utile. C'est vestigial. À partir de ce moment, je ne parlerai que de MSRPC sur Vista/2008 +.
Les ports 137, 138 et 139 sont pour NetBIOS et ne sont pas requis pour la fonctionnalité de MSRPC.
Tous les ports utilisés par RPC sont les suivants:
RPC EPM TCP 135
RPC over HTTPS TCP 593
SMB (for named pipes) TCP 445
Ephemeral Range, Dynamic *
D'autres applications, telles que la passerelle Bureau à distance, utiliseront le 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 hérités et ne sont pas requis pour RPC, en supposant que vous pouvez acquérir la résolution de noms par d'autres moyens (DNS) et en supposant que le service distant lui-même ne dépend pas de NetBIOS.
Le port 145 est faux. Il n'est utilisé pour rien. Partout où vous avez entendu que cela "rend les choses meilleures", c'est faux.
MSRPC de base utilise les ports 135 et la plage dynamique à numéros élevés. Cette plage dynamique numérotée est les ports 1024-5000 sur XP/2003 et inférieurs, et 49152-65535 sur Vista/2008 et supérieurs. Vous pouvez également appeler cette plage de ports 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 mappeur de point de terminaison MSRPC. Vous pouvez vous lier à ce port sur un ordinateur distant, de manière anonyme, et soit énumérer tous les services (points de terminaison) disponibles sur cet ordinateur, soit demander sur quel port un service spécifique s'exécute si vous savez ce que vous recherchez.
Permettez-moi de vous montrer un exemple d'interrogation du mappeur de point de connexion RPC:
C:\>PortQry.exe -n 192.168.1.1 -e 135
Querying target system called:
192.168.1.1
Attempting to resolve IP address to a name...
IP address resolved to Host01.labs.myotherpcisacloud.com
querying...
TCP port 135 (epmap service): LISTENING
Using ephemeral source port
Querying Endpoint Mapper Database...
Server's response:
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 DfsDs service
ncacn_np:192.168.1.1[\\PIPE\\wkssvc]
UUID: 3473dd4d-2e88-4006-9cba-22570909dd10 WinHttp Auto-Proxy Service
ncacn_np:192.168.1.1[\\PIPE\\W32TIME_ALT]
UUID: 1ff70682-0a51-30e8-076d-740be8cee98b
ncacn_np:192.168.1.1[\\PIPE\\atsvc]
...
Total endpoints found: 50
==== End of RPC Endpoint Mapper query response ====
Vous remarquerez que si vous effectuez cette requête sur l'ordinateur local, vous trouverez beaucoup plus de points de terminaison que si vous exécutez la requête à partir d'un ordinateur distant. En effet, de nombreux points de terminaison RPC ne sont pas exposés à distance et sont uniquement utilisés pour la communication interprocessus locale.
Pour en savoir plus: http://technet.Microsoft.com/en-us/library/cc738291 (v = WS.10) .aspx