Использование Nmap: обход защиты, скрытые сервисы и сравнение с альтернативами

BOOX

Стаж на ФС с 2012 года
Команда форума
Служба безопасности
Private Club
Регистрация
23/1/18
Сообщения
31.994
Репутация
12.420
Реакции
63.904
RUB
150
Nmap (Network Mapper) — один из самых популярных инструментов для сетевого сканирования и аудита безопасности.

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

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

t1vu7ojkvfef6oc96pp28o2jn1cpbx8b.png


Основы и возможности Nmap

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

Основные возможности Nmap включают:
  1. Сканирование портов. Nmap может быстро и точно определить, какие порты на целевых машинах открыты, что позволяет оценить доступность сервисов.
  2. Обнаружение сервисов. Инструмент способен не только находить открытые порты, но и выявлять, какие сервисы на них работают, а также их версии.
  3. Фингерпринтинг. Позволяет точно определить тип и версию программы, которая работает на порту, что помогает в оценке безопасности и уязвимостей.
  4. Сканирование сетей. Nmap может анализировать целые диапазоны IP-адресов, что удобно для сканирования больших корпоративных сетей.
  5. Обход защиты. Имеет встроенные методы обхода фаерволов и систем IDS/IPS, что делает его полезным для проведения скрытных тестов.
Одной из сильных сторон Nmap является поддержка множества типов сканирования, что позволяет выбирать оптимальный метод в зависимости от целей и ограничений безопасности. Например, при TCP-сканировании используется SYN-пакет, чтобы проверить, открыт ли порт, без установления полного соединения. Это повышает скорость и скрытность процесса. В случае с UDP-сканированием отправляются запросы на определенные порты, а затем анализируются ответы, что помогает выявлять открытые порты для сервисов, использующих этот протокол.

Также существуют различные методы stealth-сканирования, которые позволяют обходить защиту фаерволов и систем IDS/IPS. Использование флагов FIN, Xmas или Null помогает скрыть сам факт сканирования, что затрудняет его обнаружение.

Для более точного анализа можно применить TCP connect-сканирование, которое полностью устанавливает соединение с целевым портом. Этот метод более заметен для систем безопасности, но позволяет точнее определить открытые порты. В случае сложных сценариев доступны такие методы, как SYN-ACK-сканирование, которые помогают повысить точность обнаружения скрытых сервисов, обходя специфические механизмы защиты.

Nmap является неотъемлемым инструментом для тестирования безопасности, поскольку он предоставляет детальную информацию о сети, которая может быть использована для выявления уязвимостей.

Среди его ключевых применений можно выделить:
  1. Аудит безопасности. Проверка открытых портов, служб и приложений позволяет определить потенциальные слабые места, которые могут быть использованы злоумышленниками.
  2. Оценка соответствия политикам безопасности. Nmap помогает убедиться, что сетевые устройства и сервисы соответствуют установленным стандартам безопасности.
  3. Тестирование на проникновение. Для проведения атак с целью выявления уязвимостей в инфраструктуре. Nmap помогает организовать сканирование, которое максимально точно имитирует действия реального хакера.
  4. Мониторинг изменений в сети. Сканирование сети помогает отслеживать изменения, такие как открытие новых портов или запуск новых сервисов, что может сигнализировать о попытке проникновения или неправильной настройке безопасности.
В целом, использование Nmap на разных этапах тестирования безопасности позволяет строить более надежные системы защиты и минимизировать риски возникновения уязвимостей.

Преимущества и недостатки Nmap по сравнению с альтернативами

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

Преимущества
Недостатки
Широкие возможности сканирования. Nmap поддерживает множество типов сканирования, включая TCP, UDP, stealth, и другие, что делает его универсальным для самых различных сценариев.Медленное сканирование. Особенно в крупных сетях или при использовании более сложных типов сканирования, процесс может занять значительное время.
Высокая гибкость. Пользователи могут настроить параметры сканирования под конкретные задачи, используя различные флаги и параметры.Высокий уровень обнаружения. Из-за открытого характера сканирования и работы с пакетами может быть легко зафиксирован системами защиты, такими как IDS/IPS, если не использовать stealth-методы.
Точность и подробности. В процессе сканирования можно получить не только информацию об открытых портах, но и данные о версиях сервисов, операционных системах и прочее, что помогает детально оценить безопасность сети.Потребность в настройке. Для достижения оптимальной работы с Nmap требуется опыт и знания, особенно когда речь идет о более сложных типах сканирования.
Бесплатность и open-source. Nmap является бесплатным инструментом с открытым исходным кодом, что делает его доступным и модифицируемым для разных нужд.

Masscan, в отличие от Nmap, предназначен для очень быстрого сканирования портов, обрабатывая миллионы адресов за секунды. Этот инструмент идеально подходит для быстрого сканирования больших диапазонов IP-адресов. Однако Masscan ограничен в функционале по сравнению с Nmap, не поддерживает детальное обнаружение версий сервисов и операционных систем.

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

  • Masscan, в отличие от Nmap, предназначен для очень широкого сканирования, что может быть полезно для получения актуальных данных об использовании конкретного сервиса/уязвимости без привязки к конкретной цели. Например, для нахождения целей с непропатченным 0-day.
  • Проприетарные решения для обнаружения UDP за счет большей базы.
  • Если Nmap используется для периодического сканирования собственного периметра, то может быть целесообразным использование сервисов по attack surface management, т. к. они могут следить и за другими точками атаки — новыми доменами, vhosts, сертификатами и т. д. (список разнится между вендорами). Хотя именно в плане обнаружения сервисов TCP/UDP они вряд ли чем-то сильно отличаются от Nmap, кроме красоты отчетов.
Из более экзотических транспортных протоколов Nmap поддерживает только SCTP (-sY), плюс перечисление поддерживаемых протоколов (-sO). Для среднестатистических сетей этого более чем достаточно, но все опять же зависит от конкретного сценария, если требуется сканирование таких протоколов — скорее всего, нужен будет специализированный сканер.

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

Для повышения скорости сканирования можно рассмотреть такой инструмент, как Zmap. Он позиционируется, как более быстрая альтернатива Nmap благодаря измененному подходу к обработке ответов на отправленные SYN-пакеты. Zmap, не дожидаясь отклика от каждого узла, параллельно выполняет сканирование сети, что позволяет избежать ожидания соединения. Можно сказать, что Zmap представляет собой асинхронную реализацию Nmap. Стоит отметить, что у самого Zmap есть недостатки с «качеством работы», но это отдельная тема для обсуждения.

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

Nmap — это один из самых популярных и мощных инструментов для сетевого сканирования. Он имеет ряд преимуществ и недостатков по сравнению с другими инструментами. Среди преимуществ Nmap можно выделить гибкость, включая интеграцию скриптов, активное сообщество и кроссплатформенность. Также Nmap выгодно отличается высокой скоростью сканирования. Но не удалось обойтись без недостатков: для глубокого сканирования требуются серьезные компетенции, а шум от процесса сканирования легко обнаруживается хорошо настроенной IPS/IDS системой.

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

Когда использовать каждый инструмент:

  1. Nmap — когда нужно выполнить детальный анализ сети, сервисов, операционных систем и уязвимостей.
  2. Masscan — для очень быстрого сканирования портов по большому числу IP-адресов.
  3. ZMap — для массового сканирования сетевых диапазонов, фокусируется на IP-адресах и низком уровне.
  4. RustScan — для очень быстрого сканирования с дальнейшим анализом с использованием Nmap.
  5. Naabu — для быстрого и эффективного сканирования открытых портов.
  6. Netcat — для взаимодействия с сетевыми соединениями, получения данных или отправки информации по TCP/UDP, а также для тестирования соединений.

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

Методы обхода фаерволов и IDS/IPS систем с помощью Nmap

Обход фаерволов и систем обнаружения вторжений (IDS/IPS) является важной частью тестирования безопасности, особенно когда цель — провести скрытое сканирование сети. Nmap предоставляет несколько методов обхода, позволяющих уменьшить вероятность обнаружения при сканировании:
  1. SYN-сканирование. Этот метод, также известный как half-open scan, является одним из самых популярных способов обхода IDS/IPS. Nmap отправляет только SYN-пакет, не устанавливая полное соединение. Если порт открыт, целевая система отвечает пакетом SYN+ACK, но Nmap сразу сбрасывает соединение, отправив пакет RST, что делает сканирование менее заметным для системы защиты.
  2. Использование случайных портов. Сканирование случайных портов помогает скрыть сканирование от фаерволов и IDS/IPS, поскольку вероятность предсказания следующего порта снижается, и системы защиты не могут легко отслеживать последовательность пакетов.
  3. Методы FIN, Xmas и Null-сканирования. Эти методы используются для того, чтобы послать необычные пакеты, которые фаерволы и IDS/IPS могут интерпретировать как несанкционированную активность. FIN-сканирование посылает пакет с флагом FIN, который обычно используется для завершения соединения. Xmas-сканирование использует комбинацию флагов FIN, PSH и URG, а Null-сканирование не устанавливает никаких флагов.
Использование различных методов обхода защиты, таких как SYN-сканирование, использование случайных портов и нестандартные методы сканирования (FIN, Xmas, Null), позволяет значительно уменьшить вероятность обнаружения системы защиты. Эти методы помогают скрыть реальную цель сканирования, снижая заметность для IDS/IPS и фаерволов. В зависимости от ситуации, каждый из этих методов может быть эффективным для обхода защиты, но требует осторожности, так как с развитием систем защиты они могут стать менее эффективными.

Nmap имеет несколько техник, позволяющих обходить фаерфолы и IPS/IDS. К примеру, фрагментацию пакетов с помощью опции -f, decoy scan (опция -D), при котором трафик исходит не только от настоящего IP-адреса, но и от «подставных» (или же «декоев»). Также инструмент имеет функцию регулировки скорости отправки пакетов (от -T0 до -T5). Этот метод позволяет обойти механизмы защиты, ключевым параметром которых является количество полученных пакетов за определенный промежуток времени.

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

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

Хотя скрытные методы обхода могут помочь избежать обнаружения, важно учитывать несколько рисков и ограничений. Даже при использовании таких техник могут возникнуть ложные срабатывания: нестандартные флаги или поведение, связанное с необычным сканированием, могут быть замечены IDS/IPS и вызвать тревогу.

Team Lead DevOps SkyDNS

  1. Избегайте агрессивных режимов. Не используйте -A (детекция ОС, версий сервисов) без необходимости — это увеличивает шум.
  2. Сканируйте через «белый» IP. Если фаервол доверяет определенным адресам, например, внутренней сети, используйте их как источник.
  3. Комбинируйте методы. Пример команды с фрагментацией, замедлением и decoy: nmap -f -T2 -D RND:10 <target>
  4. Проверка на детектирование. Перед реальным сканированием протестируйте команды на тестовой сети с включенным IDS. Например, Suricata, Snort.

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

Фаерволы и IDS/IPS системы также регулярно обновляются для более точного выявления скрытых сканирований, что означает, что методы, которые раньше были эффективными, могут стать бесполезными после обновлений.

Nmap предлагает множество методов и настроек, которые позволяют минимизировать обнаружение сканирования системами защиты:

  1. Фрагментация пакетов. Метод разбивает TCP-заголовки на несколько мелких фрагментов, чтобы затруднить анализ пакетов IDS/IPS.
  2. Сканирование с фиктивными хостами. Техника маскирует реальный источник сканирования, добавляя в трафик ложные IP-адреса.
  3. Настройки тайминга и задержек.
  4. Скрытые типы сканирования. SYN-, ACK-, FIN-, Xmas-, NULL-сканирования.
  5. Комбинация методов.
  6. Использование случайных данных.

Таким образом, при использовании Nmap для обхода защиты важно соблюдать баланс между скрытностью и эффективностью.

Обнаружение скрытых и замаскированных сервисов с помощью Nmap

Когда сервисы скрыты или замаскированы, стандартное сканирование портов может не дать точных результатов, так как фаерволы или системы защиты могут фильтровать трафик. Для эффективного обнаружения скрытых сервисов Nmap предлагает несколько методов, среди которых особое внимание заслуживают service fingerprinting и version detection.

Service fingerprinting — это техника, при которой Nmap отправляет специфические запросы на порты и анализирует ответы, чтобы создать уникальные «отпечатки» сервисов. Эти отпечатки могут быть использованы для идентификации сервисов, даже если они настроены на нестандартные порты или пытаются скрыться за системами защиты. В процессе сканирования Nmap может обнаружить особенности поведения сервиса, такие как специфические ответы на запросы, которые позволяют точно определить, какой сервис работает на скрытом порту.

Для проверки состояния порта, который может быть в трех состояниях: открыт, закрыт, фильтруется, — NMAP пробует установить соединение с проверяемым портом, исходя из настроек сканирования.

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

Лучшая проверка корректности определения сервиса ― попытка подключения к нему с помощью соответствующих клиентов, например, MySQL, MSSQL и т. п., или с помощью утилиты telnet.

Техника version detection позволяет Nmap не только обнаруживать открытые порты, но и получать информацию о версиях сервисов, работающих на этих портах. Это помогает выявить даже замаскированные сервисы, которые могут использовать нестандартные настройки или порты. Nmap анализирует ответы от сервисов и, основываясь на полученных данных, точно определяет их версию и тип, что позволяет раскрыть сервисы, даже если они пытаются скрыть свою идентичность.

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

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

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

Заключение

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

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


 
  • Теги
    nmap
  • Назад
    Сверху Снизу