Jump to content

Сканирование в режиме ожидания

Сканирование открытого порта в режиме ожидания

Сканирование в режиме ожидания — это TCP метод сканирования портов для определения того, какие службы открыты на целевом компьютере. [1] не оставляя следов, указывающих на себя. Это достигается с помощью подмены пакетов, чтобы выдать себя за другой компьютер (называемый « зомби »), чтобы цель считала, что к ней обращается зомби. Цель будет реагировать по-разному в зависимости от того, открыт ли порт, что, в свою очередь, можно обнаружить, запросив зомби. [2]

Обзор [ править ]

Это действие можно выполнить с помощью обычных программных сетевых утилит, таких как nmap и hping . Атака включает отправку поддельных пакетов на конкретную машину- цель с целью найти отличительные характеристики другой машины- зомби . Атака является сложной, поскольку между компьютером злоумышленника и целью нет взаимодействия: злоумышленник взаимодействует только с компьютером- зомби .

Этот эксплойт выполняет две функции: сканер портов и отображение доверенных IP- связей между компьютерами. Целевая система взаимодействует с компьютером-« зомби », и разницу в поведении можно наблюдать, используя разных «зомби» с доказательствами разных привилегий, предоставленных целью разным компьютерам. [3]

Общая цель сканирования в режиме ожидания — «проверить состояние порта, оставаясь при этом полностью невидимым для целевого хоста». [4]

Происхождение [ править ]

Обнаружен Сальваторе Санфилиппо (также известным под псевдонимом «Антирес») в 1998 году. [5] сканирование в режиме ожидания использовалось многими «хакерами» в черной шляпе для скрытного определения открытых портов на целевом компьютере при подготовке к атаке на него. Хотя первоначально оно называлось «тупое сканирование », термин «сканирование в режиме ожидания» был придуман в 1999 году, после публикации экспериментального сканера 16-битного идентификационного поля (IPID) под названием «idlescan» . Филипе Алмейда (он же LiquidK) [6] Этот тип сканирования также можно назвать сканированием зомби ; все номенклатуры обусловлены природой одного из компьютеров, участвовавших в атаке.

Основы TCP/IP [ править ]

Конструкция и работа Интернета основаны на наборе интернет-протоколов , обычно также называемом TCP/IP. IP является основным протоколом Интернет-уровня набора интернет-протоколов и предназначен для доставки датаграмм от исходного хоста к целевому хосту исключительно на основе их адресов . Для этой цели IP определяет методы и структуры адресации для инкапсуляции датаграмм . Это протокол без установления соединения, основанный на передаче пакетов. Каждый IP-пакет из данного источника имеет идентификатор, который однозначно идентифицирует IP-дейтаграмму. [ нужны разъяснения ]

TCP обеспечивает надежную, упорядоченную доставку потока байтов от программы на одном компьютере к другой программе на другом компьютере. TCP — это протокол, на котором полагаются основные интернет-приложения, такие как Всемирная паутина , электронная почта и передача файлов. Каждое из этих приложений (веб-сервер, сервер электронной почты, FTP-сервер) называется сетевой службой . В этой системе сетевые службы идентифицируются с использованием двух компонентов: адреса хоста и номера порта. На каждом хосте имеется 65536 различных и используемых номеров портов. Большинство служб по умолчанию используют ограниченный диапазон номеров, и почти всегда используется номер порта по умолчанию для службы.

Некоторые сканеры портов сканируют только наиболее распространенные номера портов или порты, которые чаще всего связаны с уязвимыми службами на данном хосте. См.: Список номеров портов TCP и UDP .

Результат сканирования порта обычно относят к одной из трех категорий:

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

Открытые порты представляют две уязвимости, которых администраторам следует опасаться:

  1. Проблемы безопасности и стабильности, связанные с программой, отвечающей за предоставление услуги — открытые порты.
  2. Проблемы безопасности и стабильности, связанные с операционной системой , работающей на хосте: открытые или закрытые порты.

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

Базовая механика [ править ]

При сканировании в режиме ожидания используется предсказуемое значение поля идентификации из IP-заголовка : каждый IP-пакет из данного источника имеет идентификатор, который однозначно идентифицирует фрагменты исходной IP-дейтаграммы; реализация протокола присваивает значения этому обязательному полю, как правило, с шагом фиксированного значения (1). Поскольку передаваемые пакеты нумеруются последовательно, вы можете сказать, сколько пакетов передано между двумя полученными пакетами.

Злоумышленник сначала просканирует хост с последовательным и предсказуемым порядковым номером (IPID). Последние версии Linux , Solaris , OpenBSD и Windows Vista в качестве зомби не подходят, так как IPID реализован с помощью патчей. [7] это рандомизировало IPID. [1] Компьютеры, выбранные для использования на этом этапе, известны как «зомби». [2]

Как только подходящий зомби будет найден, следующим шагом будет попытка установить TCP-соединение с заданным сервисом (портом) целевой системы, выдавая себя за зомби. Это делается путем отправки пакета SYN на целевой компьютер, подменяющего IP-адрес зомби, т. е. с исходным адресом, равным IP-адресу зомби.

Если порт целевого компьютера открыт, он примет соединение для службы, ответив зомби пакетом SYN/ACK.

Затем компьютер-зомби отправит пакет RST на целевой компьютер (чтобы сбросить соединение), поскольку на самом деле он вообще не отправлял пакет SYN.

Поскольку зомби должен был отправить пакет RST, он увеличит свой IPID. Таким образом злоумышленник узнает, открыт ли целевой порт. Злоумышленник отправит зомби еще один пакет. Если IPID увеличивается только на шаг, злоумышленник узнает, что конкретный порт закрыт.

Метод предполагает, что у зомби нет других взаимодействий: если между первым взаимодействием злоумышленника с зомби и вторым взаимодействием, отличным от сообщения RST, будет отправлено какое-либо сообщение по другим причинам, будет ложное срабатывание .

Первый этап сканирования в режиме ожидания
Второй этап сканирования в режиме ожидания

Поиск хозяина-зомби [ править ]

Первым шагом при выполнении сканирования в режиме ожидания является поиск подходящего зомби. Ему необходимо назначать пакеты IP ID постепенно на глобальной основе (а не на основе каждого хоста, с которым он взаимодействует). Он должен находиться в режиме ожидания (отсюда и название сканирования), так как посторонний трафик нарушит последовательность его IP-идентификаторов, запутывая логику сканирования. Чем меньше задержка между злоумышленником и зомби, а также между зомби и целью, тем быстрее будет проходить сканирование. [8]
Обратите внимание, что когда порт открыт, IPID увеличиваются на 2. Ниже приведена последовательность:
1. Атакующий к цели -> SYN, цель к зомби -> SYN/ACK, зомби к цели -> RST (увеличение IPID на 1)
2. Теперь злоумышленник пытается проверить зомби на предмет результата. От злоумышленника к зомби -> SYN/ACK, от зомби к злоумышленнику -> RST (увеличение IPID на 1)
Итак, в этом процессе IPID наконец увеличивается на 2.

При попытке сканирования в режиме ожидания инструменты (например, nmap) тестируют предлагаемого зомби и сообщают о любых проблемах с ним. Если один не работает, попробуйте другой. Достаточное количество интернет-хостов уязвимо, поэтому кандидатов-зомби найти нетрудно.Распространенный подход — просто выполнить ping-проверку некоторой сети. Выбор сети рядом с исходным адресом или рядом с целью дает лучшие результаты. Вы можете попробовать выполнить сканирование в режиме ожидания, используя каждый доступный хост из результатов проверки пинга, пока не найдете тот, который работает. Как обычно, лучше спросить разрешения, прежде чем использовать чьи-либо машины для неожиданных целей, например, для сканирования в режиме ожидания.

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

Хотя определение подходящего зомби требует некоторой первоначальной работы, вы можете продолжать повторно использовать хороших. Альтернативно, были проведены некоторые исследования по использованию непредусмотренных общедоступных веб-сервисов в качестве хостов-зомби для выполнения аналогичных сканирований в режиме ожидания. Использование того, как некоторые из этих сервисов выполняют исходящие соединения после отправки данных пользователем, может служить своего рода сканированием для бедняков в режиме ожидания. [9]

Использование hping [ править ]

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

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

[root@localhost hping2-rc3]#  ./hping2   -S   172  .16.0.105 HPING 172.16.0.105 (eth0 172.16.0.105): набор S, 40 заголовков + 0 байт данных  len=46 ip=172.16.0.105 ttl=128 id=1371 sport=0 flags=RA seq=0 win=0 rtt=0,3 мс  seq=1 win=0 rtt=0,2 мс len=46 ip=172.16.0.105 ttl=128 id=1373 sport  len=46 ip=172.16.0.105 ttl =128 id=1372 sport=0 flags=RA  =0 flags=RA seq=2 win=0 rtt=0,3 мс  len=46 ip=172.16.0.105 ttl=128 id=1374 sport=0 flags=RA seq=3 win=0 rtt=0,2 мс  len=46 ip=172.16.0.105 ttl= 128 id=1375 sport=0 flags=RA seq=4 win=0 rtt=0,2 мс  len=46 ip=172.16.0.105 ttl=128 id=1376 sport=0 flags=RA seq=5 win=0 rtt=0,2 мс  RA seq=6 win=0 rtt=0,2 мс len=46 ip=172.16.0.105 ttl=128 id=1378 sport  len=46 ip=172.16.0.105 ttl =128 id=1377 sport=0 flags=  =0 flags=RA seq=7 win=0 rtt=0,2 мс  len=46 ip=172.16.0.105 ttl=128 id=1379 sport=0 flags=RA seq=8 win=0 rtt=0,4 мс 

Отправьте поддельный пакет SYN на целевой хост через порт, который, как вы ожидаете, будет открыт. В данном случае тестируется порт 22 (ssh).

#  hping2   — подмена   172  .16.0.105   -S   172  .16.0.100   -p   22   -c   1  HPING 172.16.0.100 (eth0 172.16.0.100): набор S, 40 заголовков + 0 байт данных  --- 172.16.0.100 статистика hping ---  1 пакет отправлен, 0 пакетов получено, 100% потеря пакетов  в обе стороны мин/сред/макс = 0,0/0,0/0,0 мс 

Поскольку мы подделали пакет, мы не получили ответа, и hping сообщает о 100% потере пакета. Целевой хост ответил непосредственно простаивающему хосту пакетом синхронизации/подтверждения. Теперь проверьте простаивающий хост, чтобы увидеть, увеличился ли его идентификатор.

#  hping2   -S   172  .16.0.105   -p   445   -c   1  HPING 172.16.0.105 (eth0 172.16.0.105): набор S, 40 заголовков + 0 байт данных  len=46 ip=172.16.0.105 ttl=128 DF id=1381 sport=445 flags=SA seq=0 win=64320 rtt=0,3 мс  --- 172.16.0.105 статистика hping ---  1 переданный пакет, 1 полученный пакет, 0 % потеря пакетов  в обе стороны мин/сред/макс = 0,3/ 0,3/0,3 мс 

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

Запустите те же процессы еще раз, проверив порт, который, вероятно, закрыт. Здесь мы тестируем порт 23 (telnet).

#  hping2   -S   172  .16.0.105   -p   445   -c   1  ;   подделка   172.16.0.105  -p   -S   172.16.0.100  hping2   ;   23   -c   1   hping2   -S   172  .16.0.105   -p   445   -c   1  HPING 172.16.0.105 (eth0 172.16.0.105): набор S, 40 заголовков + 0 байт данных  len=46 ip=172.16.0.105 ttl=128 DF id=1382 sport =445 flags=SA seq=0 win=64320 rtt=2,1 мс  --- 172.16.0.105 статистика hping ---  1 переданный пакет, 1 полученный пакет, 0 % потеря пакетов  в обе стороны мин/сред/макс = 2,1/2,1 /2,1 мс  HPING 172.16.0.100 (eth0 172.16.0.100): набор S, 40 заголовков + 0 байт данных  --- 172.16.0.100 статистика hping ---  1 переданный пакет, 0 полученных пакетов, 100 % потеря пакетов  в обоих направлениях, мин. /avg/max = 0,0/0,0/0,0 мс  HPING 172.16.0.105 (eth0 172.16.0.105): набор S, 40 заголовков + 0 байт данных  len=46 ip=172.16.0.105 ttl=128 DF id=1383 sport=445 флагов =SA seq=0 win=64320 rtt=0,3 мс  --- 172.16.0.105 статистика hping ---  1 переданный пакет, 1 полученный пакет, 0 % потеря пакетов  в обе стороны мин/сред/макс = 0,3/0,3/0,3 мс 

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

Использование nmap [ править ]

Первое, что сделает пользователь, — это найдет в локальной сети подходящего зомби :

Выполнение сканирования портов и идентификации ОС (параметр -O в nmap) в сети-кандидате на зомби, а не просто пинг-сканирование, помогает выбрать хорошего зомби. Пока включен подробный режим (-v), обнаружение ОС обычно определяет метод генерации последовательности IP-идентификатора и печатает строку, например «Генерация последовательности IP-идентификатора: инкрементная». Если тип задан как инкрементный или сломанный с прямым порядком байтов, машина является хорошим кандидатом на зомби. Это еще не гарантия того, что это будет работать, поскольку Solaris и некоторые другие системы создают новую последовательность IP-идентификаторов для каждого хоста, с которым они взаимодействуют. Хозяин также может быть слишком занят. Обнаружение ОС и список открытых портов также могут помочь в выявлении систем, которые могут простаивать.

Другой подход к идентификации кандидатов-зомби — запуск сценария ipidseq NSE на хосте. Этот сценарий проверяет хост, чтобы классифицировать его метод генерации IP-идентификатора, а затем печатает классификацию IP-идентификатора, аналогично тому, как это делает обнаружение ОС. Как и большинство сценариев NSE, ipidseq.nse можно запускать на многих хостах параллельно, что делает его еще одним хорошим выбором при сканировании целых сетей в поисках подходящих хостов.

nmap -v -O -sS 192.168.1.0/24

Это говорит nmap выполнить ping-сканирование и показать все хосты, находящиеся в заданном диапазоне IP-адресов. Как только вы обнаружите зомби, вам следует отправить поддельные пакеты:

nmap -P0 -p <port> -sI <zombie IP> <target IP>

Сопоставление изображений показывает оба этих этапа в успешном сценарии.

Эффективность [ править ]

Хотя многие операционные системы теперь защищены от использования в этой атаке, некоторые популярные системы все еще уязвимы; [1] что делает сканирование в режиме ожидания по-прежнему очень эффективным. После успешного сканирования IP-адрес злоумышленника не остается ни в брандмауэре цели , ни в журнале системы обнаружения вторжений . Еще одна полезная возможность — это возможность обойти брандмауэр, поскольку вы сканируете цель с компьютера зомби. [10] который может иметь больше прав, чем у злоумышленника.

См. также [ править ]

Примечания [ править ]

  1. ^ Jump up to: Перейти обратно: а б с Эриксон, Джон (1977). ВЗЛОМ искусство эксплуатации . Сан-Франциско: NoStarch Press. п. 264. ИСБН  1-59327-144-1 .
  2. ^ Jump up to: Перейти обратно: а б «Что такое Idle Scan? | ICterra Информационные и коммуникационные технологии» . 01.02.2017 . Проверено 9 сентября 2020 г.
  3. ^ Сын, До (01 декабря 2017 г.). «Введение в сканирование в режиме ожидания/зомби • Тестирование на проникновение» . Тестирование на проникновение . Проверено 9 сентября 2020 г.
  4. ^ Трапикин, Роман (сентябрь 2015 г.). «Кто сканирует Интернет?» (PDF) . Семантический учёный . S2CID   55929767 . Архивировано (PDF) из оригинала 20 февраля 2019 г. Проверено 9 сентября 2020 г.
  5. ^ Санфилиппо, Сальваторе (18 декабря 1998 г.). «новый метод сканирования TCP» . Проверено 28 сентября 2010 г.
  6. ^ Филипе Алмейда (он же LiquidK) (3 декабря 1999 г.). «idlescan (сканер портов ip.id)» . Проверено 9 ноября 2010 г.
  7. ^ Санфилиппо, Сальваторе (26 октября 1999 г.). «предсказуемый патч ip->id» . Проверено 28 сентября 2010 г.
  8. ^ Гордон «Федор» Лион (2010). «Сканирование сети Nmap. Глава 5. Методы и алгоритмы сканирования портов» . ООО «Инсекьюр.Ком» . Проверено 28 сентября 2010 г.
  9. ^ Мартин «olemoudi» Обиолс (2011). «Сканирование зомби с использованием непреднамеренных государственных служб» . (Почти) Нет блога о техническом хакерстве. Архивировано из оригинала 20 марта 2011 г. Проверено 16 марта 2011 г.
  10. ^ Гордон «Федор» Лион (2010). «Сетевое сканирование Nmap. Глава 15. Справочное руководство Nmap» . ООО «Инсекьюр.Ком» . Проверено 28 сентября 2010 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 88744c98397e6e1a277a17ab2b210cb1__1705362000
URL1:https://arc.ask3.ru/arc/aa/88/b1/88744c98397e6e1a277a17ab2b210cb1.html
Заголовок, (Title) документа по адресу, URL1:
Idle scan - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)