Nmap: Xmas Scan

nmap Applications

В этом руководстве объясняется, как выполнить технику скрытого сканирования Xmas с помощью Nmap.

Nmap Xmas scan считается скрытым сканированием, которое анализирует ответы на Xmas пакеты для определения природы отвечающего устройства.

Каждая операционная система или сетевое устройство по-разному отвечает на Xmas-пакеты, раскрывая локальную информацию, такую как ОС (операционная система), состояние порта и многое другое.

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

Прочитав это руководство, пользователь поймет, как работает сканирование Xmas, NULL и FIN. Все приведенные ниже инструкции содержат скриншоты, что облегчает читателям понимание того, как выполняются команды Nmap.

О сканировании Xmas

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

Обычно брандмауэры без состояния блокируют биты SYN или заголовки TCP-пакетов, если они отправляются без битов ACK. Сканирование Xmas заключается в очистке заголовка SYN из TCP-пакета и замене его битами FIN, PSH и URG (или заголовками Or) в обход брандмауэра.

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

Xmas scan - это старая техника скрытого сканирования, но в настоящее время она не является надежной, обнаруживается большинством брандмауэров и средств защиты от вторжений. Тем не менее, она воспроизводима и весьма познавательна для изучения структуры TCP.

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

  • Open|filtered: Nmap не может определить, открыт порт или отфильтрован. Даже если порт открыт, сканирование Xmas сообщит о нем как open|filtered. Это происходит, когда не получен ответ (даже после повторной передачи).
  • Closed: Nmap обнаруживает, что порт закрыт; это происходит, когда ответом является пакет TCP RST.
  • Filtered: Nmap обнаруживает брандмауэр, фильтрующий сканируемые порты; это происходит, когда ответом является ошибка ICMP unreachable (тип 3, код 1, 2, 3, 9, 10 или 13). На основании стандартов RFC Nmap или Xmas scan способен интерпретировать состояние порта.

Как можно понять из предыдущего списка, сканирование Xmas, как и сканирование NULL и FIN, не может различать открытые и отфильтрованные порты.

Если цель явно не отказывается от соединения и просто отбрасывает пакет без ответа, без ответа об отказе, Xmas scan не может быть уверен, открыт порт или отфильтрован.

Когда нет очевидного ответа от брандмауэра, порты могут быть определены как открытые|фильтрованные.

Пользователь может реализовать инвазивные флаги для различения открытых и фильтрованных портов, но нет смысла сочетать их с таким скрытым сканированием, как Xmas.

Выполнение сканирования Xmas с помощью Nmap

Синтаксис для выполнения Xmas сканирования с помощью Nmap следующий, где флаг -sX указывает Nmap запустить Xmas сканирование, -T управляет временным шаблоном (объясняется ниже), а -v указывает на многословность.

Практический пример ниже показывает сканирование Xmas против маршрутизатора 192.168.153.2.

сканирования Xmas с помощью Nmap

Шаблоны времени (-T) определяют уровень агрессивности, начиная с самого медленного и заканчивая самым быстрым типом сканирования.

Шаблоны времени

Шаблон Флаг ФУНКЦИИ
Paranoid -T0 Крайне медленный, полезен для обхода IDS
Sneaky -T1 Медленный, также полезен для обхода IDS (системы обнаружения вторжений)
Polite -T2 Нейтральный
Normal -T3 Режим по умолчанию
Aggressive -T4 Быстрое сканирование
Insane -T5 Быстрее

Сканирование NULL и FIN с помощью Nmap

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

В то время как сканирование Xmas удаляет флаг или бит SYN из TCP-пакета и заменяет его заголовками или флагами FIN, PSH и URG, сканирование NULL удаляет бит или заголовок SYN, не заменяя его. Оно только удаляет бит SYN (блокируется брандмауэрами) из TCP-пакета.

Сканирование FIN очищает заголовок SYN и использует заголовок FIN.

Следующий синтаксис относится к FIN-сканированию, заданному с флагом -sF. Где [Template] должен быть заменен на один из уровней, описанных в предыдущей таблице, а [Target] - на фактическую цель:

В практическом примере ниже пользователь запускает FIN-сканирование против хоста 192.168.153.2:

Сканирование FIN с помощью Nmap

В следующем примере сканирование NULL задается с помощью флага -sN.

NULL Сканирование с помощью Nmap

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

Скрытое сканирование SYN

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

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

sudo nmap -sS [TARGET] -v

Этот тип сканирования подробно описан в нашей статье Скрытое сканирование (stealth scan) с помощью Nmap.

Биты FIN, PSH и URG

Сканирование Xmas и FIN использует следующие биты:

  • PSH: Буферы TCP позволяют передавать данные, когда вы отправляете больше, чем сегмент с максимальным размером. Если буфер не заполнен, флаг PSH (PUSH) позволяет отправить его в любом случае, заполняя заголовок или давая TCP команду на отправку пакетов. С помощью этого флага приложение, генерирующее трафик, сообщает, что данные должны быть отправлены немедленно, а получатель информируется о том, что данные должны быть немедленно отправлены приложению.
  • URG: Этот флаг информирует о том, что определенные сегменты являются срочными и должны быть приоритетными. Когда флаг включен, приемник считывает 16-битный сегмент в заголовке. Этот сегмент указывает на срочные данные, начиная с первого байта. В настоящее время этот флаг почти не используется.
  • FIN: RST-пакеты были описаны в вышеупомянутом руководстве (Nmap Stealth Scan). В отличие от пакетов RST, пакеты FIN, вместо того чтобы информировать о разрыве соединения, запрашивают его у взаимодействующего узла и ждут подтверждения для разрыва соединения.

Правила Iptables против сканирования Xmas

На сегодняшний день все брандмауэры защищены от Xmas, NULL и FIN сканирования. Но правила брандмауэра против такой активности полезны для понимания того, как пакеты обрабатываются брандмауэрами.

Заключение

Хотя сканирование Xmas не является новым, и большинство систем защиты способны его обнаружить, став устаревшей техникой против хорошо защищенных целей, это отличный способ познакомиться с необычными сегментами TCP, такими как PSH и URG, и понять, как Nmap анализирует пакеты, чтобы получить заключение о целях.

Больше, чем метод атаки, это сканирование полезно для проверки вашего брандмауэра или системы обнаружения вторжений. Правил iptables, упомянутых ранее, должно быть достаточно, чтобы остановить такие атаки с удаленных хостов. Это сканирование очень похоже на сканирование NULL и FIN как по способу работы, так и по низкой эффективности против защищенных целей.

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

Avatar for Gnostis
Gnostis
Добавить комментарий