Основы сканирования портов | Справочное руководство Nmap (Man Page)
- Справочное руководство Nmap (Man Page)
- Основы сканирования портов
Хотя Nmap постоянно наращивала функциональность,
изначально утилита разрабатывалась как эффективный сканер портов,
и она по-прежнему сохраняет свои основные функции. Простой командой nmap <цель сканирования>
будет произведено сканирование более чем
1660 TCP портов на <целевой машине>
. В то время как многие сканеры портов
традиционно разделяют все порты на закрытые и открытые, Nmap имеет более подробную шкалу деления.
Она подразделяет порты на шесть состояний: открыт
, закрыт
, фильтруется
, не фильтурется
, открыт|фильтруется
или закрыт|фильтруется
.
Эти состояния не являются собственно характеристиками самих портов, а лишь описывают, как Nmap видит их.
135/tcp
открыт, в то время как сканирование из Интернета в то же время и с теми же
опциями может показать, что порт фильтруется
.Шесть состояний портов распознаваемых Nmap
- открыт (open)
Приложение принимает запросы на TCP соединение или UDP пакеты на этот порт. Обнаружение этого состояния обычно является основной целью сканирования. Люди разбирающиеся в безопасности знают, что каждый открытый порт это прямой путь к осуществлению атаки. Атакующие хотят использовать открытые порты, а администраторы пытаются закрыть их или защитить с помощью брадмауэров так, чтобы не мешать работе обычных пользователей. Октрытые порты также интересны с точки зрения сканирования, не связанного с безопасностью, т.к. они позволяют определить службы доступные в сети.
- закрыт (closed)
Закрытый порт доступен (он принимает и отвечает на запросы Nmap), но не используется каким-либо приложением. Они могут быть полезны для установления, что по заданному IP адресу есть работающий хост (определение хостов, ping сканирование), или для определения ОС. Т.к. эти порты достижимы, может быть полезным произвести сканирование позже, т.к. некоторые из них могут открыться. Администраторы могут заблокировать такие порты с помощью брандмауэров. Тогда их состояние будет определено как фильтруется, что обсуждается далее.
- фильтруется (filtered)
Nmap не может определить, открыт ли порт, т.к. фильтрация пакетов не позволяет достичь запросам Nmap этого порта. Фильтрация может осуществляться выделенным брадмауэром, правилами роутера или брандмауэром на целевой машине. Эти порты бесполезны для атакующих, т.к. предоставляют очень мало информации. Иногда они отвечают ICMP сообщениями об ошибке, такими как тип 3 код 13 (destination unreachable: communication administratively prohibited (цель назначения недоступна: связь запрещена администратором)), но чаще встречаются фильтры, которые отбрасывают запросы без предоставления какой-либо информации.
- не фильтруется (unfiltered)
Это состояние означает, что порт доступен, но Nmap не может определить открыт он или закрыт. Только ACK сканирование, используемое для определения правил брандмауэра, может охарактеризовать порт этим состоянием. Сканирование не фильтруемых портов другими способами, такими как Window сканирование, SYN сканирование или FIN сканирование может помочь определить, является ли порт открытым.
- открыт|фильтруется (open|filtered)
Nmap характеризует порт таким состоянием, когда не может определить октрыт порт или фильтруется. Это состояние возникает при таких типах сканирования, при которых открытые порты не отвечают. Отсутствие ответа также может означать, что пакетный фильтр не пропустил запрос или ответ не был получен. Поэтому Nmap не может определить наверняка открыт порт или фильтруется. При сканировании UDP, по IP протоколу, FIN, NULL, а также Xmas порт может быть охарактеризован таким состоянием.
- закрыт|фильтруется (closed|filtered)
Это состояние используется, когда Nmap не может определить закрыт порт или фильтруется. Используется только при сканировании IP ID idle типа.
PortQry — утилита для проверки доступности TCP/UDP портов из Windows
Несмотря на то, что в Windows есть множество инструментов для диагностики проблем в TCP/IP сетях (ping, telnet, pathping и т.д.), не все они позволяют в удобном виде проверить состояние или выполнить сканирование открытых сетевых портов на удаленном сервере. Утилита Portqry.exe является удобным инструментом проверки доступности TCP/UDP портов на удаленном сервере при диагностике проблем, связанных с функционированием различных сервисов, а также наличием файерволов и межсетевых экранов в TCP/IP сетях. Чаще всего утилита Portqry используется как более функциональная замена telnet, и в отличии от telnet, позволяет также проверять открытые UDP порты.
Содержание:
- Используем PortQry для сканирования открытых UDP и TCP портов
- Расширенный статус сетевых служб в PortQry
- Графический интерфейс для Portqry
Используем PortQry для сканирования открытых UDP и TCP портов
Первая версия Portqry для Windows Server 2003 некорректно работает с более новыми ОС (Windows Server 2008 и выше), поэтому в дальнейшем была выпущена вторая версия утилиты
Скачайте и распакуйте архив PortQryV2.exe. Запустите командную строку и перейдите в каталог с утилитой, например:
cd c:\tools\PortQryV2
Чтобы проверить доступность DNS сервера с клиента, необходимо проверить открыты ли на нем 53 порты TCP и UDP. Формат команды проверки доступности портов на удаленном сервере следующий:
PortQry -n server [-p protocol] [-e || -r || -o endpoint(s)]
-n – имя или IP адрес сервера, доступ к которому нужно проверить
—e – номер порта для проверки (от 1 до 65535)
—r – диапазон портов для проверки (например, 1:80)
—p
Примечание. В отличии от комадлета PowerShell Test-NetConnection, который может использоваться только для проверки доступности TCP портов, утилита PortQry поддерживает и TCP и UDP протоколы.
В нашем примере команда будет такой:
PortQry.exe –n 10.1.10.6 -p both -e 53
Утилита Portqry для каждого указанного порта вернет один из трех статусов доступности:
- Listening – означает, что указанный порт доступен (принимает соединения), ответ от него получен;
- Not Listening – на целевой системе не запушен процесс (служба), который бы принимал подключения на указанном порту. Portqry получила ответ ICMP «Destination Unreachable — Port Unreachable» при проверке UDP порта, или TCP пакет с флагом Reset;
- Filtered – утилита PortQry не получала ответа от указанного порта либо ответ был отфильтрован. Т.е. на целевой системе либо не слушается данный порт, либо доступ к нему ограничен файерволом или настройками системы. По умолчанию TCP порты опрашиваются 3 раза, а UDP – один.
В нашем примере, DNS сервер доступен с клиента и по TCP и по UDP.
TCP port 53 (domain service): LISTENING UDP port 53 (domain service): LISTENING
С помощью атрибута —o, можно указать последовательность портов, которых нужно просканировать:
portqry -n 10.1.10.6 -p tcp -o 21,110,143
Следующая команда выполнит сканирование диапазона “низких” TCP портов и вернет список доступных портов, которые принимают подключения (утилита работает в режиме сканера открытых портов):
portqry -n 10.1.10.6 -r 1:1024 | find ": LISTENING"
Можно сохранить результаты сканирования открытых портов в текстовый файл:
portqry -n 10.1.10.6 -p tcp -r 20:500 -l logfile.txt
В утилите portqry есть интерактивный режим:
portqry –i
Теперь в приглашении PortQry Interactive Mode можете указать имя удаленного компьютера и порт.
node srv-lic
set port=80
Чтобы выполнить проверить порт на указанном сервере нажмите q и Enter.
С помощью аргументов –wport и -wpid можно выполнить мониторинг состояния указанного порта (wport), или всех портов, связанных с указанным процессом (wpid) на локальном хосте.
Например, следующая команда в течении 10 минут будет выполнять проверку доступности указанного локального порта (например, RDP порта 3389), и если его статус изменится, уведомит администратора об этом (подробный лог будет доступен в файле LogFile.txt). Чтобы остановить мониторинг, нажмите
:
portqry -wport 3389 -wt 600 –l LogFile.txt -y -v
Можно получить информацию об открытых портах и активных TCP/UDP соединениях на локальном компьютере:
portqry.exe -local
Расширенный статус сетевых служб в PortQry
В утилите PortQry имеется встроенная поддержка некоторых сетевых служб. Это LDAP, Remote Procedure Calls (RPC), почтовые протоколы (SMTP, POP3 и IMAP4), SNMP, FTP/ TFTP, NetBIOS Name Service, L2TP и другие. Кроме проверки доступности этих стандартных портов этих служб, утилита выполняет специфические для конкретного протокола запросы для получения статуса сервиса.
Например, с помощью следующего запроса мы не только проверим доступность службы RPC endpoint mapper (TCP/135), но и получим список имен зарегистрированных в системе конечных точек RPC (в том числе их имя, UUID, адрес к которому они привязаны и приложение, с которым они связаны).
portqry -n 10.1.10.6 -p tcp -e 135
TCP port 135 (epmap service): LISTENING Using ephemeral source port Querying Endpoint Mapper Database... Server's response: UUID: d95afe72-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp:10.1.10.6 [49152] UUID: 897e215f-93f3-4376-9c9c-fd2277495c27 Frs2 Service ncacn_ip_tcp:10.1.10.6 [5722] UUID: 6b5bd21e-528c-422c-af8c-a4079be4fe48 Remote Fw APIs ncacn_ip_tcp:10. 1.10.6 [63006] UUID: 12345678-1234-abcd-ef22-0123456789ab IPSec Policy agent endpoint ncacn_ip_tcp:10.1.10.6 [63006] UUID: 367abb81-9844-35f1-ad32-91f038001003 ncacn_ip_tcp:10.1.10.6 [63002] UUID: 50abc2a3-574d-40b3-1d66-ee4fd5fba076 ncacn_ip_tcp:10.1.10.6 [56020] …….. UUID: 3c4428c5-f0ab-448b-bda1-6ce01eb0a6d5 DHCP Client LRPC Endpoint ncacn_ip_tcp:10.1.10.6 [49153] Total endpoints found: 61 ==== End of RPC Endpoint Mapper query response ==== portqry.exe -n 10.1.10.6 -e 135 -p TCP exits with return code 0x00000000.
Или вы можете проверить доступность и ответ от службы SQL Server Browser на сервере Microsoft SQL Server:
PortQry.exe -n msk-sql1 -e 1434 -p UDP
UDP port 1434 (ms-sql-m service): LISTENING or FILTERED Sending SQL Server query to UDP port 1434... Server's response: ServerName MSK-SQL01 InstanceName MSSQLSERVER IsClustered No Version 15.0.2000.5 tcp 53200 ServerName MSK-SQL01 InstanceName BANKDB IsClustered No Version 15. 0.2000.5 tcp 1433 ==== End of SQL Server query response ==== UDP port 1434 is LISTENING
Как вы видите, утилита portqry показала не только доступность UDP порта, но и версию SQL сервера и имена запущенных на сервере SQL экземпляров и их TCP порты (один инстанс BANKDB живет на порту по умолчанию tcp 1433, второй MSSQLSERVER использует фиксированный порт из RPC диапазона 53200 — см. статью о настройке портов в SQL Server).
Можно опросить SNMP порт на устройстве, указав название community:portqry -n host2 -cn !secure! -e 161 -p udp
При проверке 25 порта на SMTP сервере можно получить баннер приветствия сервера:
portqry -n domain.mail.ru -p tcp -e 25
Графический интерфейс для Portqry
Первоначально утилита Portqry была исключительно консольным инструментом. Для удобства пользователей, которые не дружат с командной строкой, Microsoft разработала простой графический интерфейс для утилиты portqry – PortQueryUI. Скачать PortQueryUI можно с сайта загрузок Microsoft http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe
PortQueryUI по сути представляет собой графическую надстройку над portqry для формирования командной строки, и возврата результата в графическое окно.
Кроме того, в PortQueryUI заложено несколько заранее предопределенных наборов запросов для проверки доступности популярных служб Microsoft:
- Domain and trusts (проверка служб на контроллере домена Active Directory)
- IP Sec
- Networking
- SQL Server
- Web Server
- Exchange Server
- Net Meeting
Думаю, особых комментариев к интерфейсу PortQueryUI давать не нужно. Все должно быть понятно из скриншота ниже. Укажите DNS имя или IP адрес сервера, выберите один из предустановленных сервисов (Query predefined service), или укажите номера портов для проверки вручную (Manually input query ports) и нажмите кнопку Query.
Возможные коды ответа в PortQueryUI (выделен на скриншоте):
- 0 (0x00000000)– означает, что соединении успешно установлено и порт доступен;
- 1 (0x00000001) – указанный порт недоступен или отфильтрован;
- 2 (0x00000002 – это нормальный код возврата при проверке UDP подключения, т. к. не возвращается ACK ответ.
швейцарских франков | Администрация порта, для интернет-порта 135
GRC | Администрация порта, для интернет-порта 135Port Authority Edition Профилирование уязвимостей в Интернете
, Стив Гибсон, Gibson Research Corporation.
Порт перехода 134 |
|
Port 135
Фон и дополнительная информация: |
. Интернет. Хакерские инструменты, такие как «epdump» (Endpoint Dump), могут немедленно идентифицировать каждый связанный с DCOM сервер/службу, работающую на хост-компьютере пользователя, и сопоставлять их с известными эксплойтами против этих служб. Любые машины, расположенные за NAT-маршрутизатором (любым типичным широкополосным IP-маршрутизатором для жилых или малых предприятий), по своей природе безопасны. И любой хороший персональный программный брандмауэр также должен иметь возможность легко блокировать порт 135 от внешнего воздействия. Это то, что ты хочешь. Кроме того, многие интернет-провайдеры, заботящиеся о безопасности, теперь блокируют порт 135 вместе с пресловутым «трио NetBIOS» портов ( 137-139 ). Таким образом, даже без какой-либо собственной проактивной защиты вы можете обнаружить, что порт 135 был заблокирован и скрыт от вашего имени вашим интернет-провайдером. Двигаемся дальше: закрытие порта 135 Если вам интересно получить контроль над другой ненужной «службой» Windows и завершить ее, следующие ссылки предоставят вам необходимую информацию и инструкции: См. первый вопрос на этой странице базы знаний Майкрософт в разделе «Общие проблемы безопасности COM: как включить или отключить DCOM? Страница различной информации DCOM: http://accs-net.com/smallfish/dcom.htm |
Исследовательская корпорация Gibson принадлежит и управляется Стивом Гибсоном. Содержание |
Как защититься от нового TCP-порта 135 Уязвимость безопасности
БЛОГ / Illumio
Джефф Штауффер, старший инженер по техническому маркетингу
8 ноября 2022 г.
Как эксперт по безопасности, вы когда-нибудь чувствовали, что вы всю жизнь участвуете в бесконечной череде выпадения четвертаков в карнавальной игре Whac-a-Mole? (Вы знаете, это обычно рядом с другой раздражающе громкой игрой под названием Skeeball.)
Каждый раз, когда крот высовывает голову, у вас есть только доля секунды, чтобы выплеснуть на него всю свою агрессию, прежде чем он дуется обратно в свою нору, чтобы снова выскочить через 3 секунды.
Работа с каждой новой уязвимостью системы безопасности часто кажется одинаковой.
Я хорошо помню из своей юности уникальную стратегию, которую применял мой приятель Чак, играя с кротом. Он просто сидел за игрой, не позволяя ни одному из кротов выбраться из своей норы. В результате Чак каждый раз выигрывал у меня!
Хммм… мне как сотруднику службы безопасности эта аналогия кажется довольно уместной, не так ли?
Новая уязвимость TCP-порта 135 позволяет выполнять удаленные команды
Это пришло мне на ум, когда я читал о новом эксплойте безопасности, представленном Bleeping Computer с участием одного из наших любимых подозреваемых: PsExec, программы Windows, которая позволяет удаленно выполнять и обмениваться файлами.
Несколько человек из фирмы Pentera, занимающейся проверкой безопасности, опубликовали статью, в которой показано, как им удалось разработать новый способ использования TCP-порта 135 для выполнения удаленных команд.
TCP 135 исторически выступал в качестве «дополнения» к SMB через порт 445, используемый системами обмена файлами в Windows. Что делает результаты Pentera уникальными, так это то, что они смогли просто использовать TCP 135 для выполнения удаленного выполнения.
Таким образом, несмотря на то, что во многих компаниях уже действуют политики против 445, теперь изолировать TCP 135 не менее важно.
Как перестать играть в хакерские игры, развернув стратегии нулевого доверия
Пожизненная игра в «кто-крот» против взломов и программ-вымогателей утомительна, в конечном счете неэффективна и в конечном итоге будет стоить вам гораздо больше денег, чем необходимо. (И это не стоит той гигантской плюшевой панды на карнавале в первую очередь!)
Перестаньте реагировать на любой новый эксплойт, который появится на следующей неделе. Присоединяйтесь к стратегии Чака, заключающейся в том, чтобы сидеть в игре «Ударь крота»: блокируйте все порты везде, которые не должны быть открыты!
Проломы будут происходить, как бы быстро вы ни взмахивали этим молотком. Разверните стратегию Zero Trust, разрешая порты и протоколы между всеми системами только по мере необходимости.
Закрытие уязвимостей безопасности с помощью Illumio Zero Trust Segmentation
Взломы и программы-вымогатели используют боковое перемещение для распространения по сети.
Платформа Illumio Zero Trust Segmentation Platform предлагает вашей организации несколько способов предотвратить это.
Enforcement Boundaries
С помощью Illumio Enforcement Boundaries вы можете остановить горизонтальное движение, развернув общесетевую политику, которая может ограничивать обмен данными через такие порты, как TCP 135, запрещая его между машинами пользователя.
Вы можете написать эту политику буквально пятью щелчками мыши, а затем распространить ее на системы, управляемые Illumio, по всей сети. (Или, для людей, которые больше учатся на слух, это «Щелкни, щёлкни, щёлкни, щёлкни, щёлкни…» тебе).
Illumio Enforcement Границы позволяют безопасно, эффективно и действенно перейти к настоящей модели разрешенных списков.
Детальные политики безопасности
Вы также можете быть немного более детализированными, написав политику, чтобы ограничить эти порты несколькими избранными системами администратора.
Это одно из преимуществ такого решения, как Illumio, — мы упрощаем точное определение того, кто с кем должен разговаривать, и выбираем точные необходимые порты и протоколы.
И Illumio может добиться этого во всей вашей организации с помощью решений сегментации с нулевым доверием для вашего центра обработки данных, ваших конечных пользователей и даже ваших облачных активов.
Глубокая проверка пакетов не требуется
Если вы хотите выиграть в игре «Что за крот», вам действительно нужно проходить курсы по электронике для аркадных игр или изучать язык программирования? Конечно, нет — вам просто нужно иметь правильную стратегию.
Это еще одно преимущество сегментации с нулевым доверием: вам не нужно понимать мысли киберпреступника или тратить время на DPI уровня 7 для защиты от распространения нарушений.