
Nmap (Network Mapper) — один из самых популярных инструментов для сетевого сканирования и аудита безопасности. Его способность выявлять открытые порты, определять службы и проводить различные техники обхода защитных механизмов делает его неотъемлемой частью арсенала специалистов по безопасности. Однако, несмотря на свою универсальность, Nmap не всегда является единственным и лучшим выбором для каждой задачи. В статье рассмотрим, как Nmap справляется с обходом фаерволов и находит скрытые сервисы, а также разберем, в каких случаях стоит использовать Nmap, а когда лучше обратиться к другим решениям.
Nmap поддерживает широкий спектр функций, которые делают его полезным для различных задач: от простого сканирования сети до более сложных операций, таких как обход фаерволов и обнаружение скрытых сервисов. Основная задача инструмента — помочь исследователям и специалистам по безопасности оценить уязвимости и построить защиту на основе точных данных о сетевой инфраструктуре. Основные возможности Nmap включают:
Одной из сильных сторон Nmap является поддержка множества типов сканирования, что позволяет выбирать оптимальный метод в зависимости от целей и ограничений безопасности. Например, при TCP-сканировании используется SYN-пакет, чтобы проверить, открыт ли порт, без установления полного соединения. Это повышает скорость и скрытность процесса. В случае с UDP-сканированием отправляются запросы на определенные порты, а затем анализируются ответы, что помогает выявлять открытые порты для сервисов, использующих этот протокол.
Также существуют различные методы stealth-сканирования, которые позволяют обходить защиту фаерволов и систем IDS/IPS. Использование флагов FIN, Xmas или Null помогает скрыть сам факт сканирования, что затрудняет его обнаружение.
Для более точного анализа можно применить TCP connect-сканирование, которое полностью устанавливает соединение с целевым портом. Этот метод более заметен для систем безопасности, но позволяет точнее определить открытые порты. В случае сложных сценариев доступны такие методы, как SYN-ACK-сканирование, которые помогают повысить точность обнаружения скрытых сервисов, обходя специфические механизмы защиты.
Nmap является неотъемлемым инструментом для тестирования безопасности, поскольку он предоставляет детальную информацию о сети, которая может быть использована для выявления уязвимостей. Среди его ключевых применений можно выделить:
В целом, использование Nmap на разных этапах тестирования безопасности позволяет строить более надежные системы защиты и минимизировать риски возникновения уязвимостей.
Nmap — это универсальный инструмент, который удовлетворяет потребности большинства специалистов по безопасности в сетевом сканировании. Однако, как и любой другой инструмент, он имеет свои сильные и слабые стороны, и в некоторых случаях использование альтернатив может быть более целесообразным.
Преимущества |
Недостатки |
Широкие возможности сканирования. Nmap поддерживает множество типов сканирования, включая TCP, UDP, stealth, и другие, что делает его универсальным для самых различных сценариев. |
Медленное сканирование. Особенно в крупных сетях или при использовании более сложных типов сканирования, процесс может занять значительное время. |
Высокая гибкость. Пользователи могут настроить параметры сканирования под конкретные задачи, используя различные флаги и параметры. |
Высокий уровень обнаружения. Из-за открытого характера сканирования и работы с пакетами может быть легко зафиксирован системами защиты, такими как IDS/IPS, если не использовать stealth-методы. |
Точность и подробности. В процессе сканирования можно получить не только информацию об открытых портах, но и данные о версиях сервисов, операционных системах и прочее, что помогает детально оценить безопасность сети. |
Потребность в настройке. Для достижения оптимальной работы с Nmap требуется опыт и знания, особенно когда речь идет о более сложных типах сканирования. |
Бесплатность и open-source. Nmap является бесплатным инструментом с открытым исходным кодом, что делает его доступным и модифицируемым для разных нужд. |
|
Masscan, в отличие от Nmap, предназначен для очень быстрого сканирования портов, обрабатывая миллионы адресов за секунды. Этот инструмент идеально подходит для быстрого сканирования больших диапазонов IP-адресов. Однако Masscan ограничен в функционале по сравнению с Nmap, не поддерживает детальное обнаружение версий сервисов и операционных систем.
Алексей Морозков
Руководитель группы Центра управления кибербезопасностью ICL Services
На наш взгляд, Nmap полностью подходит для большинства задач по сканированию для обнаружения сетевых сервисов узла в сети. Если же говорить, про обнаружение дополнительных свойств этих сервисов, то можно уже рассмотреть работу со специализированными сканерами. Ситуации, где могут помочь альтернативные решения:
Из более экзотических транспортных протоколов Nmap поддерживает только SCTP (-sY), плюс перечисление поддерживаемых протоколов (-sO). Для среднестатистических сетей этого более чем достаточно, но все опять же зависит от конкретного сценария, если требуется сканирование таких протоколов — скорее всего, нужен будет специализированный сканер.
- Masscan, в отличие от Nmap, предназначен для очень широкого сканирования, что может быть полезно для получения актуальных данных об использовании конкретного сервиса/уязвимости без привязки к конкретной цели. Например, для нахождения целей с непропатченным 0-day.
- Проприетарные решения для обнаружения UDP за счет большей базы.
- Если Nmap используется для периодического сканирования собственного периметра, то может быть целесообразным использование сервисов по attack surface management, т. к. они могут следить и за другими точками атаки — новыми доменами, vhosts, сертификатами и т. д. (список разнится между вендорами). Хотя именно в плане обнаружения сервисов TCP/UDP они вряд ли чем-то сильно отличаются от Nmap, кроме красоты отчетов.
OpenVAS представляет собой полноценную систему управления уязвимостями, которая включает возможности для сканирования сети и поиска уязвимостей в сервисах. Он предоставляет более подробную информацию о безопасности и включает рекомендации по устранению найденных уязвимостей. Однако OpenVAS требует более сложной настройки и может быть медленным, что делает его менее подходящим для быстрого сканирования в реальном времени.
Антон Лебезов
Ведущий специалист по безопасной разработке NGR Softlab
Для повышения скорости сканирования можно рассмотреть такой инструмент, как Zmap. Он позиционируется, как более быстрая альтернатива Nmap благодаря измененному подходу к обработке ответов на отправленные SYN-пакеты. Zmap, не дожидаясь отклика от каждого узла, параллельно выполняет сканирование сети, что позволяет избежать ожидания соединения. Можно сказать, что Zmap представляет собой асинхронную реализацию Nmap. Стоит отметить, что у самого Zmap есть недостатки с «качеством работы», но это отдельная тема для обсуждения.
Nessus — это коммерческий инструмент для тестирования на проникновение и сканирования уязвимостей. Nessus предоставляет подробный анализ уязвимостей в системах и приложениях, а также поддерживает широкий спектр сервисов. Однако этот инструмент требует платной подписки, и его возможности в плане сетевого сканирования в реальном времени ограничены. Он также может быть менее гибким в настройке параметров сканирования по сравнению с Nmap.
Денис Бандалетов
Руководитель отдела сетевых технологий, Angara Security
Nmap — это один из самых популярных и мощных инструментов для сетевого сканирования. Он имеет ряд преимуществ и недостатков по сравнению с другими инструментами. Среди преимуществ Nmap можно выделить гибкость, включая интеграцию скриптов, активное сообщество и кроссплатформенность. Также Nmap выгодно отличается высокой скоростью сканирования. Но не удалось обойтись без недостатков: для глубокого сканирования требуются серьезные компетенции, а шум от процесса сканирования легко обнаруживается хорошо настроенной IPS/IDS системой.
Выбор инструмента для сканирования зависит от конкретных целей и задач проекта. Masscan идеально подходит для быстрого сканирования больших диапазонов IP-адресов, что делает его полезным для масштабных проверок. Однако он ограничен в функционале и не предоставляет подробной информации о сервисах и их версиях. В случае, когда нужна более детальная информация, лучшим выбором будет Nmap, который сочетает в себе гибкость, точность и бесплатность. Он позволяет получить развернутую информацию о сервисах, версиях и возможных уязвимостях, что делает его универсальным инструментом для большинства задач.
Максим Ильин
Руководитель по развитию платформы управления уязвимостями SolidLab VMS
Когда использовать каждый инструмент:
- Nmap — когда нужно выполнить детальный анализ сети, сервисов, операционных систем и уязвимостей.
- Masscan — для очень быстрого сканирования портов по большому числу IP-адресов.
- ZMap — для массового сканирования сетевых диапазонов, фокусируется на IP-адресах и низком уровне.
- RustScan — для очень быстрого сканирования с дальнейшим анализом с использованием Nmap.
- Naabu — для быстрого и эффективного сканирования открытых портов.
- Netcat — для взаимодействия с сетевыми соединениями, получения данных или отправки информации по TCP/UDP, а также для тестирования соединений.
Если проект требует более глубокого анализа уязвимостей и безопасности, стоит рассмотреть OpenVAS или Nessus. Эти инструменты предоставляют расширенные функции для детальной оценки угроз и уязвимостей в системе. Однако они могут работать медленнее и требовать больше ресурсов, что нужно учитывать при планировании сканирования. Важно найти баланс между скоростью, глубиной анализа и доступными ресурсами, чтобы выбрать инструмент, который лучше всего соответствует требованиям проекта.
Обход фаерволов и систем обнаружения вторжений (IDS/IPS) является важной частью тестирования безопасности, особенно когда цель — провести скрытое сканирование сети. Nmap предоставляет несколько методов обхода, позволяющих уменьшить вероятность обнаружения при сканировании:
Использование различных методов обхода защиты, таких как SYN-сканирование, использование случайных портов и нестандартные методы сканирования (FIN, Xmas, Null), позволяет значительно уменьшить вероятность обнаружения системы защиты. Эти методы помогают скрыть реальную цель сканирования, снижая заметность для IDS/IPS и фаерволов. В зависимости от ситуации, каждый из этих методов может быть эффективным для обхода защиты, но требует осторожности, так как с развитием систем защиты они могут стать менее эффективными.
Никита Титаренко
Инженер-аналитик Лаборатории исследований кибербезопасности «Газинформсервиса»
Nmap имеет несколько техник, позволяющих обходить фаерфолы и IPS/IDS. К примеру, фрагментацию пакетов с помощью опции -f, decoy scan (опция -D), при котором трафик исходит не только от настоящего IP-адреса, но и от «подставных» (или же «декоев»). Также инструмент имеет функцию регулировки скорости отправки пакетов (от -T0 до -T5). Этот метод позволяет обойти механизмы защиты, ключевым параметром которых является количество полученных пакетов за определенный промежуток времени.
Помимо всех указанных методов, Nmap также поддерживает использование нестандартных заголовков, подмену контрольных сумм пакетов и задержки между отправленными пакетами.
Комбинируя между собой эти методы, можно легко обойти средства защиты, но, опять же, существенно потерять в скорости, если это важно.
Хотя скрытные методы обхода могут помочь избежать обнаружения, важно учитывать несколько рисков и ограничений. Даже при использовании таких техник могут возникнуть ложные срабатывания: нестандартные флаги или поведение, связанное с необычным сканированием, могут быть замечены IDS/IPS и вызвать тревогу.
Никита Машутин
Team Lead DevOps SkyDNS
- Избегайте агрессивных режимов. Не используйте -A (детекция ОС, версий сервисов) без необходимости — это увеличивает шум.
- Сканируйте через «белый» IP. Если фаервол доверяет определенным адресам, например, внутренней сети, используйте их как источник.
- Комбинируйте методы. Пример команды с фрагментацией, замедлением и decoy: nmap -f -T2 -D RND:10 <target>
- Проверка на детектирование. Перед реальным сканированием протестируйте команды на тестовой сети с включенным IDS. Например, Suricata, Snort.
Несмотря на то что сканирование может не быть зафиксировано системой защиты, оно может быть обнаружено администраторами через аномалии в трафике. Поэтому такие действия важно согласовывать с соответствующими сторонами, чтобы избежать непреднамеренных последствий.
Фаерволы и IDS/IPS системы также регулярно обновляются для более точного выявления скрытых сканирований, что означает, что методы, которые раньше были эффективными, могут стать бесполезными после обновлений.
Максим Деев
Технический директор ARinteg
Nmap предлагает множество методов и настроек, которые позволяют минимизировать обнаружение сканирования системами защиты:
- Фрагментация пакетов. Метод разбивает TCP-заголовки на несколько мелких фрагментов, чтобы затруднить анализ пакетов IDS/IPS.
- Сканирование с фиктивными хостами. Техника маскирует реальный источник сканирования, добавляя в трафик ложные IP-адреса.
- Настройки тайминга и задержек.
- Скрытые типы сканирования. SYN-, ACK-, FIN-, Xmas-, NULL-сканирования.
- Комбинация методов.
- Использование случайных данных.
Таким образом, при использовании Nmap для обхода защиты важно соблюдать баланс между скрытностью и эффективностью.
Когда сервисы скрыты или замаскированы, стандартное сканирование портов может не дать точных результатов, так как фаерволы или системы защиты могут фильтровать трафик. Для эффективного обнаружения скрытых сервисов Nmap предлагает несколько методов, среди которых особое внимание заслуживают service fingerprinting и version detection.
Service fingerprinting — это техника, при которой Nmap отправляет специфические запросы на порты и анализирует ответы, чтобы создать уникальные «отпечатки» сервисов. Эти отпечатки могут быть использованы для идентификации сервисов, даже если они настроены на нестандартные порты или пытаются скрыться за системами защиты. В процессе сканирования Nmap может обнаружить особенности поведения сервиса, такие как специфические ответы на запросы, которые позволяют точно определить, какой сервис работает на скрытом порту.
Дмитрий Калинин
Руководитель департамента по работе с уязвимостями и инцидентами ИБ компании «Бастион»
Для проверки состояния порта, который может быть в трех состояниях: открыт, закрыт, фильтруется, — NMAP пробует установить соединение с проверяемым портом, исходя из настроек сканирования.
Как правило, подход FullOpen-Scan позволяет более точно определить статус порта и сервис, но снижает скорость и скрытность сканирования. Если сканеру удается идентифицировать по ответным сетевым пакетам, что порт открыт, он пробует определить, какой сервис запущен на этом порту. Одной из техник определения сервиса и его версии является BannerGrabing, когда сервис в приветственном сообщении клиенту раскрывает свое назначение и версию.
Лучшая проверка корректности определения сервиса ― попытка подключения к нему с помощью соответствующих клиентов, например, MySQL, MSSQL и т. п., или с помощью утилиты telnet.
Техника version detection позволяет Nmap не только обнаруживать открытые порты, но и получать информацию о версиях сервисов, работающих на этих портах. Это помогает выявить даже замаскированные сервисы, которые могут использовать нестандартные настройки или порты. Nmap анализирует ответы от сервисов и, основываясь на полученных данных, точно определяет их версию и тип, что позволяет раскрыть сервисы, даже если они пытаются скрыть свою идентичность.
Николай Калуцкий
Ведущий специалист НОЦ ФНС России и МГТУ им. Н. Э. Баумана
Один из основных подходов — это сканирование с использованием различных типов пакетов. Такой подход позволяет обойти некоторые системы защиты и фильтры, поскольку они могут не реагировать на все типы трафика. Также утилита способна анализировать ответы на пакеты, чтобы определить, какие порты могут быть открыты, даже если они не соответствуют стандартным признакам. На практике используются нестандартные методы, такие как манипуляция с временными интервалами между отправляемыми пакетами и применение фрагментации пакетов, чтобы обойти более агрессивные системы обнаружения вторжений и фильтры.
Комбинирование различных техник сканирования, использование скриптов и анализ нестандартных ответов позволяют значительно повысить точность обнаружения.
Использование этих техник в комплексе повышает эффективность сканирования и позволяет обнаружить не только стандартные открытые порты, но и скрытые сервисы, которые могут быть замаскированы с помощью фаерволов или других средств защиты.
Nmap идеально подходит для большинства задач сетевого сканирования. Он обеспечивает высокую гибкость и точность, позволяя детально анализировать открытые порты, версии сервисов и операционные системы. Nmap полезен как для стандартных сканирований, так и для более сложных задач, таких как обход защиты и сокрытие источника сканирования. Этот инструмент лучше всего подходит для пользователей, которым необходима настройка параметров сканирования и возможность детального анализа безопасности сети.
Нажимая на кнопку, я даю Согласие на обработку персональных данных в соответствии с Политикой обработки.
Зарегистрироваться