Qual é a sequência das portas RPC do Windows 135, 137, 139 (e portas superiores)? O que muda com a porta 145?

10

Alguém pode explicar quando e com que frequência cada uma das portas RPC do Windows é usada? Os "principais" que eu entendo são:

  • Porta 135
  • Porta 137
  • Porta 139
  • Portas superiores publicadas pelo "catálogo" da Porta 135

Ouvi dizer que a porta 145 entrou no mix para "melhorar as coisas" com o NBT / TCP, mas não tenho certeza de como isso se encaixa na sequência de um cliente Windows que inicia uma ação RPC.

Alguém pode me ajudar a corrigir meu entendimento das portas RPC de uma vez por todas?

goodguys_activate
fonte
3
Para onde você olhou? MS tem um artigo Knowledge Base em support.microsoft.com/kb/832017
Bart Silverstrim
Esse artigo deve entrar em mais detalhes do que você jamais desejou sobre o que os servidores Windows usam para portas de rede.
Bart Silverstrim
@BartSilverstrim Eu gostaria de poder fazer um comentário uma resposta :) PS - você sabe como eu posso enumerar tudo o que escuta na porta diretório (acho que 135?)
goodguys_activate
O netstat diz o que você está procurando no Windows?
Bart Silverstrim

Respostas:

22

Este artigo do TechNet é fantástico , eu recomendo que você o marque como favorito. Ele lista as portas usadas por vários serviços do Windows e é bastante completo.

Nas versões do Windows anteriores ao Vista / 2008, o NetBIOS era usado para o serviço "RPC Locator", que gerenciava o banco de dados do serviço de nomes RPC. Mas no Vista / 2008 e além, o serviço RPC Locator não é mais necessário ou útil. É vestigial. A partir deste momento, vou falar apenas sobre o MSRPC no Vista / 2008 +.

As portas 137, 138 e 139 são para NetBIOS e não são necessárias para a funcionalidade do MSRPC.

Todas as portas usadas pelo RPC são as seguintes:

RPC EPM                  TCP 135 
RPC over HTTPS           TCP 593 
SMB (for named pipes)    TCP 445
Ephemeral Range, Dynamic *

Outros aplicativos, como o Gateway de Área de Trabalho Remota, usarão o proxy RPC sobre HTTP e a porta 443, etc.

Embora o artigo ao qual eu vinculei acima liste as portas NetBIOS, elas são herdadas e não são necessárias para o RPC, supondo que você possa adquirir a resolução de nomes por outros meios (DNS) e assumindo que o serviço remoto em si não depende do NetBIOS.

A porta 145 é falsa. Não é usado para nada. Onde quer que você tenha ouvido que "melhora as coisas", está errado.

O MSRPC básico usa as portas 135 e o intervalo dinâmico de numeração alta. Esse intervalo dinâmico de grande número é as portas 1024-5000 no XP / 2003 e abaixo, e 49152-65535 no Vista / 2008 e acima. Você também pode chamar esse intervalo de portas de portas efêmeras.

Você pode definir um intervalo de portas personalizado, se desejar, da seguinte maneira:

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

E / 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

A porta TCP 135 é o mapeador de pontos de extremidade MSRPC. Você pode vincular a essa porta em um computador remoto, anonimamente, ou enumerar todos os serviços (pontos de extremidade) disponíveis nesse computador ou pode solicitar em que porta um serviço específico está sendo executado, se souber o que está procurando.

Deixe-me mostrar um exemplo de consulta ao RPC Enpoint Mapper:

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 ====

Você notará que, se executar essa consulta no computador local, encontrará muito mais pontos de extremidade do que se realizar a consulta em um computador remoto. Isso ocorre porque muitos pontos de extremidade RPC não são expostos remotamente e são usados ​​apenas para comunicação entre processos locais.

Outras leituras: http://technet.microsoft.com/en-us/library/cc738291(v=WS.10).aspx

E também: https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx

Ryan Ries
fonte