В этой статье мы рассмотрим создание простого сниффера под ОС Windows.
Кому интересно, добро пожаловать под кат.
Надеюсь, Вам будет интересно.
Для чего это может понадобиться:
Как так? Очень просто.
Ключевым шагом в превращении простого сетевого приложения в сетевой анализатор является переключение сетевого интерфейса в режим прослушивания (promiscuous mode), что и позволит ему получать пакеты, адресованные другим интерфейсам в сети. Этот режим заставляют сетевую плату принимать все кадры, вне зависимости от того, кому они адресованы в сети.
Начиная с Windows 2000 (NT 5.0) создать программу для прослушивания сегмента сети стало очень просто, т.к. ее сетевой драйвер позволяет перевести сокет в режим приёма всех пакетов.
Идем дальше. Известно, что IP-пакет состоит из заголовка, служебной информации и, собственно, данных. Советую заглянуть сюда , чтобы освежит знания. Опишем в виде структуры IP-заголовок (спасибо отличной статье на RSDN ):
В принципе, можно пойти дальше, и описать заголовки всех последующих протоколов, находящихся выше. Для этого необходимо анализировать поле protocol в структуре IPHeader . Посмотрите на пример кода (да, там должен быть switch, чёрт возьми!), где происходит раскрашивание заголовка в зависимости от того, какой протокол имеет пакет, инкапсулированный в IP:
/* * Выделение пакета цветом */ void ColorPacket(const IPHeader *h, const u_long haddr, const u_long whost = 0) { if (h->xsum) SetConsoleTextColor(0x17); // если пакет не пустой else SetConsoleTextColor(0x07); // пустой пакет if (haddr == h->src) { SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_RED | FOREGROUND_INTENSITY); // "родной" пакет на отдачу } else if (haddr == h->dest) { SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "родной" пакет на прием } if (h->protocol == PROT_ICMP || h->protocol == PROT_IGMP) { SetConsoleTextColor(0x70); // ICMP-пакет } else if(h->protocol == PROT_IP || h->protocol == 115) { SetConsoleTextColor(0x4F); // IP-in-IP-пакет, L2TP } else if(h->protocol == 53 || h->protocol == 56) { SetConsoleTextColor(0x4C); // TLS, IP with Encryption } if(whost == h->dest || whost == h->src) { SetConsoleTextColor(0x0A); } }
Однако это существенно выходит за рамки этой статьи. Для нашего учебного примера вполне достаточно будет посмотреть ip-адреса хостов, с которых и на которые идет трафик, и посчитать его количество в единицу времени(готовая программа в архиве в конце статьи).
Для того, чтобы отобразить данные IP-заголовка, необходимо реализовать функцию преобразования заголовка (но не данных) дейтаграммы в строку. В качестве примера реализации, можно предложить такой вариант:
Исходный и бинарный код предоставляю как есть, таким как он был несколько лет назад. Сейчас мне на него страшно смотреть, и все же, он вполне читабельный (конечно же, нельзя быть таким самоуверенным). Для компиляции будет достаточно даже Visual Studio Express 2005.
Что у нас получилось в итоге:
Многим пользователям компьютерных сетей, в общем-то, незнакомо такое понятие как «сниффер». Что такое сниффер, попытаемся и определить, говоря простым языком неподготовленного пользователя. Но для начала все равно придется углубиться в предопределение самого термина.
На самом деле определить сущность такого программного или программно-аппаратного комплекса вовсе несложно, если просто перевести термин.
Это название происходит от английского слова sniff (нюхать). Отсюда и значение русскоязычного термина «сниффер». Что такое sniffer в нашем понимании? «Нюхач», способный отслеживать использование сетевого трафика, а, проще говоря, шпион, который может вмешиваться в работу локальных или интернет-ориентированных сетей, извлекая нужную ему информацию на основе доступа через протоколы передачи данных TCP/IP.
Оговоримся сразу: сниффер, будь он программным или условно-программным компонентом, способен анализировать и перехватывать трафик (передаваемые и принимаемые данные) исключительно через сетевые карты (Ethernet). Что получается?
Сетевой интерфейс не всегда оказывается защищенным файрволлом (опять же - программным или «железным»), а потому перехват передаваемых или принимаемых данных становится всего лишь делом техники.
Внутри сети информация передается по сегментам. Внутри одного сегмента предполагается рассылка пакетов данных абсолютно всем устройствам, подключенным к сети. Сегментарная информация переадресуется на маршрутизаторы (роутеры), а затем на коммутаторы (свитчи) и концентраторы (хабы). Отправка информации производится путем разбиения пакетов, так что конечный пользователь получает все части соединенного вместе пакета совершенно из разных маршрутов. Таким образом «прослушивание» всех потенциально возможных маршрутов от одного абонента к другому или взаимодействие интернет-ресурса с пользователем может дать не только доступ к незашифрованной информации, но и к некоторым секретным ключам, которые тоже могут пересылаться в таком процессе взаимодействия. И тут сетевой интерфейс оказывается совершенно незащищенным, ибо происходит вмешательство третьего лица.
Снифферы можно использовать и во вред, и во благо. Не говоря о негативном влиянии, стоит отметить, что такие программно-аппаратные комплексы достаточно часто используются системными администраторами, которые пытаются отследить действия пользователей не только в сети, но и их поведение в интернете в плане посещаемых ресурсов, активированных загрузок на компьютеры или отправки с них.
Методика, по которой работает сетевой анализатор, достаточно проста. Сниффер определяет исходящий и входящий траффик машины. При этом речь не идет о внутреннем или внешнем IP. Самым главным критерием является так называемый MAC-address, уникальный для любого устройства, подключенного к глобальной паутине. Именно по нему происходит идентификация каждой машины в сети.
Но и по видам их можно разделить на несколько основных:
Обнаружить тот же сниффер WiFi можно по нагрузке на сеть. Если видно, что передача данных или соединение находится не на том уровне, какой заявляется провайдером (или позволяет роутер), следует обратить на это внимание сразу.
С другой стороны, провайдер тоже может запустить программный сниффер для отслеживания трафика без ведома пользователя. Но, как правило, юзер об этом даже не догадывается. Зато организация, предоставляющая услуги связи и подключения к Интернету, таким образом гарантирует пользователю полную безопасность в плане перехвата флуда, самоустанавливающихся клиентов разнородных троянов, шпионов и т.д. Но такие средства являются скорее программными и особого влияния на сеть или пользовательские терминалы не оказывают.
А вот особо опасным может быть анализатор трафика онлайн-типа. На использовании снифферов построена примитивная система взлома компьютеров. Технология в ее самом простейшем варианте сводится к тому, что изначально взломщик регистрируется на определенном ресурсе, затем загружает на сайт картинку. После подтверждения загрузки выдается ссылка на онлайн-сниффер, которая пересылается потенциальной жертве, например, в виде электронного письма или того же SMS-сообщения с текстом вроде «Вам пришло поздравление от того-то. Чтобы открыть картинку (открытку), нажмите на ссылку».
Наивные пользователи кликают по указанной гиперссылке, в результате чего активируется опознавание и передача внешнего IP-адреса злоумышленнику. При наличии соответствующего приложения он сможет не только просмотреть все данные, хранимые на компьютере, но и с легкостью поменять настройки системы извне, о чем локальный пользователь даже не догадается, приняв такое изменение за воздействие вируса. Да вот только сканер при проверке выдаст ноль угроз.
Будь то сниффер WiFi или любой другой анализатор, системы защиты от несанкционированного сканирования трафика все же есть. Условие одно: их нужно устанавливать только при условии полной уверенности в «прослушке».
Такие программные средства чаще всего называют «антиснифферами». Но если задуматься, это те же самые снифферы, анализирующие трафик, но блокирующие другие программы, пытающиеся получить
Отсюда законный вопрос: а стоит и устанавливать такое ПО? Быть может, его взлом со стороны хакеров нанесет еще больший вред, или оно само заблокирует то, что должно работать?
В самом простом случае с Windows-системами в качестве защиты лучше использовать встроенный брэндмауэр (файрволл). Иногда могут наблюдаться конфликты с установленным антивирусом, но это чаще касается только бесплатных пакетов. Профессиональные покупные или ежемесячно активируемые версии таких недостатков лишены.
Вот и все, что касается понятия «сниффер». Что такое sniffer, думается, уже многие сообразили. Напоследок вопрос остается в другом: насколько правильно такие вещи будет использовать рядовой пользователь? А то ведь среди юных юзеров иногда можно заметить склонность к компьютерному хулиганству. Они-то думают, что взломать чужой «комп» - это что-то вроде интересного соревнования или самоутверждения. К сожалению, никто из них даже не задумывается о последствиях, а ведь определить злоумышленника, использующего тот же онлайн-сниффер, очень просто по его внешнему IP, например, на сайте WhoIs. В качестве местоположения, правда, будет указана локация провайдера, тем не менее, страна и город определятся точно. Ну а потом дело за малым: либо звонок провайдеру с целью блокировки терминала, с которого производился несанкционированный доступ, либо подсудное дело. Выводы делайте сами.
При установленной программе определения дислокации терминала, с которого идет попытка доступа, дело обстоит и того проще. Но вот последствия могут оказаться катастрофическими, ведь далеко не все юзеры используют те хе анонимайзеры или виртуальные прокси-серверы и даже не имеют понятия, в Интернете. А стоило бы поучиться…
У каждого из команды ][ свои предпочтения по части софта и утилит для
пен-теста. Посовещавшись, мы выяснили, что выбор так разнится, что можно
составить настоящий джентльменский набор из проверенных программ. На том и
решили. Чтобы не делать сборную солянку, весь список мы разбили на темы – и в
этот раз коснемся утилит для снифинга и манипулирования пакетами. Пользуйся на
здоровье.
Если говорить о перехвате данных, то Network Miner
снимет с «эфира»
(или из заранее подготовленного дампа в PCAP-формате) файлы, сертификаты,
изображения и другие медиа, а также пароли и прочую инфу для авторизации.
Полезная возможность - поиск тех участков данных, что содержат ключевые слова
(например, логин пользователя).
Сайт:
www.secdev.org/projects/scapy
Must-have для любого хакера, представляющий собой мощнейшую тулзу для
интерактивной манипуляции пакетами. Принять и декодировать пакеты самых
различных протоколов, ответить на запрос, инжектировать модифицированный и
собственноручно созданный пакет - все легко! С ее помощью можно выполнять целый
ряд классических задач, вроде сканирования, tracorute, атак и определения
инфраструктуры сети. В одном флаконе мы получаем замену таких популярных утилит,
как: hping, nmap, arpspoof, arp-sk, arping, tcpdump, tetheral, p0f и т.д. В то
же самое время Scapy
позволяет выполнить любое, даже самое специфическое
задание, которое никогда не сможет сделать уже созданное другим разработчиком
средство. Вместо того чтобы писать целую гору строк на Си, чтобы, например,
сгенерировать неправильный пакет и сделать фаззинг какого-то демона, достаточно
накидать пару строчек кода с использованием Scapy
! У программы нет
графического интерфейса, а интерактивность достигается за счет интерпретатора
Python. Чуть освоишься, и тебе уже ничего не будет стоить создать некорректные
пакеты, инжектировать нужные фреймы 802.11, совмещать различные подходы в атаках
(скажем, ARP cache poisoning и VLAN hopping) и т.д. Разработчики сами настаивают
на том, чтобы возможности Scapy использовались в других проектах. Подключив ее
как модуль, легко создать утилиту для различного рода исследования локалки,
поиска уязвимостей, Wi-Fi инжекции, автоматического выполнения специфических
задач и т.д.
Сайт:
Платформа: *nix, есть порт под Windows
Интересная разработка, позволяющая, с одной стороны, генерировать любой
ethernet пакет, и, с другой, отправлять последовательности пакетов с целью
проверки пропускной способности. В отличие от других подобных тулз, packeth
имеет графический интерфейс, позволяя создавать пакеты в максимально простой
форме. Дальше - больше. Особенно проработано создание и отправка
последовательностей пакетов. Ты можешь устанавливать задержки между отправкой,
слать пакеты с максимальной скоростью, чтобы проверить пропускную способность
участка сети (ага, вот сюда-то и будут ддосить) и, что еще интереснее -
динамически изменять параметры в пакетах (например, IP или MAC-адрес).
Когда обычный пользователь слышит термин «сниффер», он сразу же начинает интересоваться тем, что это такое и зачем оно нужно.
Мы постараемся объяснить все простым языком.
Впрочем, данная статья будет предназначена не только для начинающих юзеров, но и для .
Сниффер – это анализатор трафика. В свою очередь, трафик – это вся информация, которая проходит через компьютерные сети.
Этот анализатор смотрит, какая информация передается. Для этого ее необходимо перехватить. Фактически, это незаконная вещь, ведь таким образом люди часто получают доступ к чужим данным.
Это можно сравнить с ограблением поезда – классический сюжет большинства вестернов.
Вы передаете какую-то информацию другому пользователю. Ее везет «поезд», то есть сетевой канал.
Придурки из банды кровавого Джо перехватывают состав и грабят его до нитки. В нашем случае информация идет дальше, то есть злоумышленники не крадут ее в прямом смысле этого слова.
Но, допустим, что эта информация представляет собой пароли, личные записи, фотографии и тому подобное.
Злоумышленники могут просто переписать и сфотографировать все это. Таким образом они получат доступ к секретным данным, которые вы хотели бы скрыть.
Да, у вас будет вся эта информация, она к вам дойдет.
Но вы будете знать, что все то же самое знают и совершенно посторонние люди. А ведь в XXI веке больше всего ценится именно информация!
В нашем случае используется именно такой принцип. Определенные люди останавливают трафик, считывают с него данные и отсылают их дальше.
Правда, в случае со снифферами все не всегда так страшно. Они используются не только для того, чтобы получать несанкционированный доступ к данным, а еще и для анализа самого трафика. Это важная часть работ сисадминов и просто админов различных и ресурсов. О применении стоит поговорить более подробно. Но перед этим мы затронем то, как работают эти самые снифферы.
На практике снифферы могут являть собой портативные устройства, которые в буквальном смысле ставятся на кабель и считывают с него данные, а также программы.
В некоторых случаях это просто набор инструкций, то есть кодов, которые необходимо вводить в определенной последовательности и в определенной среде программирования.
Если более детально, что перехват трафика такими устройствами может считываться одним из следующих способов:
1 Путем установки концентраторов вместо коммутаторов. В принципе, прослушивание сетевого интерфейса можно выполнять и другими способами, но все они малоэффективны.
2 Подключением буквального сниффера в место разрыва канала. Это именно то, о чем шла речь выше – и ставится небольшое устройство, которое и считывает все, что движется по каналу.
3 Установкой ответвления от трафика. Это ответвление направляется на какое-то другое устройство, возможно, расшифровывается и направляется пользователю.
4 Атакой, целью которой является полное перенаправление трафика в сниффер. Конечно же, после попадания информации на считывающее устройство, она опять отправляется конечному пользователю, которому изначально и предназначалась. в чистом виде!
5 Путем анализа электромагнитных излучений , которые возникают из-за движения трафика. Это самый сложный и редко используемый метод.
Вот примерная схема работы второго способа.
Правда, здесь показано, что считывающее устройство просто подключается к кабелю.
На самом же деле сделать это таким образом практически нереально.
Дело в том, что конечный пользователь все равно заметит, что в каком-то месте имеет место разрыв канала.
Сам принцип работы обычного сниффера основывается на том, что в рамках одного сегмента рассылаются всем подключенным машинам. Достаточно глупый, но пока безальтернативный метод! А между сегментами данные передаются при помощи коммутаторов. Вот здесь и появляется возможность перехвата информации одним из вышеперечисленных способов.
Собственно, это и называется кибератаками и хаккерством!
Кстати, если грамотно установить эти самые коммутаторы, то можно полностью защитить сегмент от всевозможных кибератак.
Существуют и другие методы защиты, о которых мы еще поговорим в самом конце.
Полезная информация:
Обратите внимание на программу . Она используется для анализа сетевого трафика и разбора пакетов данных, для которого используется библиотека pcap. Это значительно сужает количество доступных для разбора пакетов, так как разбирать можно лишь те пакеты, которые поддерживаются данной библиотекой.
Разумеется, в первую очередь, данное понятие имеет то применение, о котором шла речь выше, то есть хаккерские атаки и незаконное получение пользовательских данных.
Но кроме этого, снифферы используют и в других сферах, а конкретно, в работе системных администраторов.
В частности, такие приспособления или программы помогают выполнить такие задачи:
Как видим, рассматриваемые нами приспособления или программы способны очень сильно облегчить работу системных администраторов и других людей, которые пользуются сетями. А это все мы.
Теперь переходим к самому интересному – обзору программ-снифферов.
Выше мы разобрались, что они могут быть выполнены в виде физических приспособлений, но в большинстве случаев используются специальные .
Их изучением и займемся.
Вот список наиболее популярных таких программ:
CommView . Программа платная, как и все остальных в нашем списке. Одна минимальная лицензия стоит 300 долларов. Зато функционал у ПО богатейший. Первое, что стоит отметить, так это возможность самостоятельной установки правил . К примеру, можно сделать так, чтобы (это протоколы) полностью игнорировались. Примечательно также, что программа позволяет просматривать детали и лог всех пересылаемых пакетов. Существует обычная версия и версия для Wi-Fi .
SpyNet. Это, фактически, троян, от которых мы все так устали. Но он может использоваться и в благородных целях, о которых мы говорили выше. Программа выполняет перехват и , которые есть в трафике. Есть множество необычных функций. К примеру, можно воссоздавать страницы в интернете, на которых побывала «жертва». Примечательно, что это ПО бесплатное, но найти его достаточно непросто.
BUTTSniffer. Это сниффер в чистом виде, который помогает анализировать сетевые пакеты, а не перехватывать чужие пароли и историю браузера. По крайней мере, так думал ее автор. На самом же деле его творение используется сами понимаете для чего. Это обычная пакетная программа, которая работает через командную строку. Для начала использования загружаются и запускаются два файла. «Захваченные» пакеты сохраняются на жестком диске, что очень удобно.
Существует множество других программ-снифферов. К примеру, известны fsniff, WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и многие другие. Выбирайте любую! Но, справедливости ради стоит отметить, что лучшая – CommView.
Итак, мы разобрали, что такое снифферы, как они работают и какие бывают.
Теперь перейдем с места хакера или сисадмина на место обычного юзера.
Мы прекрасно понимаем, что наши данные могут украсть. Что же делать, чтобы этого не произошло?здесь). Работает она крайне просто – сканирует сеть на предмет всевозможных шпионов и сообщает, если таковые будут обнаружены. Это самый простой и понятный принцип, который позволяет обезопасить себя от кибератак.
3 Используйте PromiScan. По своим свойствам и выполняемым задачам эта программа очень схожа с AntiSniff for Windows, поэтому выберете что-то одно. В сети тоже есть множество ссылок на скачивание (вот одна из них). Это инновационная программа, которая позволяет отдаленно контролировать компьютеры, подключенные к одной сети. Принцип ее работы состоит в определении узлов, которых не должно быть в сети. Собственно, это, скорее всего, и есть снифферы. Программа выявляет их и сигнализирует об этом красноречивым сообщением. Очень удобно!.
4 Используйте криптографию, а если развернуто, криптографическую систему с открытым ключом. Это специальная система шифрования или электронной подписи. Ее «фишка» в том, что ключ открытый и все могут его видеть, но изменить данные невозможно, так как это нужно сделать на всех компьютерах сети одновременно. Прекрасный метод – как приманка для вора. В вы можете прочитать про блокчейн, где используется именно такая система.
5 Не скачивайте подозрительные программы, не заходите на подозрительные сайты и так далее. Об этом знает каждый современный пользователь и все же именно этот путь является основным для попадания троянов и других пакостей в вашу операционную систему. Поэтому очень ответственно относитесь к использованию интернета в принципе!
Если у вас есть еще вопросы, задавайте их в комментариях ниже.
Надеемся, мы смогли все объяснить простым и понятным языком.
Снифферы (Sniffers) – это программы, способные перехватывать и впоследствии проводить анализ сетевого трафика. Снифферы полезны в тех случаях, когда нужно перехватить пароли или провести диагностику сети. Программу можно установить на одном устройстве, к которому есть доступ и в течение короткого времени получить все передаваемые данные из подсети.
Перехватить трафик через сниффер можно следующими способами:
Трафик, перехваченный сниффером подвергается анализу, что позволяет выявить:
Обычный снифферы (sniffers) анализирует трафик очень просто, применяя самые доступные автоматизированные средства и способен анализировать лишь очень маленькие объемы.
Примеры наиболее известных снифферов:
Снифферы делят по методу использования на легальные и нелегальные. При этом само понятие снифферы применяется именно по отношению к нелегальному использованию, а легальные называют «Анализатор трафика».
Для того, чтобы получать полную информацию о состоянии сети и понимать, чем заняты сотрудники на рабочих местах используют легальные снифферы (анализаторы трафика). Нельзя переоценить помощь снифферов, когда необходимо «прослушать» порты программ, через которые они могут отсылать конфиденциальную информацию своим хозяевам. Для программистов они помогают проводить отладку и взаимодействие программ. Используя анализаторы трафика можно своевременно обнаружить несанкционированный доступ к данным или проведение DoS-атаки.
Нелегальное использование подразумевает шпионаж за пользователями сети, злоумышленник сможет получить информацию о том, какие сайты использует пользователь, данные пересылает, узнает об используемых для общения программах. Основная цель «прослушивания» трафика – получения логинов и паролей передаваемых в незашифрованном виде.
Анализаторы трафика различаются следующими возможностями:
Работать снифферы могут на:
Любая организация может оказаться под угрозой сниффинга. При этом существует несколько вариантов, как обезопасить организацию от утечек данных. Во-первых нужно использовать шифрование. Во-вторых можно применить антиснифферы.
Антисниффер – программное или аппаратное средство работающее в сети и позволяющее находить снифферы.
Используя только лишь шифрование при передаче данных, не удастся скрыть сам факт передачи. Поэтому можно использовать шифрование совместо с антисниффером.