Разное

Порт 135 tcp: Обзор служб и требования к сетевым портам — Windows Server

Содержание

Test-NetConnection: проверка открытых/закрытых TCP портов из PowerShell

В PowerShell 4.0 (Windows 2012 R2, Windows 8.1 и выше) появился встроенный командлет для проверки сетевых соединений — Test-NetConnection. С помощью данного командлета вы можете проверить доступность удаленного сервера или сетевой службы на нем, блокировку TCP портов файерволами, проверить доступность по ICMP и маршрутизацию. По сути, командлет Test-NetConnection позволяет заменить сразу несколько привычных сетевых утилит: ping, traceroute, сканер TCP портов и т.д.

Содержание:

  • TCP Port Ping: Использование Test-NetConnection для проверки открытых портов и доступности серверов
  • Test-NetConnection в скриптах мониторинга
  • Сканер сети на PowerShell

Любому администратору периодически приходится проверять доступность службы на удаленном сервере путем проверки ответа от удаленного TCP порта (например, доступность почтового или веб сервера).

Причем, все привыкли, что такую проверку быстрее всего выполнить с помощью команды telnet. Например, для проверки доступности SMTP службы на почтовом сервере (по умолчанию он отвечает на 25 TCP порту) достаточно выполнить команду telnet msk-msg01.winitpro.ru 25 . Но начиная с Windows 7 клиент telnet выделен в отдельный компонент, который нужно устанавливать отдельно. Посмотрим, как выполнить аналогичное действие в PowerShell.

Основное преимущество командлета Test-NetConnection – он уже входит в состав всех современных версий Windows и вам не нужно устанавливать его отдельно. Командлет входит в состав модуля NetTCPIP (начиная с PoSh v4.0).

TCP Port Ping: Использование Test-NetConnection для проверки открытых портов и доступности серверов

Проверим, открыт ли порт TCP 25 (SMTP протокол) на почтовом сервере с помощью Test-NetConnection:

Test-NetConnection -ComputerName msk-msg01 -Port 25

Примечание.

С помощью командлета Test-NetConnection можно проверить только TCP соединение, для проверки доступности UDP портов он не применим.

В сокращенном виде аналогичная команда выглядит так:

TNC msk-mail1 -Port 25

Разберем результат команды:

ComputerName           : msk-msg01
RemoteAddress          : 10.10.1.7
RemotePort             : 25
InterfaceAlias         : CORP
SourceAddress          : 10.10.1.70
PingSucceeded          : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : True

Как вы видите, командлет выполняет разрешение имени сервера в IP адрес, выполняется проверка ответа ICMP (аналог ping) и доступность TCP порта. Указанный сервер доступен по ICMP ( PingSucceeded = True ) и 25 TCP порт также отвечает ( RemotePort=25, TcpTestSucceeded= True ).

Примечание. В некоторых случаях может оказаться, что PingSucceeded=False, а TcpTestSucceeded= True.

Скорее всего означает, что на удаленном сервере запрещен ICMP Ping.

У командлета есть специальный параметр –CommonTCPPort, позволяющий указать наименование известного сетевого протокола (HTTP, RDP, SMB, WINRM).

Например, чтобы проверить доступность веб-сервера, можно использовать команду:

Test-NetConnection -ComputerName winitpro.ru -CommonTCPPort HTTP

Или доступность RDP порта (3389):

Test-NetConnection msk-rds1 –CommonTCPPort RDP

Можно вывести все параметры, которые возвращает командлет Test-NetConnection:

Test-NetConnection msk-man01 -port 445|Format-List *

Если нужна только информация по доступности TCP порта, в более лаконичном виде проверка может быть выполнена так:

TNC msk-mail1 -Port 25 -InformationLevel Quiet

Командлет вернул True, значит удаленный порт доступен.

В Windows 10/ Windows Server 2016 вы можете использовать командлет Test-NetConnection для трассировки маршрута до удаленного сервера при помощи параметра TraceRoute (аналог tracert). С помощью параметра Hops можно ограничить максимальное количество хопов при проверке.

Test-NetConnection msk-man01 –TraceRoute

Командлет вернул сетевую задержку при доступе к серверу в милисекундах ( PingReplyDetails (RTT) : 41 ms ) и все IP адреса маршрутизаторов на пути до целевого сервера.

Test-NetConnection в скриптах мониторинга

Следующая команда позволить проверить доступность определенного порта на множестве серверов, список которых хранится в текстовом файле servers.txt. Нас интересуют сервера, где искомая служба не отвечает:

Get-Content c:\Distr\servers.txt |  where { -NOT (Test-Netconnection $_ -Port 25  -InformationLevel Quiet)}| Format-Table –AutoSize

Аналогичным образом вы можете создать простейшую систему мониторинга, которая проверяет доступность серверов и выводит уведомление, если один из серверов недоступен.

Например, вы можете проверить доступность основных служб на всех контроллеров домена (список DC можно получить командлетом Get-ADDomainController). Проверим следующие службы на DC (в утилите PortQry есть аналогичное правило Domain and trusts):

  • RPC – TCP/135
  • LDAP – TCP/389
  • LDAP – TCP/3268
  • DNS – TCP/53
  • Kerberos – TCP/88
  • SMB – TCP/445

$Ports  = "135","389","636","3268","53","88","445","3269", "80", "443"

$AllDCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address,isGlobalCatalog,Site,Forest,OperatingSystem
ForEach($DC in $AllDCs)
{
Foreach ($P in $Ports){
$check=Test-NetConnection $DC -Port $P -WarningAction SilentlyContinue
If ($check.tcpTestSucceeded -eq $true)
{Write-Host $DC.name $P -ForegroundColor Green -Separator " => "}
else
{Write-Host $DC.name $P -Separator " => " -ForegroundColor Red}
}

Скрипт проверит указанные TCP порты на контроллерах домена, и, если один из портов недоступен, выделит его красным цветом (с небольшими доработками можно запустить данный PowerShell скрипт как службу Windows).

Сканер сети на PowerShell

Также вы можете реализовать простой сканер портов и IP подсетей для сканирования удаленных серверов или подсетей на открытые/закрытые TCP порты.

Просканируем диапазон IP адресов на открытый порт 3389:

foreach ($ip in 5..30) {Test-NetConnection -Port 3389 -InformationLevel "Detailed" 10.10.10.$ip}

Просканируем диапазон TCP портов от 1 до 1024 на указанном сервере:

foreach ($port in 1..1024) {If (($a=Test-NetConnection srvfs01 -Port $port -WarningAction SilentlyContinue).tcpTestSucceeded -eq $true){ "TCP port $port is open!"}}

Повысьте безопасность Windows, закрыв открытые порты — Сетевое администрирование

При стандартной установке операционной системы Windows сразу после установки открывается ряд портов. Некоторые из портов необходимы для правильной работы системы, в то время как другие могут использоваться конкретными программами или функциями, которые могут потребоваться только некоторым пользователям.

Эти порты могут представлять угрозу безопасности, поскольку каждый открытый порт в системе может использоваться злоумышленниками в качестве точки входа. Если этот порт не нужен для работы, рекомендуется закрыть его, чтобы заблокировать любые атаки, нацеленные на него.

Порт обеспечивает связь с устройством и с устройством. Его характеристиками являются номер порта, IP-адрес и тип протокола.

Эта статья предоставит вам инструменты для выявления и оценки открытых портов в вашей системе Windows, чтобы в конечном итоге принять решение, держать их открытыми или закрывать навсегда.

Программное обеспечение и инструменты, которые мы будем использовать:

  • CurrPorts: Доступно для 32-битных и 64-битных версий Windows. Это монитор портов, который отображает все открытые порты в компьютерной системе. Мы будем использовать его для определения портов и программ, которые их используют.
  • Диспетчер задач Windows: также используется для идентификации программ и связывания некоторых портов с программами.
  • Поисковая система: поиск информации о портах необходим для некоторых портов, которые не так легко идентифицировать.

Было бы невозможно просмотреть все открытые порты, поэтому мы воспользуемся несколькими примерами, чтобы вы поняли, как проверить наличие открытых портов и выяснить, требуются они или нет.

Запустите CurrPorts и посмотрите на заполненную основную область.

Программа отображает, среди прочего, имя и идентификатор процесса, локальный порт, протокол и имя локального порта.

Проще всего идентифицировать порты с именем процесса, которое соответствует запущенной программе, такой как RSSOwl.exe, с идентификатором процесса 3216 в приведенном выше примере. Процесс отображается на локальных портах 50847 и 52016. Эти порты обычно закрываются при закрытии программы. Вы можете проверить это, завершив программу и обновив список открытых портов в CurrPorts.

Более важные порты — это те, которые нельзя сразу связать с программой, например системные порты, показанные на снимке экрана.

Есть несколько способов определить службы и программы, связанные с этими портами. Есть и другие индикаторы, которые мы можем использовать для обнаружения служб и приложений, помимо имени процесса.

Самая важная информация — это номер порта, имя локального порта и идентификатор процесса.

С помощью идентификатора процесса мы можем заглянуть в диспетчер задач Windows, чтобы попытаться связать его с процессом, запущенным в системе. Для этого вам необходимо запустить диспетчер задач (нажмите Ctrl Shift Esc).

Нажмите «Просмотр», «Выбрать столбцы» и включите отображение PID (идентификатора процесса). Это идентификатор процесса, который также отображается в CurrPorts.

Заметка : Если вы используете Windows 10, переключитесь на вкладку «Подробности», чтобы сразу отобразить информацию.

Теперь мы можем связать идентификаторы процессов в Currports с запущенными процессами в диспетчере задач Windows.

Давайте посмотрим на несколько примеров:

ICSLAP, TCP-порт 2869

Здесь у нас есть порт, который мы не можем сразу идентифицировать. Имя локального порта — icslap, номер порта — 2869, он использует протокол TCP, имеет идентификатор процесса 4 и имя процесса «система».

Обычно рекомендуется сначала поискать имя локального порта, если его нельзя сразу определить. Запустите Google и найдите порт icslap 2869 или что-то подобное.

Часто есть несколько предложений или возможностей. Для Icslap это общий доступ к подключению к Интернету, брандмауэр Windows или общий доступ к локальной сети. Потребовалось некоторое исследование, чтобы выяснить, что в этом случае он использовался службой общего доступа к проигрывателю Windows Media.

Хороший вариант узнать, так ли это на самом деле, — остановить службу, если она запущена, и обновить список портов, чтобы увидеть, не появляется ли порт больше. В этом случае он был закрыт после остановки службы общего доступа к проигрывателю Windows Media.

epmap, TCP-порт 135

Исследование показывает что он связан с программой запуска процессов сервера dcom. Исследования также показывает что отключать службу — не лучшая идея. Однако можно заблокировать порт в брандмауэре вместо его полного закрытия.

llmnr, порт UDP 5355

Если вы посмотрите в Currports, вы заметите, что имя локального порта llmnr использует UDP-порт 5355. Библиотека ПК есть информация об услуге. Это относится к протоколу Link Local Multicast Name Resolution, который относится к службе DNS. Пользователи Windows, которым не нужна служба DNS, могут отключить ее в диспетчере служб. Это закрывает порты от открытия в компьютерной системе.

Резюме

Вы запускаете процесс, запустив бесплатную переносную программу CurrPorts. Он выделяет все открытые порты в системе. Рекомендуется закрыть все открытые программы перед запуском CurrPorts, чтобы ограничить количество открытых портов для процессов Windows и фоновых приложений.

Вы можете сразу связать некоторые порты с процессами, но вам необходимо найти идентификатор процесса, отображаемый CurrPorts в диспетчере задач Windows или стороннем приложении, например Process Explorer, иначе, чтобы идентифицировать его.

После этого вы можете изучить имя процесса, чтобы узнать, нужен ли он вам и можно ли закрыть его, если он вам не нужен.

Вывод

Не всегда легко идентифицировать порты, а также службы или приложения, с которыми они связаны. Исследования поисковых систем обычно предоставляют достаточно информации, чтобы выяснить, какая служба отвечает за это, и способы ее отключения, если она не нужна.

Хороший первый подход перед тем, как начать поиск портов, — это внимательно изучить все запущенные службы в диспетчере служб, а также остановить и отключить те, которые необходимы системе. Хорошей отправной точкой для их оценки является страница конфигурации служб на BlackViper Веб-сайт.

windows netstat чем занят порт.txt · GitHub

Запускаем командную строку:
win+r там cmd и нажимаем ОК
Видим страшное чёрное окогко. Там пишем:
netstat -ano
netstat -ano | findstr $port — поиск условия в выводе
Вывод команды будет примерно таким:
Активные подключения
Имя Локальный адрес Внешний адрес Состояние PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1000
TCP 0. 0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:990 0.0.0.0:0 LISTENING 3320
TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING 620
TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING 1128
TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING 1204
TCP 0.0.0.0:49156 0.0.0.0:0 LISTENING 668
TCP 0.0.0.0:49159 0.0.0.0:0 LISTENING 704
TCP 0. 0.0.0:51693 0.0.0.0:0 LISTENING 2900
TCP 0.0.0.0:62343 0.0.0.0:0 LISTENING 2292
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 3320
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 3320
TCP 127.0.0.1:10000 0.0.0.0:0 LISTENING 2292
TCP 192.168.0.100:139 0.0.0.0:0 LISTENING 4
TCP 192.168.0.100:49160 157.55.235.160:40042 ESTABLISHED 2900
TCP 192.168.0.100:49177 78. 141.179.13:12350 ESTABLISHED 2900
Во втром столбце ищем интересующий нас порт.
Например возьмём последнюю строку и определим каким процессом у меня занят порт 12350 и что это за каннект вообще такой.
В последнем столбце смотрим его id. Это 2900.
Запускаем диспетчер задач (ctrl+shift+esc). Идём в меню вид==>выбрать столбцы. Там ставим галочку напротив PID.
И смотрим в диспетчере задач что за процесс скрывается под id 2900. У меня это оказался skype.exe
PID
echo $(netstat -ano | grep -P ‘(\d+\.){3}\d+:$port’ | awk -F ‘ ‘ ‘{print $NF}’)
taskkill /F /PID $pid
taskkill /F /PID

135, 593 — Pentesting MSRPC

135, 593 — Pentesting MSRPC

Поддержите HackTricks и получите преимущества!

Удаленный вызов процедур Microsoft, также известный как вызов функции или вызов подпрограммы, представляет собой протокол, который использует модель клиент-сервер, чтобы позволить одной программе запрашивать обслуживание у программы на другом компьютере без необходимости разбираться в деталях. сети этого компьютера. Первоначально MSRPC была получена из программного обеспечения с открытым исходным кодом, но была усовершенствована и защищена авторскими правами Microsoft.

В зависимости от конфигурации хоста доступ к сопоставителю конечных точек RPC можно получить через порт TCP и UDP 135, через SMB с нулевым сеансом или сеансом с проверкой подлинности (TCP 139 и 445), а также в качестве веб-службы, прослушивающей TCP-порт 593.

135/tcp open msrpc Microsoft Windows RPC

Процесс MSRPC начинается на стороне клиента, при этом клиентское приложение вызывает локальную процедуру-заглушку вместо кода, реализующего процедуру. Код-заглушка клиента извлекает необходимые параметры из клиентского адресного пространства и доставляет их в клиентскую библиотеку времени выполнения, которая затем переводит параметры в стандартный формат представления сетевых данных для передачи на сервер.

Затем клиентская заглушка вызывает функции в библиотеке времени выполнения клиента RPC для отправки запроса и параметров на сервер. Если сервер расположен удаленно, библиотека времени выполнения указывает соответствующий транспортный протокол и механизм и передает RPC в сетевой стек для передачи на сервер. Отсюда: https://www.extrahop.com/resources/protocols/msrpc/​

Изображение Из книги « Оценка сетевой безопасности, 3-е издание »

Раздел взят из книги Оценка сетевой безопасности, 3-е издание именованные трубы). Каждое значение IFID, полученное в ходе этого процесса, обозначает службу RPC (например, 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc — это интерфейс Messenger).

Утилиты Windows rpcdump и ifids Тодда Сабина запрашивают как локатор RPC, так и конкретные конечные точки RPC, чтобы получить список значений IFID. Синтаксис rpcdump следующий:

D: \ rpctools> rpcdump [-p-порт] 192.168.189.1

IFID: 5A7B91F8-FF00-11D0-A9B2-00C04FB6E6FC Версия 1,0

Аннотация: Сервис-посланник

.

Переплет: NCADG_IP_UDP: 192.168.189.1 [1028]

Вы можете получить доступ к службе локатора RPC, используя четыре последовательности протоколов:

  • NCACN_IP_TCP и NCADG_IP_UDP (TCP и UDPPRI_IP_TCP и NCADG_IP_IP_UDP (TCP и UDP 135)

    )

    )

    )

    9003)

    9003

    9003

    9003

    )

    . \epmapper именованный канал через SMB)

  • ncacn_http (RPC через HTTP через TCP-порты 80, 593 и другие) управление

    использовать вспомогательный/сканер/dcerpc/tcp_dcerpc_auditor

    rpcdump. py -p 135

    Обратите внимание, что из указанных опций все, кроме tcp_dcerpc_23tor 900 900 0087 может только выполняться против msrpc в порт 135 5 5.

    Notable RPC interfaces

    IFID value

    Named pipe

    Description

    12345778-1234-abcd-ef00-0123456789ab

    \pipe\lsarpc

    LSA interface, used to enumerate пользователи

    3919286a-b10c-11d0-9BA8-00C04FD92EF5

    \ Pipe \ LSARPC

    Служба каталогов LSA (DS), используемый для перечисления доменов и доверия. для доступа к общедоступным элементам базы данных SAM (например, именам пользователей) и перебору паролей пользователей независимо от политики блокировки учетной записи Библиотека Oreilly выполнять команды

    338cd001-2244-31f1-aaaa-

    8001003

    \pipe\winreg

    Remote registry service, used to access the system registry

    367abb81-9844-35f1-ad32-98f038001003

    \pipe\svcctl

    Service control диспетчер и серверные службы, используемые для удаленного запуска и остановки служб и выполнения команд

    4b324fc8-1670-01d3-1278-5a47bf6ee188

    \pipe\srvsvc

    Службы диспетчера управления и серверные службы, используемые для удаленного запуска и остановки служб и выполнения команды

    4d9f4ab8-7d1c-11cf-861e-0020af6e7c57

    \pipe\epmapper

    Интерфейс DCOM, поддерживающий WMI

    ServerAlive2 внутри интерфейса IOXIDResolver .

    Этот метод использовался для получения информации об интерфейсе в виде адреса IPv6 из блока HTB APT . См. здесь запись 0xdf APT, она включает альтернативный метод с использованием rpcmap.py от Impacket с переплет (см. выше).

    Ссылки:

    • ​https://airbus-cyber-security.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/​

    • ​https://airbus-cyber-security.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/​

    rpcdump. exe из rpctools может взаимодействовать с этим портом.

    Поддержите HackTricks и получите выгоду!

    Сетевые услуги Пентаестринг - предыдущий

    123/UDP - Пентузинг NTP

    Next - Network Services Pentesting

    137,138,139 - Пендовые NetBios

    Последний модифицированный 10000

    Копия

    EDIT на GIT

    Основная информация

    Как работает MSRPC?

    Идентификация открытых служб RPC

    Идентификация IP-адресов

    Порт 593

    RPC - The Hacker Recipes

    The Hacker Recipes

    GitHubTwitterExegolTools

    Search…

    Introduction

    Active Directory

    Reconnaissance

    NBT-NS

    Responder ⚙️

    Port scanning

    BloodHound ⚙️

    MS-RPC

    enum4linux ⚙️

    Политика паролей

    Перемещение

    Постоянство

    Веб-службы

    Разведка

    Конфигурация

    Учетные записи и сеансы

    Пользовательские входы

    Systems & Services

    Reconnaissance

    Начальный доступ (протоколы)

    Начальный доступ (фишинг)

    Привилегии Эскалация

    . 🛠️ Сбор разведданных

    CYBINT

    GEOINT

    🛠️ РАДИО

    Bluetooth

    Беспроводная клавиатура/мышь

    🛠️ мобильные приложения

    Android

    Powered By GitBook

    MS-RPC

    MS-RPC (удаленный вызов процедур Microsoft) — это протокол, который позволяет запрашивать обслуживание у программы на другом компьютере без необходимости разбираться в деталях сети этого компьютера. К службе MS-RPC можно получить доступ через различные транспортные протоколы, среди которых:

    • сетевой канал SMB (прослушивающие порты 139 и 445)

    • обычный TCP или обычный UDP (прослушивающий порт устанавливается при создании службы)

    • локальный канал SMB

    Службы RPC через транспорт SMB, т. е. порт 445/TCP, доступны через «именованные каналы» (через общий ресурс IPC$ ). Есть много интересных именованных каналов, которые позволяют выполнять различные операции из контекста сеансов NULL в локальный административный контекст.

    • \pipe\lsarpc : перечисление привилегий, доверительных отношений, SID, политик и т. д. через LSA (локальный орган безопасности)

    • \pipe\samr : перечисление доменных пользователей, групп и т. д. через локальную базу данных SAM (работает только до Win 10 Anniversary)

    • \pipe\svcctl : удаленное создание, запуск и остановка служб для выполнения команды (используется psexec. py и smbexec.py Impacket)

    • \pipe\atsvc : удаленно создавать запланированные задачи для выполнения команд (используется atexec.py Impacket)

    • \9pipe0085 : используется DCOM (объектная модель распределенных компонентов), сама используется WMI (инструментарий управления Windows), сама используется злоумышленниками для выполнения команд (используется wmiexec.py Impacket). DCOM также используется MMC (Microsoft Management Console), но сама по себе используется злоумышленниками для выполнения команд (dcomexec.py от Impacket)

    Поиск открытых служб

    Программа epmapper (MS-RPC EndPoint Mapper) сопоставляет службы с портами. Он использует порт 135/TCP и/или порт 59.3/TCP (для RPC через HTTP). С помощью epmapper такие инструменты, как rpcdump.py (Python) от Impacket или rpcdump.exe (C) от rpctools, могут находить открытые службы RPC.

    # с rpcdump.py (пример с целевым портом 135/TCP)

    rpcdump.py -port 135 $TARGET_IP

    # с rpcdump.exe (пример с целевым портом 593/TCP)

    rpcdump.exe -p 5933 $TARGET_IP

    Сеансы NULL

    Сеансы NULL — это сеансы SMB без проверки подлинности, которые позволяют злоумышленникам выполнять вызовы RPC через именованные каналы SMB без предварительной проверки подлинности. Это позволяет использовать многие методы разведки, такие как перечисление доменной и локальной информации (пользователи, группы, RID, SID, политики и т. д.).

    Утилита Samba с именем rpcclient может использоваться для выполнения разведки через службы MS-RPC за именованными каналами SMB. Он предлагает несколько полезных команд.

    • lsaquery : get domain name and SID (Security IDentifier) ​​

    • enumalsgroups builtin : list local groups, returns RIDs (Relative IDs)

    • queryaliasmem : list local group членов, возвращает SID

    • Lookupsids : Resolve SID к названию

    • LookupNames <имя> : resolve name to sid

    • Enumdomusers : списки пользователей, эквивалент до . enumdomgroups : список групп эквивалентен net group /domain

    • queryuser : получить информацию о пользователе, эквивалентно net user /domain

    • QueryGroupMem : Получить участники группы, эквивалент Net Group /Domain

    • GetDompwinfo : Get Palsy Polidy 9003

      GetDompwinfo : Get Palsorly 9003

      GetDompwinfo : Get Palsor 9003

. $TARGET_IP

Циклирование RID

Циклирование RID — это метод, который позволяет злоумышленникам перечислять объекты домена путем подбора или угадывания RID и SID на основе того факта, что RID являются последовательными.

Сценарий Python ridenum может использоваться для работы с этой техникой разведки, с сеансом Null или с аутентифицированным сеансом.

Инструмент enum4linux можно использовать для простой работы с быстрым повторным обнаружением через MS-RPC, с нулевым сеансом или без него (см. эту страницу).

Удаленный вызов процедур и перечисление Active Directory

Medium

Previous

BloodHound ⚙️

Next

enum4linux ⚙️

Скопировать ссылку 10 месяцев назад

30003

На этой странице

Теория

Практика

Поиск открытых сервисов

Нулевые сеансы

Разведка через интересные именованные каналы

RID Cycling

Ресурсы

портов Active Directory, используемых клиентом на сервер

Роберт Аллен

В этом посте я рассмотрю порты TCP и UDP, используемые Active Directory от клиента к серверу.

Я буду использовать WireShark и серию тестов, чтобы определить, какие порты используются.

Тесты, которые я буду запускать:

  • Порты, используемые при входе пользователя в компьютер
  • Порты, используемые при запуске gpupdate
  • Порты, используемые при присоединении компьютера к домену
  • Порты, используемые при перезагрузке
  • Тестовая среда:

    • Сервер 2022 с IP-адресом 192.168.100.10 (сервер Active Directory)
    • Windows 10 Pro с IP-адресом 192.168.100.20
    • Wireshark установлен на сервере Active Directory
    • Сервер Active Directory устанавливается по умолчанию

    Порты, используемые Active Directory между клиентом и сервером

    В этом разделе приводится сводка портов, использованных во всех тестах.

    • TCP 135 Microsoft RPC
    • TCP/UDP 49152 – 65535 RPC Dynamic Ports
    • TCP 88 Kerberos
    • TCP 389 LDAP
    • UDP 53 DNS
    • TCP 445 SMB

    TCP 135 Microsoft RPC Mapper

    • Описание: Порт 135 является важным портом клиент/сервер. Этот порт используется многими службами Microsoft и не должен блокироваться брандмауэром. Сначала клиент подключается к службе сопоставления RPC (порт 135) и спрашивает средство сопоставления, какой порт прослушивает данная служба (это будет динамический диапазон портов… см. ниже). Сопоставитель RPC отвечает клиенту с портом, а затем клиент подключается к этому порту. Вы можете увидеть это на скриншоте выше.
    • Брандмауэр: Разрешить между клиентом и сервером. Порт 135 не должен быть открыт для Интернета.

    TCP/UDP 49152 – 65535 Динамические порты RPC

    • Описание: Динамический диапазон портов используется различными серверными приложениями. Динамическое выделение портов RPC указывает программе RPC использовать конкретный случайный порт в диапазоне, настроенном для TCP и UDP, в зависимости от реализации используемой операционной системы. Преобразователь RPC (порт 135) используется для подключения клиентов к службам, работающим на этих динамических портах.
    • Брандмауэр: Разрешить между клиентом и сервером. Этот диапазон портов не должен быть доступен в Интернете.

    рекомендуется перенастроить брандмауэры, чтобы разрешить трафик между серверами в диапазоне динамических портов от 49152 до 65535. Этот диапазон является дополнением к хорошо известным портам, которые используются службами и приложениями.

    https://docs.microsoft.com/en-US/troubleshoot/windows-server/networking/default-dynamic-port-range-tcpip-chang

    TCP 88 Kerberos

    • Описание: Kerberos протокол аутентификации, который аутентифицирует запросы между клиентом и сервером безопасным образом. Это метод проверки подлинности Microsoft Window по умолчанию для устройств, присоединенных к домену.
    • Брандмауэр: Разрешить между клиентом и сервером. Порт не должен быть открыт для Интернета.

    TCP 389 LDAP

    • Описание: LDAP — это протокол доступа к каталогу. Этот протокол используется для поиска, добавления/удаления, аутентификации и изменения данных на сервере каталогов, таком как Active Directory.
    • Брандмауэр: Разрешить между клиентом и сервером. Порт не должен быть открыт для Интернета.

    UDP 53 DNS

    • Описание: DNS — это важная служба, используемая для сопоставления IP-адресов с именами хостов. Это критически важная служба, используемая клиентами для поиска записей ресурсов в домене и поиска внешних доменных имен.
    • Брандмауэр: Разрешить между клиентом и сервером. Если DNS работает на вашем сервере Active Directory, я не рекомендую выставлять его в Интернет.

    TCP 445 SMB

    • Описание: Блоки сообщений сервера (протокол SMB) — это протокол связи между клиентом и сервером, используемый для доступа к файлам, принтерам и данным в сети. Этот порт используется во время запуска для получения информации о GPO, а также при выполнении команды gpupdate.
    • Брандмауэр: Разрешить между клиентом и сервером. Не открывайте этот порт для доступа в Интернет.

    Порты, используемые при входе пользователя в компьютер, присоединенный к домену

    В этом примере я войду в компьютер PC1 (192.168.100.20) и перехватлю сетевые пакеты с контроллера домена.

    Вот диалоговое окно используемых портов TCP/UDP. Это трафик, отправляемый клиентом на контроллер домена и порты назначения.

    Вот сводка портов назначения, используемых клиентом.

    • TCP 88 (Kerberos)
    • TCP 135 (Microsoft RPC)
    • TCP 389 (LDAP)
    • TCP 445 (Microsoft DS)
    • TCP 49668 (RPC для LSA, SAM, запуск с NetLogon) к порту 135
    • UDP 53 (DNS)
    • UDP 389 (LDAP)

    Порты, используемые при запуске Gpupdate

    Войдя в клиентский ПК, я запущу команду gpupdate, чтобы узнать, какие порты используются.

    Результаты ниже. Похоже, TCP-порт 445 используется чаще всего при запуске gpupdate.

    Порты, используемые при присоединении компьютера к домену

    Это похоже на другие захваты пакетов.

    TCP 88 (Kerberos)
    TCP 135 (Microsoft RPC)
    TCP 389 (LDAP)
    TCP 445 (Microsoft DS)
    TCP 49668 (RPC для LSA, SAM, NetLogon) — начинается с запроса на порт 135
    UDP 53 (DNS)

    Порты, используемые при перезагрузке

    Ничего нового, я вижу те же самые порты, используемые при сравнении с другими захватами пакетов.

    Надеюсь, это руководство поможет вам понять порты, используемые между клиентом и сервером Active Directory. Имейте в виду, что этот тест был установкой контроллера домена по умолчанию без запуска дополнительных служб, чем больше служб вы устанавливаете, тем больше портов можно использовать.

    Ресурсы:

    • Обзор служб и требования к сетевым портам для Windows
    • Имя службы и номер транспортного протокола Реестр

    Рекомендуемый инструмент: Анализатор разрешений для Active Directory

    Этот БЕСПЛАТНЫЙ инструмент позволяет мгновенно просматривать разрешения пользователей и групп и позволяет быстро проверить разрешения пользователя или группы для файлов, сетевых ресурсов и общих папок.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *