выполните сканирование портов брандмауэра 📀
Часто домашние компьютеры являются легкой мишенью для хакеров, особенно для DSL или кабельных подключений к Интернету, потому что нарушителю легко проникнуть в незащищенную или потерянную сеть, а не в усиленную защищенную корпоративную сеть. Итак, если вы широкополосный пользователь, скорее всего, ваш компьютер подвержен риску и подвержен хакерским атакам, потому что у вас есть «всегда включенное» подключение к Интернету. На вашем компьютере хранится личная информация, которую хакер может использовать для своих преимуществ. Хотя Брандмауэр поможет остановить такие атаки, вам нужно проверить, работает ли он правильно, и если все необходимые порты закрыты.
Сканер портов брандмауэра
Приложение для сканирования портов, такое как Free Port Scanner, позволяет идентифицировать открытые порты и службы, доступные на сетевом узле. Он тщательно сканирует определенные порты для данного IP-адреса и обнаруживает уязвимые точки доступа, тем самым позволяя вам инициировать действие и закрывать их для злоумышленников.
Простое бесплатное программное обеспечение от Network Security Audit Software имеет простой интерфейс. Все основные поля можно найти в верхней части главного окна. Остальное пространство учитывается результатами сканирования, которое включает в себя IP-адрес, имя порта, номер, статус и описание.
Большинство функций самоочевидны и поэтому не требуют объяснений. По этой причине вы не найдете файла справки в комплекте с пакетом приложений. Кнопки «Сканирование» и «Стоп» помогают начать или остановить сканирование.
Пометка «Показать закрытые порты». При снятии флажка отображаются только открытые порты. Когда вы нажимаете кнопку сканирования, появляется синий индикатор выполнения, который запускает процесс проверки ваших портов. Процесс может занять несколько минут, и вы можете обнаружить, что результаты не отображаются в главном окне, пока программа не подтвердит, закрыт или открыт порт.
Если вы обнаружите, что один или несколько портов вашей системы открыты, рекомендуется проверить систему безопасности и программное обеспечение, а затем снова запустить Free Port Scanner, до тех пор, пока не удовлетворены результатами безопасности системы.
Хорошо, что Free Port Scanner освещает ресурсы и не потребляет много места для хранения. В целом, Free Port Scanner не защищает вашу систему, но, по крайней мере, обеспечивает раннее предупреждение, которое необходимо оценить с помощью ваших инструментов безопасности. Очень рекомендуется для всех пользователей.
Бесплатный сканер портов скачать
Сканер Free Port можно скачать с Вот. Спасибо keimanzero за подсказку.
Сканирование портов через межсетевой экран
Если вы ищете некоторые ссылки на онлайн-сканеры портов и службы тестирования брандмауэра, вы можете проверить их:
- AuditMyPC
- GRC ShieldUp
- Тестер перенаправления портов.
Сообщите нам, если вы знаете больше о таких бесплатных инструментах или онлайн-сервисах.
Tweet
Share
Link
Plus
Send
Send
Pin
PortQry — сканер сетевых портов | Windows IT Pro/RE
Наблюдаем за активностью приложений и использованием портов
Для большинства соединений в компьютерных системах используются протоколы TCP и UDP. Все версии Windows открывают множество портов, обеспечивающих возможность выполнения полезных функций, в частности совместное использование файлов и вызов удаленных процедур (remote procedure call, RPC). Однако программы-«троянцы» могут злоупотреблять портами, открывая лазейки для нападения на компьютеры. Как для диагностики необходимых сетевых служб, так и для обнаружения вредных программ нужно уметь управлять трафиком между компьютерами сети. Первый шаг к этому — обнаружить программы, прослушивающие сетевые порты в компьютерах.
С помощью анализатора сетевых портов, такого как Nmap, можно выявить приложения и сетевые службы, установленные на компьютере, и слушающие порты. Например, при сканировании Web-сервера будут обнаружены открытые порты 80 и 443. Некоторые анализаторы портов позволяют запросить из открытого порта информацию о прослушивающем приложении. Обычно в ответ на запрос поступает текстовый баннер, который содержит информацию о приложении. Однако баннер может быть ложным. Например, захватив баннер, сканер анализатора может сообщить, что порт 80 прослушивается программой Apache. Если используется только Microsoft IIS, это сообщение должно вызвать подозрение, что какая-то другая программа маскируется под Apache. В зависимости от результатов проверки может возникнуть необходимость зарегистрироваться в системе и непосредственно определить приложение, прослушивающее этот порт.
Windows Server 2003 и Windows XP позволяют установить соответствие идентификаторов процессов (process identifier, PID) с открытыми сетевыми портами. Выпуская XP, компания Microsoft модернизировала Netstat, которая теперь поддерживает корреляцию PID — сетевое соединение, однако в программе по-прежнему есть изъяны. Например, Netstat показывает только PID, но не имя процесса. Чтобы узнать имя процесса, необходимо установить соответствие имени и PID с помощью такого инструмента, как Task Manager.
Менее известный инструмент поможет осуществить исследование и анализ сети. Это PortQry, сканер сетевых портов, ориентированный на продукты Microsoft и располагающий функциями мониторинга хост-систем локальной сети.
Обзор PortQry
PortQry 2.0 совместим с Windows 2003, XP и Windows 2000. Он отображает состояние портов TCP и UDP на локальной или удаленной машине. По функциональности PortQry уступает большинству других сканеров сетевых портов, таких как Nmap или бесплатные SuperScan 4.0 и ScanLine компании Foundstone. Но если запустить PortQry в локальном режиме на Windows 2003 или XP, то программа установит соответствие между открытыми портами и сетевыми приложениями-слушателями вплоть до уровня DLL. Кроме того, отчеты PortQry более насыщены информацией, чем отчеты Netstat.
При работе в дистанционном режиме PortQry показывает, закрыт или открыт данный порт. Для некоторых портов, например, LDAP (Lightweight Directory Access Protocol — упрощенный протокол доступа к сетевым каталогам) и RPC, PortQry выдает дополнительную информацию о прослушивающей службе. Например, при запросе LDAP порта UDP 389 PortQry передает полезную информацию о службе LDAP, в том числе о ее схеме, конфигурации и контекстах именования корневого домена; версии LDAP; хост-имени DNS.
PortQry — инструмент командной строки. Однако отдельно распространяемая программа PortQueryUI, которая рассматривается ниже, дополнена графическим интерфейсом для PortQry и несколькими функциями, облегчающими работу с продуктом.
Дистанционное использование PortQry
Чтобы загрузить PortQryV2.exe, следует обратиться на сайт http://www.microsoft.com/downloads и указать в строке поиска имя утилиты. После загрузки анализатора нужно запустить самораспаковывающийся архив, чтобы восстановить файлы в любом каталоге по выбору пользователя. Исполняемый файл portqry.exe очень мал — всего 140 Кбайт.
Чтобы определить, установлен ли Web-сервер по TCP-порту 80 удаленной машины с IP-адресом 192.168.0.8, следует выполнить команду
portqry -n 192.168.0.8 -e 80
Ключ -n задает имя или IP-адрес машины. Ключ -e указывает порт назначения или конечную точку и предшествует номеру порта. По умолчанию PortQry сканирует с использованием протокола TCP, но, как показано ниже, можно указать и другой протокол. Если Web-сервер активен, то PortQry выдает следующую информацию:
TCP Port 80 (http service): LISTENING
С помощью других ключей можно настроить поведение PortQry. Ключи -r и -o обеспечивают сканирование диапазона последовательных портов или задают список отдельных портов, соответственно:
portqry -r 10:100 portqry -o 53,80,443
Порт-источник задается ключом -sp, после которого указывается номер порта. Изменить выбираемый по умолчанию протокол можно ключом -p, за которым следуют обозначения UDP или BOTH. Если для сканирования UDP-пакетов используется медленный канал связи, необходимо указать задержку медленного канала с помощью ключа -sl и настроить PortQry на более длительное ожидание ответов UDP от удаленных компьютеров.
Для сканирования порта SNMP нужно применить ключ -cn с последующей строкой имени сообщества SNMP, ограниченной восклицательными знаками:
portqry -cn !community_string!
где community_string — имя сообщества SNMP. Если не указать правильное имя сообщества, то вместо сведений об открытом или закрытом порте будет получен результат Filtered. С помощью PortQry можно быстро проверить, все ли системы имеют верно заданное имя сообщества, и определить, есть ли машины, настроенные на прием известной строки сообщества Public.
PortQry извлекает полезную информацию из определенных портов. Например, если запрос направлен к порту соответствий конечных точек RPC (TCP-порт 135), то PortQry возвращает информацию обо всех службах, прослушивающих этот порт.
Локальное использование PortQry
Недостатки дистанционного сканирования PortQry компенсируются уникальными локальными функциями. Для активизации локального режима нужно запустить PortQry с ключом -local. Если использовался только ключ -local, то PortQry выдает информацию об использовании всех локальных портов и соответствиях порт-PID. Вместо сортировки данных по открытым портам, PortQry перечисляет их в соответствии с PID. В результате администратор может быстро выяснить, какие приложения располагают открытыми сетевыми соединениями.
С помощью PortQry можно отслеживать изменения состояния конкретного локального порта или PID. Для наблюдения за портом 80 требуется выполнить команду
portqry -local -wport 80
и PortQry выдаст список всех приложений, прослушивающих порт 80. Например, если на системе работает Microsoft IIS, то PortQry сообщает, что служба W3SVC находится в состоянии Listening, и перечисляет другие порты, используемые службой W3SVC, в частности порт 443 для HTTP Secure (HTTPS). Кроме того, PortQry продолжает работать в командной оболочке и выдает информацию обо всех изменениях активности порта. Таким образом, если затем открыть браузер и обратиться к серверу, работающему с IIS, то PortQry сообщит об этом событии и новом установленном соединении (см. экран 1).
Экран 1. Использование PortQry для наблюдения за портом |
Для наблюдения за определенным приложением следует запустить PortQry с ключом -wpid:
portqry -local -wpid PID
где PID — идентификатор процесса приложения. Отслеживая PID, легко контролировать сетевую активность нового приложения. Допустим, требуется определить, какие порты использует Windows Messenger. Известно, что имя выполняемого файла программы — msmsgs.exe, и его можно увидеть в Task Manager. Следует запустить файл msmsgs.exe (или убедиться, что пиктограмма Windows Messenger находится в системной панели), затем запустить Task Manager. Щелкнув на вкладке Processes в Task Manager, можно убедиться, что в ней показан столбец PID. Если столбец отсутствует, нужно щелкнуть в меню View, Select Columns и установить флажок PID (Process Identifier). Необходимо отыскать процесс msmsgs.exe и запомнить его PID, затем открыть другое окно командной строки и запустить PortQry с ключом
-wpid и этим PID.
Экран 2. Пример вывода PortQry при наблюдении за процессом по его PID |
Как показано на экране 2, процесс с PID 2400 ожидает UDP-порт 1127. Если оставаться в режиме наблюдения, то PortQry выводит эту информацию до тех пор, пока не будет обнаружено изменение. PortQry проверяет изменения каждую минуту. Например, если зарегистрироваться в Windows Messenger, то PortQry автоматически выдает итоговую сводку новых действий в командную оболочку (см. экран 3).
Теперь известно, что Windows Messenger прослушивает порт UDP 1127 и использует порт назначения TCP 1863 для связи в процессе регистрации в приложении. Следует отметить, что Windows Messenger инициировал это соединение с удаленным IP-адресом, 207.
Если послать диалоговое сообщение, обнаруживается интересный факт. PortQry сообщает о двух вновь открытых сокетах (сокет — комбинация порта и удаленного IP-адреса). Новые сокеты — еще один порт с получателем TCP 1863 и новый порт с получателем TCP 80 (см. экран 4). TCP-порт 80 используется протоколом HTTP и указывает, что Windows Messenger обращается к удаленному Web-серверу при отправке диалогового сообщения. Спустя несколько минут отсутствия активности сеанс TCP заканчивается, порты закрываются, и PortQry сообщает, что только два первоначальных порта остаются открытыми.
На этом достаточно простом примере наглядно видны некоторые достоинства PortQry. С помощью Task Manager и PortQry можно наблюдать за активностью определенных приложений и распознавать используемые ими порты. Известно, что Windows Messenger задействует TCP-порт 1863, но программа использует и порт для HTTP.
Кроме того, сложно наблюдать за конкретным приложением с помощью традиционного анализатора сети, который регистрирует трафик TCP/IP. Netstat выдает аналогичную информацию об открытых портах, но не позволяет отслеживать единственный PID или сообщить только об изменениях, связанных с новой активностью в сети.PortQryUI
Microsoft предлагает графический интерфейс для PortQry (portqryui.exe). PortQryUI также можно загрузить с сайта http://www.microsoft.com/downloads. В PortQryUI входит версия portqry.exe и некоторые заранее определенные наборы, состоящие просто из групп портов для сканирования. Эти наборы — Domains and Trusts, IP Security (IPSec), Networking, SQL Service, Web Service, Exchange Server, NetMeeting и Miscellaneous. В
При сканировании с использованием заранее подготовленного набора PortQryUI связывает воедино несколько запусков PortQry, а затем выводит результаты на экран. Например, если запросить Domains and Trusts, то интерфейс последовательно инициирует сеансы сканирования PortQry всех портов, связанных с Active Directory (AD), например NetBIOS, DNS, Kerberos, LDAP, RPC.
Недостаток PortQryUI заключается в том, что программа не работает в локальном режиме, поэтому пользователь не может наблюдать за PID и портами. Поскольку PortQryUI инициирует отдельные проверки PortQry для каждого порта, выходные данные содержат много лишней информации, например повторно указывается время начала сканирования. Можно очистить результаты, просто запустив утилиту для командной строки и указав конкретные порты. Например, команда
portqry -n 192.168.0.8 -o 135, 389,636,3268,3269,53,88,445, 137,138,139,42 -p both
выдает сжатый вариант результатов PortQryUI для службы Domains and Trusts. Команду необходимо вводить одной строкой без пробелов между номерами портов.
Таким образом, PortQry позволяет оценить сетевую активность систем Windows. Этот компактный, простой в использовании анализатор особенно полезен в локальном режиме. Программа может стать отличным дополнением к набору инструментов каждого администратора.
Джеф Феллинг — Директор по информационной безопасности компании aQuantive. Автор книги IT Administrator?s Top 10 Introductory Scripts for Windows, издательство Charles River Media. [email protected]
10 лучших инструментов для сканирования открытых портов и проверки портов на 2023 год
Сканеры портов и инструменты для проверки портов являются наиболее важными элементами поиска открытых портов и состояния порта.
Открытые порты означают номер порта TCP или UDP, предназначенный для подтверждения пакетов.
Веб-страницы или службы FTP требуют, чтобы их определенные порты были «открыты» на сервере, чтобы они были свободно доступны.
Что такое сканер открытых портов?Сканер открытых портов — это инструмент, который используется для проверки внешнего IP-адреса и выявления открытых портов в соединении.
Используется для определения того, правильно ли настроена переадресация портов или блокируются ли серверные приложения брандмауэром.
Средства проверки портов используются для проверки сети на наличие портов, которые обычно перенаправляются.
Некоторые порты, такие как порт 25, обычно блокируются на уровне интернет-провайдера, пытающегося перехватить подозрительные задачи.
Каждые данные содержат номер порта, который позволяет протоколам определять желаемое местоположение и соответствующим образом перенаправлять их.
Наиболее часто используемые порты 20 FTP — данные
21 FTP — управление
22 Протокол удаленного входа SSH
23 Telnet
25 Простой протокол передачи почты (SMTP)
110 POP3
81 017 115 Простой протокол передачи файлов Службы SQL
53 Система доменных имен (DNS)
443 HTTPS
143 IMAP
389 LDAP
37 Протокол времени
123 Протокол сетевого времени
530 Удаленный вызов процедуры
547 Сервер DHCPv6
Необходимое время: 5 минут.
Как сканировать открытые порты в Windows?
- Одновременно нажмите клавишу Windows и клавишу запуска, чтобы открыть командную строку.
- Введите cmd и нажмите Enter.
- В командной строке введите « netstat -a » и нажмите Enter.
- Через несколько секунд выводит полный список портов, через которые устанавливается соединение.
- Advanced Port Scanner
- TCP Port Scan with Nmap
- IPVOID
- Network Port Scanner Tool
- DNS Tools
- Web Proxy and Privacy Tool
- Solar winds Port Scanner
- IP Tool
- UltraTools
- Yougetsignal
Вывод с отображением портов включен
Этот сканер открытых портов является самым быстрым, легкодоступным и бесплатным везде.
Помогает обнаружить открытые порты на сетевых компьютерах и извлечь программы, работающие на обнаруженных портах.
Эти программы имеют адаптируемый интерфейс и полезную функциональность.
Ключевые функции- Сканирование быстрого порта
- Удаленный доступ
- Получение информации на сетевых устройствах
- Wake-On-Lan
- Easy Access
- Tran Teanms на Remote Computer
. помогает определить, какой порт TCP открыт на вашей целевой машине, а также предоставляет информацию об ОС, служебной информации, а также traceroute.
Инструмент сканера портов Nmap представляет собой веб-интерфейс для широко известного сканера портов Nmap, который реализован с правильными параметрами для обеспечения скорости и точности.
Сканер портов Zenmap/Nmap
Процесс сканирования отправляет пакеты на каждый порт и ожидает подтверждения.
Это называется «сканированием SYN», при котором пакеты TCP SYN отправляются на каждый порт. Если порт отвечает SYN-ACK, он помечается как открытый, и сканер портов Nmap отправляет обратно RST.
Таким образом, полное TCP-соединение с целевой машиной не устанавливается.
Основные характеристики
- Сканирование портов
- Пользовательские параметры сканирования
- Возможность обнаружения сетевых устройств
IPVOID помогает идентифицировать службы, работающие на сервере, и просматривать открытые порты TCP.
Также проверяет правильность работы брандмауэра. Существуют службы безопасности, которые блокируют IP-адреса, которые вам не принадлежат, поэтому старайтесь не проверять.
Сканер портов IPVOID
Онлайн-инструмент предлагает широкий спектр вариантов сканирования для получения подробной информации об IP-адресах.
Ключевые функции- BASE64 для изображения
- IPv4 CIDR Checker
- Dig DNS Lookup
- IP Geolocation
- Multi URL Oppener
. сервер.
Если мы хотим проверить, какая версия ОС работает, и открыты ли порты на сервере, и включен ли на сервере брандмауэр или нет, то, в этом случае, для проверки всей вышеуказанной информации, он использует необработанный IP пакеты.
Network Port Scanner Tool
Этот инструмент чрезвычайно полезен, чтобы узнать, правильно ли настроена переадресация портов или заблокированы ли ваши серверные приложения брандмауэром.
Основные характеристики- Сканирование портов
- Обнаружение брандмауэра
- Поиск IP-адресов
- Обнаружение открытых портов
Помогает определить, какая служба доступна за пределами интрасети. Машины используют маршрутизатор с NAT для подключения к Интернету, который не может быть получен за пределами интрасети.
Хотя при использовании переадресации портов порты могут отклоняться от маршрутизатора к конкретной машине.
MxToolBox
Этот сканер открытых портов онлайн позволяет проверить, правильно ли работает перенаправление.
Основные характеристики- Круговой мониторинг SMTP.
- Тестирование входящей и исходящей электронной почты и анализ заголовков.
- Показатели производительности и историческая статистика.
- Настраиваемые оповещения в реальном времени.
- Настраиваемые тайм-ауты.
Этот онлайн-инструмент для сканирования открытых портов также известен как «HideMy[.]name » . Если кто-то хочет скрыть свою личность и получить доступ ко всему и вся, используйте веб-прокси.
Этот инструмент скрывает и изменяет ваш IP-адрес и местоположение, и вы будете оставаться инкогнито при использовании браузера.
Proxy Tool
Является медианой для машины и необходимого веб-сайта. Вы также можете смотреть заблокированный контент и играть в онлайн-игры.
Вы можете работать в Интернете с максимальной скоростью и соединением. Он обеспечивает защиту, конфиденциальность и свободу на любом устройстве во время просмотра.
Основные характеристики- Служба VPN
- Скрыть сетевую активность
- Защита паролей
- Неограниченный доступ в Интернет
Сканирует все сети на наличие уязвимостей, а также TCP и UDP-порты.
Вы также можете запускать сканирование из командной строки, сохранять конфигурации сканирования и минимизировать сканирование во время выполнения с помощью многопоточности. Отслеживайте активность подключения конечного пользователя и терминального компьютера.
Сканер портов Solar Winds
Распознает неизвестные уязвимости и сетевые протоколы.
Ключевые функции- Автоматизированные сети Discovery
- Мониторинг в реальном времени и оповещение
- Мощные диагностические возможности
- Улучшенная сеть безопасности
IP-инструмент известен как «Watismyip [.] Comm‘
.
Этот инструмент сканирует сеть на наличие открытых портов и решает, нужно ли закрывать эти открытые порты, чтобы обеспечить безопасность сети и уменьшить уязвимость.
Ip Tool
Этот инструмент сканирования открытых портов показывает, какие порты открыты для связи в сети. Если в случае, порт открыт, это для удаленной связи.
Основные характеристики- Сканер IP-адресов
- Отслеживание IP-адресов
- Infoblox Мониторинг DNS и DHCP
- Обнаружение IP-адресов
С помощью инструментов Ultra DNS или DNS можно проверить производительность указанного домена и DNS имя хоста.
Средство обхода DNS предоставляет дополнительную информацию о том, распространились ли DNS-серверы на все серверы имен.
Ultratools
Это авторитетная облачная служба DNS, которая безопасно предоставляет быстрые и точные ответы на запросы к веб-сайтам и другим жизненно важным ресурсам в Интернете.
Основные характеристики- SiteBacker — мониторинг и аварийное переключение
- Контроллер трафика
- Направленный DNS
- DNS Shield
Yougetsignal — это инструмент для проверки открытых портов, который позволяет проверять любой внешний IP-адрес на наличие открытых портов.
Это полезный инструмент для проверки ограничений, установленных в брандмауэре. С помощью этого инструмента вы можете проверить наличие всех портов TCP и UDP.
Yougetsignal Проверка открытых портов
С помощью перечисленных выше инструментов сканирования портов вы можете определить открытые порты в сетевой инфраструктуре.
Из соображений безопасности всегда рекомендуется закрывать порты, если они не используются.
Ключевые функции- Тестер переадресации портов
- Каков мой IP -адрес
- Инструмент местоположения сети
- Visual Trace Route Tool
Список. открытые порты на сервере и для других DNS-запросов.
Мы классифицировали некоторые из лучших инструментов для сканирования портов и проверки портов, чтобы помочь найти открытые порты и другие операции, связанные с портами, при выполнении теста на проникновение в сеть.
Какова угроза безопасности из-за открытых портов?
Большая часть подозрительного программного обеспечения ведет себя как служба, ожидающая подключения от удаленного злоумышленника, чтобы передать ему данные или права доступа к машине.
Наиболее распространенная практика обеспечения безопасности – закрытие неиспользуемых портов на частных компьютерах, чтобы заблокировать известный доступ к любой службе, которая может продолжать работать на ПК без информации клиента, независимо от неправильной настройки авторизованной службы или из-за подозрительного программного обеспечения.
Является ли сканирование портов незаконным?
Сканирование портов само по себе не является незаконным, но сканирование хоста назначения без авторизации является незаконным, и у вас могут возникнуть проблемы. Сканеры TCP-портов
помогают администраторам серверов и специалистам по тестированию на проникновение проверять, через какие порты данные поступают в сеть, и защищать ее от злоумышленников.
Сканер портов в PowerShell (TCP/UDP)
Представляем еще одно дополнение к нашему портфолио минималистичных инструментов для пентестинга. На этот раз мы рассмотрим минималистичный сканер портов TCP и UDP.
Написанный на чистом PowerShell, этот небольшой, но мощный сканер портов полезен в симуляциях конкретных атак, когда мы не можем использовать какие-либо традиционные или типичные сканеры портов.
Содержание
показать
- Введение
- Зачем писать сканер портов с нуля?
- Сканер портов TCP и UDP в PowerShell
- Список функций
- Типовой сценарий использования
- Сканирование портов одного хоста
- Сканирование портов сетевого диапазона
- Список хостов в файле.
- Получение результатов.
- Требования и ограничения. Некоторые из самых популярных включают Nmap, Masscan, Angry IP Scanner, ZMap и множество других.
Все они великолепны, хорошо протестированы и функциональны, но они также большие, сложные и, что наиболее важно, отмечены всеми приличными антивирусами или EDR-решениями. И это может стать препятствием в некоторых сценариях тестирования на проникновение.
В некоторых ситуациях нам просто нужно что-то маленькое и минималистичное, что-то, что мы могли бы быстро написать с нуля, если бы это было необходимо.
Зачем писать сканер портов с нуля?
Написание инструментов с нуля может быть необходимо, например, когда мы проводим тестирование на проникновение в среде со строгими ограничениями, где мы не можем использовать какие-либо обычные инструменты для тестирования на проникновение.
Это было бы жизненно важно при тестировании изолированной среды VDI/Citrix, куда мы не можем ничего загружать, или когда мы выполняем симуляцию недовольного сотрудника с рабочей станции со всеми установленными средствами безопасности.
Во всех этих случаях нам потребуется создать собственные инструменты, чтобы мы могли выполнять основные операции, такие как сканирование портов.
Без возможности сканирования портов мы вряд ли смогли бы добиться какого-либо прогресса, обнаружить системы в сети или выполнить какое-либо горизонтальное движение, если уж на то пошло.
Сканер портов просто необходим, и если мы не можем его использовать, мы должны его сделать.
Сканер портов TCP и UDP в PowerShell
Для таких случаев я разработал следующий быстрый и простой, но мощный и надежный сканер портов.
Чтобы уменьшить размер, я разделил сканер на два отдельных независимых модуля:
- Сканер портов TCP: port-scan-tcp.ps1
- Сканер портов UDP: port-scan-udp.ps1
Итак это действительно два сканера портов, а не один. Оба сканера можно найти в следующем репозитории GitHub:
- https://github.com/InfosecMatter/Minimalistic-offensive-security-tools
Список функций
Оба сканера портов имеют следующие функции:
- Обнаружение открытых, закрытых и фильтрованных портов (как TCP, так и UDP)
- Возможность сканирования одного хоста, сетевого диапазона или списка хостов в файле
- Настраиваемые значения времени ожидания для эффективного и надежного сканирования портов
- Нет -malicious – не обнаруживается ни одним антивирусом или решением EDR
С точки зрения дизайна:
- Небольшой и минималистичный – можно набирать вручную (на клавиатуре)
- Написано в чистом PowerShell – дополнительные модули не нужны
- Практичный и продуманный дизайн:
- Возобновление поддержки, если она была прервана
- Пропустить уже просканированные хосты/порты
Давайте посмотрим, как использовать эти сканеры.
Типичный сценарий использования
Поскольку сканеры портов написаны на PowerShell, мы должны иметь возможность запускать команды PowerShell в используемой нами системе. На рабочей станции с ограниченным доступом это может быть проблемой, поэтому…
(1) Первым шагом обычно является обход ограничений и запуск оболочки. Как только мы сможем комфортно запускать команды PowerShell, мы можем перейти к следующему шагу.
(2) Теперь мы можем прописать сканеры портов где-нибудь в файловой системе. Например, мы могли бы разместить их на нашем рабочем столе, но из-за различных ограничений нам, возможно, придется разместить их в другом месте, где мы можем написать, например:
- C:\Users\Public
- C:\Windows\Tasks
- C:\Windows\Tracing
- C:\Windows\System32\Spool\Drivers\Color
- и т.д.
И все!
Теперь мы можем начать сканирование портов. Вот краткое введение в то, как их использовать.
Сканер портов TCP:
Import-Module .\port-scan-tcp.ps1 # Использование: port-scan-tcp
Сканер портов UDP:
Import-Module .\port-scan-udp.ps1 # Использование: port-scan-udp
Давайте посмотрим на несколько примеров того, как их использовать на практике.
Сканирование портов одного хоста
Вот самый простой пример — проверить, открыт ли на удаленном хосте порт tcp/445:
port-scan-tcp 192.168.204.183 445
Вот пример сканирования портов одного хоста для выбранных TCP-портов:
port-scan-tcp 192.168.204.183 (21,22,23,25,80,443,445,3389)
Сканирование портов сетевого диапазона
‘sЗдесь пример сканирования портов сетевого диапазона 192.168.204.0/24 на наличие порта tcp/445 (развертка портов):
0..255 | foreach { port-scan-tcp 192.168.204.$_ 445 }
Вот пример сканирования сетевого диапазона 192.168.204.0/24 для выбранных TCP-портов:
0. .255 | foreach {порт-сканирование-TCP 192.168.204.$_ (22,80,445) }
Список хостов в файле
Мы также можем предоставить список целей в качестве входного файла.
Например, в корпоративных сетях с развертыванием Active Directory (AD) мы можем извлечь список компьютеров из AD с помощью команд PowerShell следующим образом:
$a = [adsisearcher]”(objectCategory=computer)” $a.PropertiesToLoad.add("dnshostname") | нулевой $a.PageSize = 1 $a.НайтиВсе() | % { эхо $_.properties.dnshostname } > computer.txt
Теперь мы можем идентифицировать все активные Windows-системы путем сканирования портов tcp/445:
port-scan-tcp (gc .\computers.txt) 445
Получение результатов
Оба сканера отслеживают все, используя состояние файл (scanresults.txt), который создается в текущем рабочем каталоге. Это позволяет нам проверять результаты в любое время, даже во время текущего сканирования.
Например, вот как мы можем получить список систем с открытым портом tcp/445:
Get-Content . \scanresults.txt | Select-String "tcp, 445, Open"
Если бы мы хотели отобразить только первый столбец, мы могли бы легко сделать это с помощью PowerShell следующим образом:
(Get-Content .\scanresults.txt | Select-String "tcp,445,Open") -replace ",. *",""
Теперь мы можем передать этот список, например, в наш брутфорсер для входа в SMB и попытаться скомпрометировать некоторые из этих компьютеров Windows. Или мы могли бы использовать какую-то другую автоматизацию, что угодно.
Требования и ограничения
Совместимость . Сканер TCP поставляется в двух версиях с разницей в использовании метода TcpClient.ConnectAsync(). Этот метод, доступный в .NET 4.5, дает сканеру возможность различать «закрытые» и «фильтрованные» порты. Совместимая версия сканера (для более старых систем) не может распознать это и просто сообщает об обоих таких случаях как «Закрыто».
Скорость . Оба сканера портов (TCP и UDP) представляют собой только однопоточные циклы без какого-либо распараллеливания.