Thursday, October 19th, 2017

Методология и средства анализа пакетов (Часть 1)

Published on Январь 30, 2009 by   ·   Комментариев нет

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

Если вы хотите увидеть другие статьи из этого цикла, пожалуйста, прочитайте:

Сканеры портов (port scanner) и типы сканирования

Когда мы думаем об интернете, то сразу же на ум приходит несколько вещей. Первое, и наиболее частое – это спам, а второе – это бесконечное сканирование портов (port scans). Это бесконечное сканирование портов – одна из самых недопонимаемых вещей для всех, кроме профессионального сетевого аналитика по безопасности. Нет особой надобности для среднего пользователя компьютера в изучении сканеров портов и TCP/IP. Хотя, это в их интересах изучить различные типы сканирования, и понять, что означает сканирование.

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

Встреча с тяжеловесами!

Практически в каждой области одни продукты порождают другие. Мир компьютерной безопасности и взлома — не исключение из этого феномена. Когда дело доходит до средств обеспечения компьютерной безопасности, то linux вне конкуренции. Но нельзя также оспорить тот факт, что Windows является операционной системой, которая чаще всего используется для компьютерных сетей. Понимая это, следует попытаться объединить их и взять самое лучшее. На основе это правила одни из лучших и популярных средств по обеспечению безопасности на linux были перенесены на платформу win32. Самые замечательное из них – это без сомнения король сетевых сканеров nmap. Другой тяжеловес в этой области – сканер портов hping. Основное различие между ними заключается в том, что nmap может сканировать интервал IP адресов, в то время как hping может сканировать только один конкретный IP адрес. Мне нравится их сравнивать, как широкий меч и рапиру. В то время как nmap может сканировать интервал IP адресов, hping намного незаметнее, но может сканировать только IP адрес за раз. Подробнее о незаметности я расскажу попозже. Еще один сетевой сканер, достойный упоминания — это superscan. Хотя superscan и не настолько функционален, как nmap, он все же является вполне достойным сканером. Последнее замечание об этих сканерах – убедитесь, что вы установили все дополнительные программы, необходимые для их работы. Для всех из них, независимо от платформы win32 или linux, необходимо установить winpcap или libpcap для правильной работы.

Хватит говорить, перейдем к действиям!

Хорошо, теперь, когда мы представили основных игроков, пришло время перейти к делу. Все, что должны сделать – это использовать hping для документирования на пакетном уровне различных типов сканирования, которые вы увидите в сети. Пока я запишу синтаксис команды для hping, и я не хочу тратить на это много времени. Существует огромное количество пособий на эту тему. Мы покажем вам основные типы сканирования, которые используются на сегодняшний день: syn scan, rst scan, ack scan, и udp scan. Хотя это и не весь список, он содержит наиболее часто используемые типы сканирования. Важно не только прочить об этих вещах, важно также представить их. С этим заявлением я создам особый тип сканирования, который отразится на пакетном уровне (packet level).

SYN scan

hping -S 192.168.1.100 -c 1 -p 80

14:08:49.973455 IP (tos 0x8, ttl  64, id 64574, offset 0, flags [none],
length: 40) 192.168.1.102.2640 > 192.168.1.100.80: S [tcp sum ok]
1104445670:1104445670(0) win 512
0x0000:  4508 0028 fc3e 0000 4006 fa6e c0a8 0166  E..(.>..@..n…f
0x0010:  c0a8 0164 0a50 0050 41d4 80e6 4ad4 27ec  …d.P.PA…J.’.
0x0020:  5002 0200 e9ac 0000                                     P…….

Сканирование SYN – это, вероятно, одно из самых частых типов сканирования на сегодняшний день. При выполнении такого сканирования вы получите четкий вопрос на ответ, есть ли какая-нибудь служба, слушающая по указанному порту. Если существует такая служба, как, например, служба HTTP, слушающая по порту 80, то это будет SYN/ACK. Такой ответ означает, что в самом деле есть что-то, ожидающее соединений по этому порту. Наоборот, если на SYN вы получили ответ RST/ACK, то это значит, что нет служб, которые слушают по этому порту.

RST scan

hping –R 192.168.1.100 –c 1 –p 80

9:54:57.669980 192.168.1.102.1239 > 192.168.1.100.80: R 1975237774:1975237774(0) win 512
0x0000 4500 0028 890e 0000 4006 00bf xxxx xxxx  E..(….@….r.|
0x0010 xxxx xxxx 04d7 0050 75bb bc8e 631c a4e4  .r……r…c….
0x0020 5004 0200 7dbb 0000                                     P…}..

Здесь у нас RST сканирование. Это будет сканирование, в котором в бите флага ТCP установлен только бит RST. Такой особый байт имеет смещение 13 в заголовке TCP. Помните, что вы должны начать считать с 0. В этом случае, это будет байт 04 в строке 00×0020. Как вы можете увидеть, значение 04 представлено в шестнадцатиричном формате. Числовое значение отображено флагом RST в поле флага TCP.

Для чего используется RST сканирование? ОК, сканирование RST также известно, как обратная маршрутизация (inverse mapping). Этот тип сканирования не так хорошо известен, как сканирование SYN, показанное выше, но без сомнения очень эффективно. И не только эффективно, оно не обнаруживается очень многими системами обнаружения атак (intrusion detection systems). Если вы пошлете RST пакет на сканируемый порт, вы получите одну из двух вещей – нет ответа, или недоступный пакет ICMP (ICMP host unreachable packet). Если вы не получаете ответ, т.е. пакет не вернулся к вам назад, то это значит, что компьютер, который вы сканируете, существует и запущен. Если вы получаете ответ «ICMP host unreachable packet», то это значит, что IP адрес, который вы сканируете, не присвоен. Не плохое сканирование, не так ли?

ACK Scan

hping –A 192.168.1.100 –c 1 –p 80

14:14:43.545975 IP (tos 0x8, ttl  64, id 42390, offset 0, flags [none],
length: 40) 192.168.1.102.2497 > 192.168.1.100.80: . [tcp sum ok] ack
473846278 win512
0x0000:  4508 0028 a596 0000 4006 5117 c0a8 0166  E..(….@.Q….f
0x0010:  c0a8 0164 09c1 0050 1f48 d03f 1c3e 5206    …d…P.H.?.>R.
0x0020:  5010 0200 c1dc 0000                                      P…….

Здесь мы используем то, что называется сканирование ACK. Что оно использует? Если вы знаете ваш TCP/IP, то вы знаете, что оно должно иметь ограниченное значение. Не совсем так в действительности. Такой тип сканирования используется для определения типа брандмауэра, который используется в определенной сети. Брандмауэр выполняет SPI — stateful packet inspection (проверку пакета). Под этим имеется в виду, что брандмауэр отслеживает сессии, которые проходят через него. Если браузер на клиентском компьютере внутри сети проходит проверку на брандмауэре, то происходит ряд вещей. Брандмауэр делает запись об адресе отправителя и адресе получателя, плюс номер используемого порта отправителя и получателя. Таким образом, будет пропущен лишь пакет, который имеет внутренний по отношению к клиентскому компьютеру IP адрес и порт отправителя (source port).

Это замечательный способ для запрещения внешних попыток соединения (inbound connection). Поэтому, если вы посылаете пакет ACK в сеть, в которой установлен брандмауэр с SPI, то он будет просто бесшумно отсеян. Если в сети или на компьютере нет такого брандмауэра, то ваш пакет RST вернется назад. Это случится потому, что компьютер, получивший такой пакет, ничего не знает о таком соединении, поэтому пакет RST возвращается вам назад.

UDP Scan

hping -2 192.168.1.100 –c 1 –p 53

14:27:09.947037 IP (tos 0x10, ttl  64, id 22934, offset 0, flags [none],
length: 28) 192.168.1.102.2695 > 192.168.1.100.53: [udp sum ok] [|domain]
0x0000:  4510 001c 5996 0000 4011 9d10 c0a8 0166  E…Y…@……f
0x0010:  c0a8 0164 0a87 0035 0008 7107                      …d…5..q.

Закончим наше описание типов сканирования UDP сканированием. Это сканирование используется для обнаружения служб, использующих UDP, например DNS. Если вы пошлете UDP пакет на компьютер, на котором присутствует слушающая служба, то назад к вам ничего не вернется. Если никаких служб, слушающих по этому порту нет, то вы получите сообщение о недоступности ICMP порта. Здорово, правда? UDP общается посредством ICMP сообщений. Если вы помните, мы послали пакет SYN по TCP, если нет слушающих служб, то вернется пакет RST.

Резюме

Информация такого типа должна быть интересна для тестировщиков, или интересующихся TCP/IP. Во-вторых, хотя nmap – это очень мощный сетевой сканер, не важно на какой он платформе win32 или linux, у него есть очень много сигнатур для обнаружения атак (intrusion detection signatures). Если при тестировании для вас важна незаметность, то hping намного приоритетней, благодаря его возможности посылать только один пакет за раз. Это может быть полезно при проверке конфигурации брандмауэра. Наконец, благодаря предлагаемому вам последовательному контролю, существуют неизвестные сигнатуры, о которых я знаю. И пока я еще не забыл, есть еще один замечательный разборщик пакетов для платформы win32 под названием nemesis. Он позволяет проводить маршрутизацию протоколов. Хотя существует большое количество средств для платформы win32, которые помогают вам поддерживать безопасность в вашей сети, очень полезна время от времени проверять вашу сеть.

Источник www.windowsecurity.com


















Смотрите также:

Tags: , , , ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]