Обход межсетевых экранов и IDS/IPS при сканировании цели

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
6a4a49_25b46acdbf3e481594f42a4d95d692d2mv2-1.webp


Как внешний злоумышленник/пентестер, мы часто сталкиваемся с устройствами безопасности, которые могут помешать нашему беспрепятственному доступу к сети и её узлам с помощью наших инструментов сканирования. Как минимум, следует ожидать, что межсетевые экраны и системы обнаружения вторжений (IDS) попытаются заблокировать или предупредить о нашей активности сканирования. Хотя изначально это может не иметь катастрофических последствий, если нам удастся скомпрометировать сеть или систему, IDS может зарегистрировать наш IP-адрес, оставив след, по которому эксперт-криминалист сможет нас обнаружить.

В этом руководстве мы рассмотрим различные способы обхода обнаружения межсетевыми экранами и системами обнаружения вторжений (IDS) при сканировании с помощью nmap. Обратите внимание, что представленные здесь концепции не являются уникальными для nmap, но конкретные методы являются уникальными.

I. Подавление пинга

Сетевые инженеры и администраторы безопасности часто блокируют ICMP-пакеты (эхо-запросы и эхо-ответы) на межсетевых экранах или маршрутизаторах. Это делается для того, чтобы не дать внешним злоумышленникам найти активные узлы в их сети с помощью повсеместного пинга.

При запуске сканирования с помощью nmap сначала отправляется ICMP-запрос на порт 80, чтобы проверить, существует ли хост и работает ли он. Если ответа нет, Nmap не тратит ресурсы на отправку пакетов хосту, который предположительно не работает. В результате Nmap сообщает об отказе хоста, не предпринимая никаких дальнейших действий.

Самый простой способ обойти эту проблему — подавить пинг. Это можно сделать с помощью любого сканирования nmap, используя опцию -P0. Таким образом, чтобы просканировать наш любимый целевой сайт wonderhowto.com , не отправляя ICMP-запрос по умолчанию на порт 80, мы можем написать:

kali > nmap -sT -P0 wonderhowto.com

6a4a49_e4ef674c29914af88d2b2246f56da026mv2-1.webp


II. Обман брандмауэра, заставляющий его поверить, что пакет является частью установленного соединения

После трёхстороннего согласования TCP (SYN, SYN-ACK, ACK) каждый последующий пакет будет иметь установленный бит ACK. Если пакет появляется на линии связи межсетевого экрана с установленным флагом ACK, межсетевой экран разумно предполагает, что этот пакет является частью установленного соединения между клиентом и сервером, и, следовательно, пропускает его.

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

Кали > nmap -sA Wonderhowto.com

6a4a49_9f68dc8057754dfe957c35a1dfa61b31mv2-1.webp


III. Фрагментация

В 1998 году была опубликована статья под названием «Вставка, уклонение и отказ в обслуживании: уклонение от обнаружения сетевых вторжений» Птачека и Ньюшема. В этой статье авторы предложили несколько методов обхода систем обнаружения вторжений в сеть, включая фрагментацию. Вскоре после этого Даг Сунг из Мичиганского университета разработал инструмент fragroute, который доказал, что системы обнаружения вторжений в сеть уязвимы для атак фрагментации, то есть атак, которые разбиваются на множество частей. Затем эти части собираются заново в месте назначения, и вредоносная программа для атаки завершена. Поскольку системы обнаружения вторжений полагаются на сигнатуры — очень похожие на антивирусное программное обеспечение — эти части не будут соответствовать сигнатуре, которую ищет IDS. Это позволит этим частям пройти по сети, где они будут собраны заново на машине назначения и выполнить свою грязную работу.

Нечто подобное мы можем сделать с nmap, используя ключ -f.

kali > nmap -sT -f wonderhowto.com

6a4a49_39eeb8423f90484ab38a3151c5a4214cmv2-1.webp


nmap разобьёт IP-заголовок на множество мелких фрагментов, чтобы обойти систему обнаружения вторжений (IDS). Как вы можете себе представить, поскольку мы разбиваем пакет на множество более мелких фрагментов, сканирование может занять значительно больше времени. nmap также может разбивать пакеты на всё более мелкие фрагменты с помощью ключа -f.

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

IV. Приманки

Хотя nmap не является строго методом обхода блокировки, он позволяет нам отправлять ложные адреса на цель, чтобы попытаться скрыть источник сканирования. Другими словами, нам всё равно придётся отправлять пакеты со своего IP-адреса (иначе мы не получим ответного трафика, что сведёт на нет весь смысл сканирования), но мы можем подделывать другие IP-адреса во время сканирования, чтобы создавалось впечатление, что сканирование идёт не только с нашего, но и с других адресов. Это может затруднить автоматическую блокировку нашего IP-адреса устройством безопасности и затруднить криминалистическое расследование, чтобы идентифицировать наш IP-адрес как источник атаки.

Мы можем использовать функцию приманки, используя параметр -D, за которым следует список ложных IP-адресов, разделенных запятыми.

kali > nmap -sS wonderhowto.com -D 75.75.75.76,184.25.56.211,69.58.186.114

6a4a49_f82228674695474a99f904a290b2107emv2-1.webp


V. Использование прокси

Как и в случае любой атаки, мы можем использовать прокси-серверы между нами и целевой системой. При использовании прокси-серверов IP-адрес прокси-сервера регистрируется на целевой системе, а не наш собственный. Таким образом, даже самому опытному эксперту-криминалисту будет ОЧЕНЬ сложно отследить источник сканирования, не говоря уже об атаке. Нам просто нужно добавить ключ --proxies, а затем список HTTP- или SOCKS4-прокси, разделенный запятыми, как показано ниже. Формат должен быть следующим:

<протокол://IP:порт>

Затем мы могли бы выполнить это сканирование через прокси-серверы, используя следующую команду.

kali > nmap -sS –proxies socks4://176.57.216.214:80, http://213.85.92.10:80 wonderhowto.com

6a4a49_340e2a94236d4813b6aa6991678ed950mv2-1.webp


В этом сканировании будет видно, что пакеты поступают с IP-адресов прокси-сервера.

VI. Особенности синхронизации

Большинство систем обнаружения вторжений (IDS) выдают оповещения о сканировании только при достижении порогового уровня. Например, Snort — самая распространённая в мире система обнаружения вторжений (IDS), теперь входящая в состав сетевого гиганта Cisco — по умолчанию выдаёт оповещения только при сканировании 15 или более портов в секунду . Если снизить скорость сканирования, оно может пройти мимо IDS, не вызывая оповещения администратора.

У nmap есть функция scan_delay. Она позволяет установить минимальный интервал между каждыми зондами, которые nmap отправляет хосту.

Для функции scan_delay в nmap требуется не только числовое значение, но и единицы измерения. Эти единицы измерения:

  • мс для миллисекунд
  • s для секунд
  • м для минут
  • ч для часа
Итак, если мы хотим, чтобы nmap делал задержку в 5 секунд между каждым зондированием, мы можем написать:

kali > nmap -sS –scan_delay 5s wonderhowto.com

6a4a49_3d2f904c484542d39bc7a9ad10c2c8e2mv2-1.webp


Помимо простого задания задержки между сканированиями с помощью опции --scan-delay, nmap имеет шесть (6) встроенных опций синхронизации и скорости. Их можно задать с помощью ключа -T, за которым следует числовое значение или имя. Значение по умолчанию — Normal или -T3. Например, если мы хотим сканировать с самой медленной опцией, называемой «paranoid», мы можем написать:

kali > nmap -sS -T0 wonderhowto.com

6a4a49_efb19f816bb74f8d96ffc769e0847227mv2-1.webp


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

kali > nmap -sS -T paranoid wonderhowto.com

Варианты времени и скорости указаны ниже. «Безумный» завершит сканирование ОЧЕНЬ быстро, но, скорее всего, вызовет тревогу, а «Параноидальный» — ОЧЕНЬ незаметно, но ОЧЕНЬ, ОЧЕНЬ медленно. Будьте терпеливы: сканирование на этом уровне может занять несколько часов, но вы можете быть уверены, что не вызовете тревогу.

параноидальный (0) последовательное сканирование с ожиданием 300 секунд

скрытный (1) последовательное сканирование с 15-секундным ожиданием

вежливый (2) последовательное сканирование, ожидание 0,4 секунды

нормальный (3) параллельное сканирование

агрессивный (4) параллельный 1,25 сек/зонд

безумие (5) параллельное сканирование и 0,3 сек/зонд

VII. Изменение длины данных

Некоторые межсетевые экраны и системы обнаружения вторжений (IDS) используют сигнатуры сканирования Nmap, основанные на длине пакета. Эти сигнатуры включают в себя длину данных пакетов сканирования Nmap по умолчанию. Эти пакеты, как правило, очень малы (сканирование TCP составляет 40 байт, а сканирование ICMP — всего 28 байт). Если мы сможем изменить длину этих пакетов, мы сможем, по крайней мере, обойти этот компонент сигнатуры и, возможно, проникнуть в сеть, минуя IDS.

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

Мы можем использовать эту функцию следующим образом:

kali > nmap -sS –data-length 1200 wonderhowto.com

6a4a49_abe7eab289984813919a992478603040mv2-1.webp


Обратите внимание, что полезная нагрузка размером более 1400 байт НЕ допускается.

VII. Передовая практика

Чтобы ваше сканирование не было обнаружено, можно использовать комбинацию нескольких из этих методов. Например, можно замедлить сканирование до T1, фрагментировать пакеты (-f), удлинить пакет до 1200 байт, использовать прокси-серверы, например, вот этот.

kali > nmap -sS -T1 -f –data-length 1200 –proxies sock4://176.57.216.214:80, http://213.85.92.10:80 wonderhowto.com

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