Wireshark (перехватчик сетевых пакетов)

Скачать Viber 29.04.2019
Скачать Viber
9 февраля 2015 в 12:12

Исследование: Перехват трафика мобильного Интернета через GTP и GRX

  • Информационная безопасность ,
  • Блог компании Positive Technologies

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

Исследователи Positive Technologies обнаружили уязвимости в инфраструктуре сетей мобильной связи, которые позволяют перехватывать GPRS-трафик в открытом виде, подменять данные, блокировать доступ к Интернету, определять местоположение абонента. Под угрозой оказываются не только мобильные телефоны, но и специализированные устройства, подключенные к 2G/3G/4G-сетям с помощью модемов: банкоматы и терминалы оплаты, системы удаленного управления транспортом и промышленным оборудованием, средства телеметрии и мониторинга и т.д.

Операторы сотовой связи, как правило, шифруют трафик GPRS между мобильным терминалом (смартфоном, модемом) и узлом обслуживания абонентов (SGSN) алгоритмами GEA-1/2/3, что осложняет перехват и расшифровку информации. Чтобы обойти это ограничение, злоумышленник может проникнуть в опорную сеть оператора, где данные не защищены механизмами аутентификации. Ахиллесовой пятой являются узлы маршрутизации (или шлюзовые узлы), которые называются GGSN. Их легко обнаружить, в частности, с помощью поисковика Shodan. У проблемных узлов открыты GTP-порты, что позволяет атакующему установить соединение, а затем инкапсулировать в созданный туннель управляющие пакеты GTP. При правильном подборе параметров GGSN воспримет их как пакеты от легитимных устройств сети оператора.

Протокол GTP, описанный выше, никаким образом не должен быть «виден» со стороны Интернета. Но на практике это не так: в Интернете имеется более 207 тысяч устройств по всему земному шару с открытыми GTP-портами. Более полутысячи из них являются компонентами сотовой сети и отвечают на запрос об установлении соединения.

Еще одна возможность для атак связана с тем, что GTP - далеко не единственный протокол управления на найденных узлах. Также встречаются Telnet, FTP, SSH, Web и др. Используя уязвимости в этих интерфейсах (например, стандартные пароли), нарушитель может подключиться к узлу оператора мобильной связи.

Экспериментальный поиск по сайту Shodan выдает несколько уязвимых устройств, в том числе с открытым Telnet и отключенным паролем. Достаточно подключиться к данному устройству и произвести в нем необходимые настройки для того, чтобы оказаться внутри сети оператора в Центральноафриканской Республике.


При этом всякий, кто получил доступ к шлюзовому узлу любого оператора, автоматически получает доступ к сети GRX, которая объединяет всех сотовых операторов и используется для предоставления доступа к Интернету абонентам в роуминге. Воспользовавшись единичной ошибкой в конфигурации на одном устройстве, злоумышленник получает возможность проводить различные атаки на абонентов любого оператора в мире.

Среди множества вариантов использования скомпрометированного пограничного узла следует отметить следующие: отключение абонентов от Интернета или блокировка их доступа к нему; подключение к Интернету под видом другого абонента и за чужой счёт; перехват трафика жертвы и фишинг. Злоумышленник также может определить идентификатор абонента (IMSI) и следить за местоположением абонента по всему миру, пока он не сменит SIM-карту.

Опишем некоторые угрозы более подробно.

Интернет за чужой счет

Цель: исчерпание счета абонента, использование подключения в противозаконных целях.

Вектор атаки:

Атака заключается в отправке пакетов «Create PDP context request» с IMSI известного заранее абонента, таким образом происходит подключение к сети с его учетными данным. Ничего не подозревающий абонент получит огромные счета.

Возможно подключение с IMSI несуществующего абонента, так как авторизация абонента происходит на этапе подключения к SGSN, а к GGSN доходят уже «проверенные» соединения. Поскольку SGSN в данном случае скомпрометирован, никакой проверки не проводилось.

Результат: подключение к сети Интернет под видом легитимного абонента.

Перехват данных

Цель:

Вектор атаки: злоумышленник действует через сеть GRX или из сети оператора.

Злоумышленник может перехватить данные, передающиеся между абонентским устройством и сетью Интернет, путем отправки на обслуживающий SGSN и GGSN сообщения «Update PDP Context Request» с подмененными адресами GSN. Данная атака представляет собой аналог атаки ARP Spoofing на уровне протокола GTP.

Результат: подслушивание или подмена трафика жертвы, раскрытие конфиденциальной информации.

DNS-туннелирование

Цель: получить нетарифицируемый доступ к Интернету со стороны мобильной станции абонента.

Вектор атаки: злоумышленник - абонент сотовой сети, действует через мобильный телефон.

Давно известная атака, уходящая корнями во времена dial-up, потерявшая смысл при появлении дешевого и быстрого выделенного Интернета. Однако в мобильных сетях находит применение, например, в роуминге, когда цены за мобильный Интернет неоправданно высоки, а скорость передачи данных не так важна (например, для проверки почты).

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

Результат: получение нетарифицируемого доступа к сети Интернет за счет оператора сотовой связи.

Подмена DNS на GGSN

Цель: подслушивание трафика жертвы, фишинг.

Вектор атаки: злоумышленник действует через Интернет.

В случае получения доступа к GGSN (что, как мы уже заметили, вполне возможно) можно подменить адрес DNS на свой, перенаправить весь абонентский трафик через свой узел и таким образом осуществить «подслушивание» всего мобильного трафика.

Результат: подслушивание или подмена трафика всех абонентов, сбор конфиденциальных данных, фишинг

Как защититься

Некоторые подобные атаки были бы невозможны при правильной настройке оборудования. Но результаты исследования Positive Technologies говорят о том, что некорректная настройка - отнюдь не редкость в мире телекоммуникационных компаний. Зачастую и производители устройств оставляют включенными некоторые сервисы, которые должны быть отключены на данном оборудовании, что дает нарушителям дополнительные возможности. В связи с большим количество узлов подобный контроль рекомендуется автоматизировать с использованием специализированных средств, таких как MaxPatrol.

В целом, необходимые для защиты от таких атак меры безопасности включают правильную настройку оборудования, использование межсетевых экранов на границах сети GRX и Интернета, использование рекомендаций 3GPP TS 33.210 для настройки безопасности внутри сети PS-Core, мониторинг защищенности периметра, а также выработку безопасных стандартов конфигурации оборудования и периодический контроль соответствия этим стандартам.

Ряд специалистов возлагают надежды на новые стандарты связи, которые включают и новые технологии безопасности. Однако, несмотря на появление таких стандартов (3G, 4G), совсем отказаться от сетей старого поколения (2G) не удастся. Причиной этого являются особенности реализации мобильных сетей, в частности то, что у базовых станций 2G лучше покрытие, а также то, что на их инфраструктуре работают и сети 3G. В стандарте LTE все так же используется протокол GTP, а поэтому необходимые меры по защите будут актуальными в обозримом будущем.

Результаты данного исследования было получены экспертами компании Positive Technologies в 2013 и 2014 годах в ходе консалтинговых работ по анализу защищенности нескольких крупных мобильных операторов. Полный текст отчета «Уязвимости мобильного Интернета (GPRS)» можно скачать на нашем сайте.

Идея написания этого материала родилась, как это в большинстве случаев и бывало, благодаря вопросам читателей и прочих знакомцев относительно технологий перехвата и анализа сетевого трафика. Вопросы эти условно делятся на 3 категории: можно ли в принципе осуществлять перехват и декодирование данных, перемещающихся по сети, каким образом и с помощью какого ПО это можно делать. Третья же группа вопросов отражает некоторую путаницу в терминологии, в частности возможны такие варианты: человек знает суть технологии, но не знает как это называется. Поэтому, когда речь заходит, скажем, о сниффере, он, потупив взор, отвечает, что не знает, что это такое. Не пора ли расставить точки над i в этом чрезвычайно важном как для начинающего, так и для продвинутого сетевика вопросе? Приступим...

теория

Для начала немного разберемся с терминологией.

Слово sniffer (дословно с английского это можно перевести как "нюхач" или "вынюхиватель") в самом общем смысле суть некое прослушивающее устройство, внедренное в сеть для перехвата передаваемых по ней данных. В более узком смысле сниффер - это ПО, взаимодействующее с (часто говорят "садящееся" пошел от является зарегистрированной торговой марки компании Network Associates, ссылающейся на продукт "Sniffer(r) Network Analyzer", однако впоследствии слово постигла та же участь, что и PC, xerox, kleenex - сниффер становится понятием нарицательным, обозначающим весь класс подобных продуктов.

В некоторой литературе и документации, а также в электронных словарях типа Lingvo, термин sniffer (network sniffer) отождествляется с такими понятиями, как "анализатор сетевого трафика", "анализатор пакетов", "анализатор протоколов", "сетевой анализатор". Однако позволю себе немного не согласиться с таким подходом.

Все-таки логичней было бы утверждать, что сниффинг - это совокупность мер по перехвату траффика. В рамках же конкретного продукта могут быть реализованы следующие вещи: захват пакетов (packet capturing). На этом этапе мы получаем некий сырой (mashine readable) дамп данных, обычно разделенный на куски по границам кадров (пакетов). И уж что мы с ним собираемся делать - наши проблемы. Но обычно, раз уж мы зачем-то запустили работать сниффер - нам интересно получить некий результат в human readable формате, для чего используется декодирование пакетов (decoding) или анализ протоколов;

Собственно, это процесс "разгребания" нашего дампа. Вот, к примеру, был у нас такой сырой материал.

Как вы могли заметить, состоит это дело из трех колонок: смещение каждой линии, данные в шестнадцатеричном формате и их ASCII-эквивалент. Этот пакет содержит 14-байтовый заголовок Ethernet, 20-байтовый IP-заголовок, 20-байтовый TCP-заголовок, заголовок HTTP, оканчивающийся двумя подряд CRLF (0D 0A 0D 0A), а дальше собственно данные прикладного уровня, в нашем случае - веб-трафик.

Иногда для получения нужных сведений достаточно и такого представления, но все-таки удобнее, чтобы пакет был декодирован и проанализирован на всех уровнях стека протоколов. Ведь правда, приятнее получить такую картинку?

ETHER: Destination address: 0000BA5EBA11 ETHER: Source address: 00A0C9B05EBD ETHER: Frame Length: 1514 (0x05EA) ETHER: Ethernet Type: 0x0800 (IP) IP: Version = 4 (0x4) IP: Header Length = 20 (0x14) IP: Service Type = 0 (0x0) IP: Precedence = Routine IP:...0.... = Normal Delay IP:....0... = Normal Throughput IP:.....0.. = Normal Reliability IP: Total Length = 1500 (0x5DC) IP: Identification = 7652 (0x1DE4) IP: Flags Summary = 2 (0x2) IP:.......0 = Last fragment in datagram IP:......1. = Cannot fragment datagram IP: Fragment Offset = 0 (0x0) bytes IP: Time to Live = 127 (0x7F) IP: Protocol = TCP — Transmission Control IP: Checksum = 0xC26D IP: Source Address = 10.0.0.2 IP: Destination Address = 10.0.1.201 TCP: Source Port = Hypertext Transfer Protocol TCP: Destination Port = 0x0775 TCP: Sequence Number = 97517760 (0x5D000C0) TCP: Acknowledgement Number = 78544373 (0x4AE7DF5) TCP: Data Offset = 20 (0x14) TCP: Reserved = 0 (0x0000) TCP: Flags = 0x10:.A.... TCP:..0..... = No urgent data TCP:...1.... = Acknowledgement field significant TCP:....0... = No Push function TCP:.....0.. = No Reset TCP:......0. = No Synchronize TCP:.......0 = No Fin TCP: Window = 28793 (0x7079) TCP: Checksum = 0x8F27 TCP: Urgent Pointer = 0 (0x0) HTTP: Response (to client using port 1909) HTTP: Protocol Version = HTTP/1.1 HTTP: Status Code = OK HTTP: Reason = OK ....

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

Виды снифферов и сниффинга

Все, что будет описано в этом абзаце, естественно, носит некоторый оттенок условности, поскольку официальную "Теорию сниффинга" еще никто в полном объеме не описал. Придется придумывать классификацию "на ходу";)

Итак, по "месторасположению" (если тут применим этот термин) сниффер может работать:

На маршрутизаторе (шлюзе)

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

На оконечном узле сети

Применительно к Ethernet мы будем иметь два основных возможных варианта прослушки. Классический, некоммутируемый Ethernet предполагает, что каждый сетевой интерфейс в принципе "слышит" весть траффик своего сегмента. Однако в нормальном режиме работы сетевой карты, прочитав первые 48 бит заголовка фрейма, станция сравнивает свой МАС-адрес с адресом получателя, указанном в фрейме. Если адрес чужой, станция "стыдливо закрывает уши", то бишь перестает читать чужой фрейм. Таким образом в нормальном режиме вы можете перехватывать и анализировать только свой траффик. Для перехвата пакетов всех станций сегмента требуется перевести вашу сетевую карту в режим под названием promiscuous mode, чтобы она "бесстыдно" продолжала читать не предназначенные ей пакеты. Практически все реализации снифферов позволяют переход карты в promiscuous mode.

Примечание: использование коммутируемого Ethernet создает ситуацию, когда даже переход карты в promiscuous mode делает прослушивание не предназначенного вашей станции трафика практически невозможным. Однако существует технология организации такого прослушивания путем так называемого ARP-спуфинга. Суть в следующем: коммутатор создает так называемый "broadcast domain", и хост с установленным сниффером с помощью подделки ARP-сообщений может притвориться, например, пограничным маршрутизатором (рассылая постоянно АRP-сообщения, где сетевому адресу маршрутизатора соответствует MAC-адрес прослушивающей станции). Таким образом трафик соседей насильственно завернется в сторону "шпиена".

В остальном же снифферы могут отличаются друг от друга главным образом функциональными возможностями, как то:

Поддерживаемые физические интерфейсы и протоколы канального уровня;

Качество декодирования и количество "узнаваемых" протоколов;

Пользовательский интерфейс и удобство отображения;

Дополнительные фичи: статистика, просмотр в реальном времени, генерирование или модификация пакетов и другое...

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

Зачем нам нужен сниффер?

Традиционно идея сниффинга жила как бы в двух ипостасях: легальное и нелегальное применение. Что характерно, слово "сниффер" чаще применяется в нелегальной сфере, а "сетевой анализатор" - в легальной. Начнем, пожалуй, с легального применения;)

Troubleshooting (обнаружение проблем и узких мест сети). В расширенном режиме, когда сниффер работает в некоммутируемом сегменте или на шлюзе, мы можем получить практически полную картину событий, происходящих в нашей сети: интенсивность трафика по времени, по рабочим станциям, по протоколам, количество ошибок разных типов. Кроме того, в обоих режимах, мы можем "разгребать" более специфические проблемы, когда, скажем, у конкретной станции ни в какую не получается организовать некое взаимодействие по сети, и это при том, что внешне сеть выглядит вполне работоспособной. Особенно полезен сниффер в случаях, когда сетевое ПО плохо документировано или использует свои закрытые (недокументированные), зачастую подозрительные технологии (протоколы).

Например: ICQ, Europe Online. Под подозрительными технологиями/ПО следует понимать ситуации, когда вы предполагаете наличие в программе закладки или иной недокументированной функциональности. Например, ходили слухи, что клиентская часть знаменитого cDc Back Orifice также является троянской лошадкой и посылает некие сведения хозяевам - авторам ПО. Установка BO Client "на прослушивание" показала, что слухи не соответствуют действительности.

Не менее полезен сниффер для отладки вашего собственного ПО. Никогда не забуду момент, когда прокси-сервер не желал устанавливать соединение, если GET-запрос оканчивался на \n\n вместо требуемого \r\n\r\n. Только исследование пакетов, отправляемых "законопослушным" браузером и сравнение их с пакетами, отправляемыми моим "выскочкой"-скриптом, указало мне на досадную ошибку. Очень и очень часто в повседневной админской практике мне приходится сталкиваться и с анализом на уровне TCP/UDP.

Обучение. Можно довестись до полуобморочного состояния, зазубривая форматы заголовков пакетов различных протоколов и методы взаимодействия (скажем, 3-way TCP handshake, DNS, прикладные методы плана traceroute), но эти знания будут мертвыми, пока вы не попытаетесь "потрогать это руками" - написав однажды программу либо... заглянув в сниффер! Попробуйте после прочтения документации на неизвестный или плохо понятный вам протокол, смоделировать взаимодействие, перехватить пакеты и проанализировать их - уверяю вас, все станет чрезвычайно понятно и более того, это знание более реально и надолго отложится в голове. В случае же с закрытыми технологиями, сниффер может оказаться чуть ли не единственным средством для их изучения.

Протоколирование сетевого трафика. Можно много дискутировать на тему правомерности и этичности протоколирования администратором трафика пользователей для дальнейшего просмотра, но факт остается фактом - многие организации включают в политику безопасности эту технологию. Мое личное мнение - хозяин барин, то бишь если компания обеспечивает своих сотрудников оборудованием, подключением к локальным и глобальным сетям, она вправе требовать надлежащего использования этих ресурсов. Вторая важная причина для протоколирования трафика - обнаружение попыток несанкционированного доступа и других зловредностей - DoS-атак например. Имея такие логи администратор с 100-процентной точностью может знать, что происходит в его сетевых владениях.

Теперь поговорим о нелегальной стороне сниффинга. Ну, во-первых, это банальное

Подслушивание. Грамотно установив сниффер вы можете шпионить за ближними своими и удаленными - врагами, приятелями, супругами;) Вас могут заинтересовать такие вопросы: для чего человек использует сеть, какие веб-ресурсы он посещает, какие данные передает, с кем и о чем общается? Да простят меня органы государственной безопасности, но пресловутый СОРМ, правомерность которого в виде тотального протоколирования трафика суть баааальшой вопрос, я отношу пока именно в этот раздел, хотя он мог бы оказаться и в последнем абзаце "легального сниффинга";)

Более меркантильное подслушивание. Однако значительная часть "хакерского" сообщества не разменивает свои таланты на слежку за неверными супругами и прочую бытовуху. Чаще всего злоумышленника интересует некий материал, с помощью которого можно продвинуться в нелегком деле вламывания в чужие системы и сети. Как вы могли догадаться, речь идет, главным образом, о перехвате имен пользователей и паролей, проходящих по сети в незашифрованном (plain text) виде. В частности, это касается паролей к telnet, POP, IMAP, NNTP, IRC, к веб-приложениям, не использующим шифрование, SNMP v1 community-strings и т.п.

Реализации

Теперь, более-менее разобравшись с теоретической частью, вернемся на грешную землю - поговорим о конкретных реализациях снифферов под различные платформы. На самом деле такого софта очень много, разбежка в функциональных возможностях и ценнике (особенно в последнем) - колоссальная. Составитель "Sniffing (network wiretap, sniffer) FAQ" Robert Graham рекомендует попробовать следующие продукты:

WinNT Server
Microsoft"овский WinNT Server поставляется со встроенной программой под названием "Network Monitor". Зайдите в панель управления сетью, выберите "Services", нажмите "Add..." и выберите "Network Monitor Tools and Agent". После установки программа будет доступна в старт-меню в разделе "Administrative Tools".

На самом деле BlackICE является системой обнаружения вторжений (IDS, Intrusion Detection System), но одна из функций ее - писать сырые дампы пакетов в форме, приемлемой для расшифровки анализаторами протоколов. Одно но: программа просматривает только трафик, проходящий через локальные интерфейсы хоста, на котором работает, то бишь является non-promiscuous. Скачать прогу можно на сайте

Эта программа, наоборот, может только анализировать пакеты, записанные сниффером вроде BlackICE Pro.

Бесплатный анализатор протоколов.

Естественно, этот список далеко не полный, вы можете залезть на любую поисковую систему или в коллекцию софта для даунлоада и найти что-нибудь подходящее слева на боковом меню. Более того, в обзоре не упомянут самый, на мой взгляд, выдающийся продукт такого рода для Win32 - NetXRay, нынче переименованный в Sniffer Basic. О нем мы поговорим чуть попозже.

Snort
Базирующийся на libpcap сниффер с расширенными возможностями фильтрации.

Опять же, список далек от совершенства, можете поискать что-нибудь еще. Друго дело, что в *NIX-сообществе особо не принято "распыляться" - есть проверенные временем, постоянно совершенствующиеся продукты-лидеры, и большинство предпочитает именно их, даже не пытаясь искать альтернативу. Абсолютные лидеры тут - tcpdump и sniffit.

Tcpdump & WinDump

(by Ghost//Necrosoft)

Как было сказано выше, TcpDump - наиболее часто используемый сниффер под *nix системы. Вы можете найти его в любом из последних дистрибутивов той операционки, которую вы используете. Описывать tcpdump лучше всего, просто перечислив все его опции командной строки - таким образом вы получаете перечисление его возможностей и прямое руководство к действию - "в одном флаконе".

WinDump - порт TcpDump с *nix систем, выполняет те же самые функции и имеет такой же синтаксис, что и TcpDump, но имеет пару дополнительных опций командной строки, о которых будет рассказано ниже.

Небольшая аннотация к использованию TcpDump под различными системами. Под SunOS с использованием устройств nit или bpf: для запуска tcpdump вы должны иметь доступ на чтение к /dev/nit или /dev/bpf*. Под Solaris с dlpi вы должны иметь доступ к псевдосетевым адаптерам, таким как /dev/le. Под HP-UX с dlpi: вы должны быть root"ом или на tcpdump должен быть установлен uid на root. Под IRIX с snoop и Linux: требования, аналогичные HP-UX. Под Ultrix и Digital UNIX: только суперюзеру доступны promiscuous-mode операции, используя pfconfig(8) можно получить право на запуск tcpdump. Под BSD: вы должны иметь доступ к /dev/bpf*. Под Win32: вы должны установить NDIS packet capture driver.

А теперь подробно разберем опции командной строки.

TcpDump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ expression ]. Специфические опции Windump [-D] [ -B size ].

-a разрешает конвертировать сетевые и широковещательные адреса в имена.

-c выход после обработки count пакетов.

-d выводит содержимое пакета в удобочитаемом виде.

-dd выводит содержимое пакета как фрагмент Си-программы.

-ddd выводит содержимое пакета в десятичном виде.

-e выводит заголовки канального уровня в каждой новой строке.

-f выводит адреса удаленных и локального хостов без преобразования в имена.

-F использовать file с описанием параметров фильтрации (дополнительные выражения в командной строке игнорируются).

-i использовать интерфейс interface для трассировки. Если не определен, tcpdump находит активный сетевой интерфейс с наименьшим номером (исключая loopback). В Windows interface — имя сетевого адаптера или его номер (можно узнать, запустив WinDump —D).

-l использует буферизированный вывод на stdout. Полезным может оказаться конструкция вида "tcpdump -l | tee dat"" or "tcpdump -l > dat & tail -f dat"".

-n не преобразовывать адреса (т.e. адрес хоста, номер порта и т.д.) в имена.

-N не печатать доменное имя в имени хоста. Т.е. если использован данный флаг, tcpdump напечатает "nic"" вместо "nic.ddn.mil"".

-O не запускать оптимизатор пакетов. Эта опция полезна, если вы сами разгребаете пакеты.

-p не переводить сетевой интерфейс в "promiscuous mode".

-q сокращенный вывод. Выводит информацию в сокращенном виде.

-r читает пакеты из файла file (которые созданы при помощи опции -w). Если вы хотите использовать в качестве ввода консоль, то file это "-"".

-s выдает snaplen байт каждого пакета (в SunOS"овсоком NIT минимальное количество 96). 68 байт достаточно для протоколов IP, ICMP, TCP и UDP, однако обрезает информацию с более высоких уровней, скажем, DNS и NFS пакетов.

-T принудительная интерпретация пакетов по типу type соответствующих маске "expression". На данный момент известны следующие типы: rpc (Remote Procedure Call), rtp(Real-Time Applications protocol), rtcp (Real-Time Applications control protocol), vat (Visual Audio Tool), и wb (distributed White Board).

-S выводит абсолютный номер TCP-пакета.

-t не выводит время в каждой строке.

-tt выводит неформатированное время в каждой строке.

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

-vv более детальный вывод. К примеру, вывод дополнительных полей NFS reply packets.

-w записывает raw-пакеты в file, которые вы сможете в дальнейшем расшифровать с использованием опции —r. Если вы хотите использовать в качестве вывода консоль, то fileэто "-"".

-x выводит каждый пакет в шестнадцатеричном виде (без заголовка). На вывод будет отправлено snaplen байт.

Дополнительные опции WinDump:

-B устанавливает размер буфера драйвера size в килобайтах. По умолчанию размер буфера 1 мегабайт. Если в процессе работы некоторые пакеты не отображаются, попробуйте увеличить размер буфера. Если у вас РРР-соединение или 10 Мбит Ethernet, то размер буфера можно уменьшить вдвое или втрое.

-D выводит список сетевых устройств, которые присутствуют в вашей системе. Список имеет вид: number — номер сетевого устройства в системе, name — его имя, а за ними следует описание устройства. В последствии вы сможете использовать эти данные для того, чтобы работать со всеми имеющимися сетевыми интерфейсами вашей системы, которые доступны в данный момент. А выбрать устройство можно будет при помощи опции —I — "WinDump —i name" или "WinDump —i number".

expression — собственно, выражение, которое задает критерий фильтрации пакетов. Если поле expression отсутствует, то выводятся все пакеты. В противном случае выводятся только те пакеты, которые соответствуют маске expression.

expression может состоять из одного или более примитивов. Примитивы часто состоят из id (имя или номер) определителя. Существует три ключевых типа определителей:

type — определитель, задающий общую политику. Возможные типы — host, net и port. Т.е. "host foo", "net 128.3", "port 20". Если type не указан, то по умолчанию используетсяhost.

dir — определитель, указывающий направление передачи пакетов. Возможные варианты src, dst, src or dst и src and dst. Т.е "src foo", "dst net 128.3", "src or dst port ftp-data". Если dir не указан, то по умолчанию используется src or dst. Для "null" соединений (это ppp или slip) используется inbound и outbound определитель для указания желаемого направления.

proto — определитель позволяет фильтровать пакеты по конкретному протоколу. Возможные протоколы: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp и udp. Т.е. "ether src foo", "arp net 128.3", "tcp port 21". Если определитель отсутствует, то никакие пакеты не фильтруются. ("fddi" фактически является алиасом для "ether", т.к. в большинстве случаев FDDI-пакеты содержат Ethernet-адрес отправителя и получателя и часто содержат Ethernet-типы пакетов. FDDI-заголовки также содержат другие поля, которых нет в списке фильтров.)

В дополнение к вышесказанному, некоторые специальные примитивы не имеют шаблонов, это: gateway, broadcast, less, greater и арифметические выражения. Об этом чуть далее.

Множество составных выражений фильтров используют слова and, or и not для объединения примитивов. К примеру "host foo and not port ftp and not port ftp-data". Для упрощения ввода некоторые определители могут быть опущены. К примеру, "tcp dst port ftp or ftp-data or domain" — то же самое, что и "tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain".

Допускаются следующие выражения:

dst host host верно, если поле IP destination пакета — host, может быть адрес или имя хоста.

src host host верно, если поле IP source пакета — host.

host host верно, если source или destination пакета — host. Также могут употребляться префиксы: ip, arp, или rarp как: ip host host что эквивалентно ether proto \ip and hosthost. Если host — имя с несколькими IP-адресами, каждый адрес проверяется на соответствие.

ether dst ehost Верно, если Ethernet-адрес получателя — ehost. Ehost — любое из имен /etc/ethers или номер (см. ethers(3N).

ether src ehost верно, если Ethernet-адрес отправителя — ehost.

ether host ehost верно, если Ethernet-адреса получателя или отправителя — ehost.

gateway host верно, если host — gateway. Т.е. Ethernet-адрес отправителя или получателя — host, но ни IP отправителя, ни IP получателя не являются host. Host может быть именем, а также может находиться в /etc/hosts и /etc/ethers. (Что равносильно ether host ehost and not host host, который может использоваться с любым именем или номером для host / ehost.)

dst net net верно, если IP получателя имеет адрес — net. Net — любая запись из /etc/networks или адрес сети.

src net net верно, если IP отправителя имеет адрес — net.

net net Верно, если IP получателя или отправителя имеют адрес сети — net.

net net mask mask Верно, если IP-адрес совпадает с net c соответствующей netmask. Может быть определен совместно с src или dst.

net net/len верно, если IP равно net, a маска подсети — len в битовом виде (CIDR-формат). Может быть определен совместно с src или dst.

dst port port верно, если пакет ip/tcp или ip/udp и имеет порт получателя — port. port может быть числом или присутствовать в /etc/services (см tcp(4P) и udp(4P)). Если имя используется для двух или более портов, то проверяются оба номера порта и протоколы. Если используются недопустимые номер порта или имя, то проверяются только номера портов (т.е. dst port 513 выводит трафик tcp/login и udp/who, и port domain выводит tcp/domain и udp/domain).

src port port верно, если порт отправителя — port.

port port верно, если порт отправителя или получателя — port. Некоторые выражения можно комбинировать, к примеру: tcp src port port — только tcp-пакеты у которых порт —port.

less length верно, если длина пакета меньше или равна length, что равносильно len <= length.

greater length верно, если длина пакета больше или равна length, что равносильно len >= length.

ip proto protocol верно, если пакет является IP пакетом с протоколом protocol. Protocol может иметь номер или одно из имен icmp, igrp, udp, nd, или tcp.

ether broadcast верно, если пакет — широковещательный Ethernet-пакет. Выражение ether является необязательным.

ip broadcast верно, если пакет — широковещательный IP-пакет.

ether multicast верно, если пакет — Еthernet multicast-пакет. Выражение ether является необязательным. Это сокращенная запись для "ether & 1!= 0".

ip multicast верно, если пакет — IP-multicast пакет.

ether proto protocol верно, если пакет типа Ethernet. Protocol может быть число или имя: ip, arp, или rarp.

decnet src host верно, если DECNET-адрес получателя — host, который может быть адресом типа "10.123"", или DECNET-имя хоста. (DECNET имя хоста поддерживается только в Ultrix системах).

decnet dst host Верно, если DECNET-адрес получателя — host.

decnet host host Верно, если DECNET-адрес получателя или отправителя — host.

proto [ expr: size ]

Proto один из следующих протоколов ether, fddi, ip, arp, rarp, tcp, udp, или icmp, и показывает уровень протокола для данной операции. Смещение в байтах для данного уровня протокола берется из expr. Size — необязательное, показывает интерeсующее количество байт по данному смещению, может быть 1,2 или 4, по умолчанию 1.

Примеры использования tcpdump

Выдача всех вохдящих и исходящих пакетов от sundown: tcpdump host sundown

Выдача трафика между helios и одним из двух hot или ace: tcpdump host helios and \(hot or ace \)

Выдача всех пракетов между ace и другими хостами, исключая helios: tcpdump ip host ace and not helios

Выдача трафика между локальной машиной и машиной, находящейся в Berkeley: tcpdump net ucb-ether

Выдача ftp трафика через шлюз snup: tcpdump "gateway snup and (port ftp or ftp-data)"

Выдача трафика не принадлежащего машинам в локальной сети (если ваша машина — шлюз в другую сеть, tcpdump не сможет выдать трафик вашей локальной сети). tcpdump ip and not net localnet

Выдача старовых и стоп пакетов (SYN и FIN пакеты), которые не принадлежат локальной сети. tcpdump "tcp & 3!= 0 and not src and dst net localnet"

Выдача IP пакетов длиной более 576 байт, переданных через шлюз snup: tcpdump "gateway snup and ip > 576"

Выдача IP broadcast или multicast пакетов, которые не посылаются через Ethernet broadcast или multicast: tcpdump "ether & 1 = 0 and ip >= 224"

Выдача всех ICMP пакетов, которые не являются эхо запросами/ответами (т.е, не ping пакеты): tcpdump "icmp!= 8 and icmp!= 0"

NetXRay

By Alice D. Saemon

Та, которую люблю...

Long long time ago... NetXRay был первым сниффером, попавшим в поле моего зрения. Тогда, в 1997 году эта английская программа произвела фурор в кругах windows-ориентированных сетевиков. Прошли годы, но старенькая версия NetXRay (3.0.1) все еще в строю, в ежедневной работе на моей рабочей станции. На сегодняшний день продукт переименован в Sniffer Basic, добавлены некоторые новые возможности, но, с большего, основная функциональность осталась неизменной со времен 3.0.1. Это первая причина, почему в газете будет описан именно NetXRay 3.0.1. Вторая причина... (озираясь на анти-пиратскую полицию) - продукт очень дорогой (1643 фунтов, которые стерлингов), и trial"ные ограничения очень серьезные. Итак, приступим.

Пакет состоит из набора разных функций и действительно может называться скорее сетевым анализатором, нежели сниффером. Все возможности (модули) сгруппированы в меню "Tools", там же находятся и различные установки. С них и начнем. Вы можете выбрать адаптер, для которого проводится текущее тестирование (probe). Адаптер должен поддерживать стандарт NDIS 3.0/3.1.

Внимание, баг! Если вы "натравливаете" NetXRay на "неправильный" по его мнению адаптер или захватываете пакеты, которые он не может декодировать на канальном-сетевом уровне (например, трафик эксплойтов, посылающих криво фрагментированные пакеты) - на стадии декодирования (анализа протоколов) программа зависает намертво.

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

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

Ну вот, теперь приступаем к функциональным модулям пакета.

capture (захват пакетов)

Сердце NetXRay, собственно то, что в народном понимании есть сниффер. Поэтому позволю себе описать его наиболее подробно.

При активизации этого модуля пред нами возникает маленькое окошечко с "приборной панелью" и парой кнопок. Все действия, которые мы можем выполнять в этом окне, продублированы в меню Capture. А делать мы можем вот что: начать захват пакетов, остановить, остановить+просмотреть содержимое буфера и просто просмотреть содержимое буфера, при условии что захват был остановлен. Там же мы можем осуществить тонкую настройку фильтров:

По адресам отправителя и получателя. Для облегчения сей задачи существует адресная книга и некоторый набор предустановленных адресов, например "Any".

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

По известным программе протоколам. Это:

Сетевые: AppleTalk, AppleTalk ARP, APOLLO, DECNET, IP, IP ARP, IPX, LAT, NetBEUI, OSI, SNA, VINES, VINES Loopback, VINES Echo, XNS

Выше в стеке IP: транспортные, служебные и маршрутизации - ICMP, IGMP, GGP, EGP, IGP, ISO-TP4, HELLO, IP-VINES, IGRP, OSPF, TCP, UDP; прикладного уровня - FTP, REXEC, RLOGIN, RSH, PRINTER, SMTP, TELNET, DNS(TCP), GOPHER, HTTP, POP, SUNRPC(TCP), NNTP, NETBIOS, X-WINDOW, DNS(UDP), BOOTP, TFTP, SUNRPC(UDP), SNMP, SNMPTRAP, BIFF, WHO, SYSLOG, RIP, GDP, NFS.

Выше в стеке IPX: NCP, SAP, NRIP, NBIOS, DIAGNOSTIC, SERIALIZATION, NMPI, NLSP, NSNMP, NSNMPTRAP, SPX.

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

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

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

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

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

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

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

Правда а) визуально это выглядит ужасно б) включается эта опция в таком нелогичном месте, что даже такой старый NetXRay-юзер как я забывает где же эта "птичка". Птичка устанавливается в меню Tools | Options... закладка General, чекбокс Realtime Display, а не в настройках Capture, где ее логично было бы искать;-/

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

packet generator

Вот уж поистине замечательная штука: можно с нуля "набросать" и отправить в сеть абсолютно любой пакет. Интерфейс состоит из главного окна и так называемого конструктора пакетов, разделенного на две секции - Configure и Decode.

В первой мы имеем портрет стандартного дампа (см. теоретическую часть статьи), забитый нулями. Начинаем вписывать туда шестнадцатеричные числа - в секции декодирования, которая выглядит точь в точь как расшифрованный пакет в "окне результатов" Capture, появляется анализ нашего пакета.

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

Примечание по интерфейсу: если опция "послать текущий пакет" вызывается из "окна результатов" Capture, пакет отправляется сразу без вызова конструктора пакетов, правда, остается в текущем "буфере на отправку", и впоследствии его можно там подкорректировать.

Если "послать текущий пакет" вызывается из окна Packet Generator"а - автоматически вызывается конструктор пакетов. Будьте внимательны!

В конструкторе пакетов в секции Decode программа будет давать вам некоторые подсказки, в частности, высчитывать новую контрольную сумму при модификации пакета (она бы еще сама вносила соответствующие изменения, ленивое создание;). Однако AI оно тем и отличается от разума человеческого, что думать как следует не умеет. Поэтому когда, например, вы меняете IP-адрес получателя, подумайте, не следует ли заодно поменять его MAC-адрес?;)

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

Всякая всячина

Кроме вышеописанного программа содержит массу других полезных и не очень (как кому;) наворотов. О них кратко:

Dashboard. Статистика загруженности сети, точнее той ее части, которая вам видна. Количество пакетов, байт, ошибок всех типов, расчет утилизации. Меня всегда смущала эта фича, поскольку никогда в жизни я не видела сообщений об ошибках - ну быть не может такого чтоб их не было!;)

Host Table. Отлавливает различные сведения о видимых снифферу хостах и их деятельности (без полного захвата и анализа пакетов)

Matrix. Практически то же самое, что и Host Table, но представленное немного в другом формате.

History. Чертит графики и диаграммы по поведению сети в определенный промежуток времени.

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

Statistics. Статистика по утилизации и размерам кадров.

Alarm log. Журнал учета определенных вами событий.

Ну вот вкратце и все. (ничего себе "вкратце получилось %-()) Скачивайте и тестируйте на здоровье - себе в радость и врагам назло:)

Заключение

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

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

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

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

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

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

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

Классификация и способы перехвата данных по сети

Перехват информации по сети можно разделить на два вида:

  • санкционированный
  • несанкционированный

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

Существуют международные стандарты выполнения перехвата данных. Европейский институт телекоммуникационных стандартов сумел привести к единой норме ряд технических процессов (ETSI ES 201 158 «Telecommunications security; Lawful Interception (LI); Requirements for network functions»), на которых базируется перехват информации. В результате была разработана системная архитектура, которая помогает специалистам секретных служб, сетевым администраторам законно завладеть данными из сети. Разработанная структура реализации перехвата данных по сети применяется для проводной/беспроводной системы вызова голосом, а также к переписке по почте, передаче голосовых сообщений по IP, обмену информацией по SMS.

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

  • Прослушиванием интерфейса сети
  • Подключением устройства перехвата в разрыв канала
  • Созданием ветки трафика и ее дублирование на сниффер
  • Путем проведения атаки

Существуют и более сложные технологии перехвата важных сведений, позволяющие вторгаться в сетевое взаимодействие и изменять данные. Одна из таких технологий – это ложные запросы ARP. Суть способа состоит в подмене IP-адресов между компьютером жертвы и своим IP-адресом. Еще один метод с помощью которого можно выполнить перехват данных по сети – ложная маршрутизация. Он заключается в подмене IP-адреса маршрутизатора сети свои адресом. Если мошенник знает, как организована локальная сеть, в которой находится жертва, то сможет легко организовать получение информации с машины пользователя на свой IP-адрес. Захват TCP-соединения тоже служит действенным способом перехвата данных. Злоумышленник прерывает сеанс связи путем генерации и отправки на компьютер жертвы ТСР-пакетов. Далее сеанс связи восстанавливается, перехватывается и продолжается преступником вместо клиента.

Объект воздействия

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

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

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

Источник угрозы

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

Незаконным перехватом данных занимаются злоумышленники. Чтобы не стать жертвой киберпреступника, нужно соблюдать некоторые рекомендации специалистов. Например, не стоит выполнять операции, требующие авторизации и передачи важных данных, в местах, где подключение происходит к общедоступным сетям. Безопаснее выбирать сети с шифрованием, а еще лучше – использовать личные 3G- LTE-модемы. При передаче личные данные советуют зашифровать, используя протокол HTTPS или личный VPN-туннель.

Защитить компьютер от перехвата сетевого трафика можно с помощью криптографии, антиснифферов; снизит риски коммутируемый, а не беспроводной доступ к сети.

Обеденный перерыв в офисе или просто час-другой свободного времени… Бизнес-ланч на скорую руку в кафе является обыденностью для делового человека, как и многочасовые посиделки студентов (после пар) за чаем или пивом. Впрочем, главный атрибут современного заведения общественного питания – это не вышколенный персонал и не изысканная кухня, а наличие беспроводной сети с бесплатным доступом в интернет. Просмотреть уведомления в социальных сетях, отправить почту, совершить покупку в интернет-магазине или осуществить срочный платёж можно с мобильного устройства (смартфона или ноутбука) непосредственно в кафе… Правда, удобно? Но едва ли это безопасно!

Снифферинг – что это такое?

Анализатор проходящего трафика сети, или «сниффер» (от английского слова to sniff – «нюхать») – компьютерная программа для перенаправления (перехвата) пакетных данных с возможностью их декодирования и анализа. Снифферинг (перехват данных) особенно популярен в людных местах (в ресторанах, на вокзалах, в торговых центрах и просто на улице). Везде, где есть общедоступная сеть вайфай, ничего не подозревающий пользователь интернета может стать жертвой злоумышленника. С виду мошенник может быть таким же беззаботным посетителем кафе, внимание которого приковано к экрану личного ноутбука.

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

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

  • «Прослушивание» сети, подключившись к сетевому интерфейсу (свободному порту хаба или коммутатора). Данный метод будет эффективен лишь при использовании в сегменте сети обычных хабов (концентраторов) вместо коммутаторов (свитчей). Дело в том, что хаб – это обычный разветвитель, через каждый порт которого проходят все пакеты, а коммутаторы – интеллектуальные устройства, где поток данных может быть разделён на различные каналы, поэтому общую картину передаваемых данных в них, при подключению к одному порту, не получить;
  • Подключение сниффера в разрыв сетевого канала;
  • Ответвление (программное или аппаратное) сетевого трафика с направлением его копии на сниффер (Network tap);
  • Анализ побочных электромагнитных излучений и восстановление прослушиваемого трафика;
  • Атака на канальном (MAC-spoofing) или сетевом уровне (IP-spoofing), приводящую к незаметному перенаправлению трафика жертвы или всего трафика сегмента на сниффер с последующим возвращением трафика в надлежащий адрес.

Перехват данных через Wi-Fi. Как обезопасить себя?

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

А через общедоступные высокоскоростные интернет-соединения wifi можно разве что просматривать видеоматериалы YouTube, играть в онлайн-игры, скачивать музыку и фильмы…

В любом случае отдавайте предпочтение вайфай-сетям с шифрованием и при возможности используйте VPN соединение с шифрованием. Для справки. VPN (от англ. Virtual Private Network – виртуальная частная сеть) - это набор технологий, который позволяет создавать отдельные защищенные сети поверх (или внутри) уже существующих.

Также обращайте внимание на тип соединения при заходе в вашу почту, интернет-банк или аккаунт в социальной сети. Соединение должно быть зашифровано протоколом SSL (Secure Sockets Layer)! При его подключении префикс веб-адреса меняется с http на https, и в правом углу браузерной строки с адресом можно увидеть зелёный замок. Этот протокол не считается абсолютно надёжным, но в подавляющем большинстве случаев он защитит вас от хакеров.

В итоге, возвращаясь ещё раз к вышесказанному по тексту, можно сделать единственный вывод: следует избегать операций финансового характера в интернете, если передача данных осуществляется в условиях общедоступной сети. Безопасность и неприкосновенность данных – забота преимущественно самого пользователя. Только в этом случае снифферинг (перехват данных) вам абсолютно не грозит!

Intercepter – это многофункциональный сетевой инструмент, который позволяет получить данные из трафика (пароли, сообщения в мессенджерах, переписки и т.д.) и реализовать различные MiTM-атаки.

Интерфейс программы Intercepter
Основной функционал

  • Перехват сообщений мессенджеров.
  • Перехват кукис файлов и паролей.
  • Перехват активности (страницы, файлы, данные).
  • Возможность подмены скачивания файлов, добавляя вредоносные файлы. Можно использовать совместно с другими утилитами.
  • Подмена сертификатов Https на Http.
Режимы работы
Messengers Mode – позволяет проверять переписку, которая была отправлена в незашифрованном виде. Применялась для перехвата сообщений в таких мессенджерах ICQ, AIM, JABBER сообщений.

Ressurection Mode – восстановления полезных данных из трафика, из протоколов которые передают трафик в открытом виде. Когда жертва просматривает файлы, страницы, данные, можно частично или полностью их перехватывать. Дополнительно можно указать размер файлов, чтобы не загружать программу маленькими частями. Эту информацию можно использовать для анализа.

Password Mode – режим для работы с куки файлами. Таким образом, можно получить доступы к посещаемым файлам жертвы.

Scan mode – основной режим для тестирования. Для начала сканирования необходимо нажать правой кнопкой мыши Smart Scan. После сканирования в окне будут отображаться все участники сети, их операционная система и другие параметры.

Дополнительно в этом режиме можно просканировать порты. Необходимо воспользоваться функцией Scan Ports. Конечно для этого есть и намного функциональные утилиты, но наличие этой функции – важный момент.

Если в сети нас интересует целенаправленная атака, то после сканирования необходимо добавить целевой IP в Nat с помощью команды (Add to Nat). В другом окне можно будет провести другие атаки.

Nat Mode. Основной режим, который позволяет проводить ряд атак по ARP. Это основное окно, которое позволяет проводить целенаправленные атаки.

DHCP mode. Это режим, который позволяет поднять свой DHCP сервер для реализации атак DHCP по середине.

Некоторые виды атак, которые можно проводить
Подмена сайта

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

Подмена сайта

Пример для VK.com

Выбираем MiTM атаку

Изменяем правило для иньекции
В результате жертва открывает фейковый сайт при запросе vk.com. И в режиме паролей должен быть логин и пароль жертвы:

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

Добавления MiTm атаки
Теперь можно в режиме Ressurection Mode восстановить разные данные из трафика.

Файлы и информация жертвы посредством MiTm атаки
Подмена трафика

Указание настроек
После этого у жертвы будет меняться запрос "trust" на "loser".

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

Уничтожение кукис файлов

Как увидеть потенциального сниферра в сети с помощью Intercepter?

С помощью опции Promisc Detection можно обнаружить устройство, которое ведет сканирование в локальной сети. После сканирование в графе status будет «Sniffer». Это первый способ, которые позволяет определить сканирование в локальной сети.

Обнаружение Sniffer
Устройство SDR HackRF


HackRF
SDR - это своеобразный радиоприемник, который позволяет работать с разными радиочастотными параметрами. Таким образом, можно перехватывать сигнал Wi-Fi, GSM, LTE и т.д.

HackRF - это полноценное SDR-устройство за 300 долларов. Автор проекта Майкл Оссман разрабатывает успешные устройства в этом направлении. Ранее был разработан и успешно реализован Bluetooth-снифер Ubertooth. HackRF успешный проект, который собрал более 600 тысяч на Kickstarter. Уже было реализовано 500 таких устройств для бета-тестирования.

HackRF работает в диапазоне частот от 30 МГц до 6 ГГц. Частота дискретизации составляет 20 МГц, что позволяет перехватывать сигналы Wi-FI и LTE сетей.

Как обезопасить себя на локальном уровне?

Для начала воспользуемся софтом SoftPerfect WiFi Guard. Есть портативная версия, которая занимает не более 4 мб. Она позволяет сканировать вашу сеть и отображать, какие устройства в ней отображены. В ней есть настройки, которые позволяют выбрать сетевую карту и максимальное количество сканируемых устройств. Дополнительно можно выставить интервал сканирования.


Интерфейс программы SoftPerfect WiFi Guard
После сканирования программа присылает уведомления, сколько есть неизвестный устройств. Это позволяет нам добавлять и отмечать доверенных пользователей и заметить, если кто-то подключился и начинает прослушивать трафик. Уведомления будут приходить после каждого интервала сканирования. Это позволяет отключить определенного мошенника на уроне роутера, если есть подозрительные действия.


Настройки программы SoftPerfect WiFi Guard


Возможность добавления комментариев для пользователей


Окно уведомления незнакомых девайсов после каждого заданного интервала сканирования

Заключение
Таким образом, мы рассмотрели на практике, как использовать программное обеспечение для перехвата данных внутри сети. Рассмотрели несколько конкретных атак, которые позволяют получить данные для входа, а также другую информацию. Дополнительно рассмотрели SoftPerfect WiFi Guard, которые позволяет на примитивном уровне защитить локальную сеть от прослушивания трафика.



Рекомендуем почитать

Наверх