Jaka jest kolejność portów RPC Windows 135, 137, 139 (i wyższych)? Co zmienia się w Port 145?

10

Czy ktoś może wyjaśnić, kiedy i jak często każdy z portów Windows RPC jest używany? Te „podstawowe”, które rozumiem, to:

  • Port 135
  • Port 137
  • Port 139
  • Wyższe porty, które są publikowane przez „katalog” Port 135

Potem usłyszałem, że Port 145 wszedł do miksu, aby „ulepszyć” NBT / TCP, ale nie jestem pewien, jak to pasuje do sekwencji klienta Windows inicjującego akcję RPC.

Czy ktoś może mi pomóc raz na zawsze naprawić moje rozumienie portów RPC?

goodguys_activate
źródło
3
Gdzie wyglądałeś MS ma artykuł z bazy wiedzy na stronie support.microsoft.com/kb/832017
Bart Silverstrim
Ten artykuł powinien zawierać więcej szczegółów niż kiedykolwiek chciałeś na temat tego, czego używają serwery Windows dla portów sieciowych.
Bart Silverstrim
@BartSilverstrim Chciałbym, aby komentarz mógł zostać odpowiedzią :) PS - czy wiesz, jak mogę wyliczyć wszystko, co nasłuchuje na porcie katalogu (myślę, że 135?)
goodguys_activate
Czy netstat mówi ci, czego szukasz w systemie Windows?
Bart Silverstrim,

Odpowiedzi:

22

Ten artykuł TechNet jest fantastyczny , polecam go dodać do zakładek. Wymienia porty używane przez różne usługi Windows i jest dość dokładny.

W wersjach systemu Windows starszych niż Vista / 2008 NetBIOS był używany dla usługi „RPC Locator”, która zarządzała bazą danych usługi nazw RPC. Ale w systemie Vista / 2008 i późniejszych usługa RPC Locator nie jest już potrzebna ani użyteczna. To szczątkowe. Od tego momentu będę mówić tylko o MSRPC na Vista / 2008 +.

Porty 137, 138 i 139 są przeznaczone dla NetBIOS i nie są wymagane do działania MSRPC.

Wszystkie porty używane przez RPC są następujące:

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

Inne aplikacje, takie jak Remote Desktop Gateway, będą używać RPC przez proxy HTTP i będą używać portu 443 itp.

Chociaż w artykule, do którego się powiodłem, wymieniono porty NetBIOS, są one starsze i nie są wymagane w przypadku RPC, zakładając, że można uzyskać rozpoznawanie nazw w inny sposób (DNS) i zakładając, że sama usługa zdalna nie jest zależna od NetBIOS.

Port 145 jest fałszywy. Nie służy do niczego. Gdziekolwiek słyszałeś, że „poprawia sytuację”, jest to złe.

Podstawowy MSRPC wykorzystuje porty 135 i wysoki zakres dynamiki. Ten wysoko numerowany zakres dynamiczny to porty 1024-5000 na XP / 2003 i niższych oraz 49152-65535 na Vista / 2008 i wyższych. Możesz także wywołać efemeryczne porty tego zakresu portów.

Jeśli chcesz, możesz zdefiniować niestandardowy zakres portów:

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

I / lub

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

Port TCP 135 jest maperem punktu końcowego MSRPC. Możesz połączyć się z tym portem na komputerze zdalnym anonimowo i albo wymienić wszystkie usługi (punkty końcowe) dostępne na tym komputerze, albo możesz poprosić o port, na którym działa dana usługa, jeśli wiesz, czego szukasz.

Pokażę przykład zapytania do 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 ====

Zauważysz, że jeśli wykonasz to zapytanie na komputerze lokalnym, znajdziesz o wiele więcej punktów końcowych, niż jeśli wykonasz zapytanie z komputera zdalnego. Jest tak, ponieważ wiele punktów końcowych RPC nie jest zdalnie ujawnianych i są używane tylko do lokalnej komunikacji międzyprocesowej.

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

A także: https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx

Ryan Ries
źródło