0x00 . Ethernet Пакетные сниферы - частое явление в локальных сетях и если ты заботишься о безопасности передаваемых данных - эта статья для тебя.Я попытаюсь расмотреть все возможные способы отлова нюхачей,включая софт и другие методы шифрации трафика. Самый распространенная технология построения локальных сетей лежит на протоколе Ethernet.Снифинг становится возможным из-за отсутсвующей маршрутизации на протокольном уровне,те пакеты доставляются до всех компьютеров сети.В заголовке ethernet-пакета содежится mac-address карточки,которая должна обработать пакет,но это вовсе не значит что другой компьютер не сможет обработать эти данные.На основе протоколе Ethernet мы и будем обнаружать сниферы в сети. 0x01 . Активные и пассивные сниферы Как известно,сети бывают двух видов - на свитчах и хабах.Последнии виды сетей уже не так распространены,однако являются самым лакомым куском для "сетевых рыбаков".Самым простым способом отлова данных в сетях такого типа - перевод сетевой карточки в "promisc mode".После этого карта начинает принимать абсолютно все пакеты в локальном сегменте без разбора адресата ( promisc mode можно перевести как неразборчивый режим,интересно еще и второе толкование этого слова - промискуальный,что подразумевает человека,занимающегося проституцией ) .Но в настоящий момент таких сетей уже все меньше - сетевые администраторы ставят свитчи.В этом случае пакеты будут доставлять только до адресатов. Первый способ снифа является пассивным,те не предпринимает никаких усилий для ловли пакетов,все происходит на уровне протокола.Второй метод снифа называется Man-In-The-Middle ( человек посередине ) .Он является активным,тк для ловли пакетов надо нужным образом "засорить" ARP-таблицы.При этом происходит спуфинг arp-таблиц и пакеты проходят через третье лицо ( буквально forwarding ) . 0x02 . Man-In-The-Middle Атака,как я уже сказал, возникает при отравлене ARP-таблиц таким образом,чтобы заставить трафик идти через посредника,который может делать все что угодно с пакетами,в том числе и изменять их.Допустим,компьютер #1 отправляет широковещательный (broadcast) ARP-запрос на поиск в сети компьютера #2 те его ip-адреса.В этот момент хакер,сидящий за машиной #3 выдает себя за нужный компьютер,его IP записывается в кеше и пакеты до номера 2 будут идти через него..Углубляться в суть не надо,наша задача обнаружить снифер,а не самим провести эту атаку ( если неймется можешь посмотреть релиз sn0w - http://forum.antichat.ru/thread21282.html ) Обнаружить такой снифер представляется маловозможным и самый действенный способ - использование более защищенных протоколов, либо утилит вроде IPsec,которая поддерживает проверку целостности данных,используя MD5,SHA-1 и AES.Если передаваемая информация имеет не такую секретность,вполне можно обойтись утилитой ARPwatch.Работает по схеме хукинга всех ARP запросом и разборов первых 6 байт ( mac адреса ).Если такой мак уже был в системе,программа.Пакеты логируются и в дальнейшем отправляются администратору сети.В договорах,заключаемых между абонентом и провайдером часто присутствует запись о снифинге сетей и его последствиях,рекомендую ознакомиться тем,кто захотел украсть чужую информацию. Существует и другой метод обнаружение нюхача - после получения пакета на обновление мак адреса отправляется широковещательный пакет с целью подтвердить,что пакет не является ложным.Этот способ является универсальным,но утилит,реализующих это еще нет. 0x03 . Ударь по пассивам Обнаружение пассивного снифера является более легким и существует несколько вариантов вылова нюхача Самым распространенным является метод пинга.Вспоминаем - в режиме promisc сетевуха принимает абсолютно все запросы,даже некорректные.Попробуем пингануть подозреваемую машину и в случае ответа мы получим ECHO_REPLY,что обозначает присутствие снифера.В ином случае после сравнение мака по ARP-таблицам система не найдет связку ip-mac и не ответит на этот запрос.Недостаток метода в том,что все чаще и чаще встречаются сниферы с возможность фильтарции Mac адресов.Как вариант послать широковещательный пакет ( 255.255.255.255 ).Машины не должны на него ответить,ответит только снифер. Еще один метод заключается в логировании DNS запросов.Снифер после получения пакеты пытается перегнать из ip в hostname,используя для этого DNS запросы.Отследить снифер можно включим перехват пакетов на своем компьютере и поиск DNS запросов.Если ты увидишь запросы на резолв не со своего ip,значит в сети есть снифер.Минус этого способа - резолв ip2host можно отключить во всех популярных сниферах. 0x04 . Снифер на локальном компьютере Часто с целью получения нужных данных снифера ставятся после взлома целевого оборудования.Обнаружение таких сниферов становится возможным после выполнение команды ifconfig с флагом a.Она выдаст тебе информацию о сетевой карте со всеми выставленными флагами через запятую.Обнаружить снифер можно по флагу PROMISC. Пример выполненной команды ifconfig -a без присутствующего снифера eth0 Link encap:Ethernet HWaddr 00:0D:61:04:98:3D inet addr:70.86.67.170 Bcast:70.86.67.175 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4241006186 errors:0 dropped:0 overruns:0 frame:0 TX packets:3176290000 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2580012615 (2460.4 Mb) TX bytes:4191294474 (3997.1 Mb) Interrupt:11 Base address:0xf000 Однако утилиту ifconfig можно подменить и лучше воспользоваться сторонними средствами. 0x05 . Защищаем свой трафик Если информация представляет немалую ценность стоит взглянуть на другие методы антиснифа,такие как шифрация трафика. Лучше всего с этим всправляется VPN ( Virtual Private Network ) и позволяет скрыть не только трафик,но и ip.Стоит он относительно недорого и по карману любой компании. Если VPN не устраивает по каким - либо причинам, можно использовать более защищенные протоколы - все знаменитые протоколы вроде SMTP\POP\IRC имеют свои более защищенные аналоги.Для IM-клиентов можно использовать плагины шифрации сообщений или юзать более секуьюрые аналоги вроде SST Messenger.Просто,а главное бесплатно. Сниф в таких условиях возможен только если на локальной машине стоит нюхач. 0x06 . Обзор боевого софта L0pht's antisniff [ http://packetstormsecurity.nl/sniffers/antisniff/ ] Самая распространенная и функциональная програма,работающая как из командной строки,так и имеющая GUI версию.С легкостью обнаруживает пассивные сниферы всеми возможными методами ( DNS test, ARP test, Ping Test, ICMP Time Delta Test, Echo Test, PingDrop test ). arp_antidote [ http://www.securitylab.ru/_tools/antidote.diff.gz ] Представляет из себя патч для ARP протокола в NIX-системах,который мониторит arp-запросы и отбрасывает фейковые.Работает только на ядрах 2.4 Neped [ http://kalug.lug.net/coding/nettools/neped-libnet.tar.gz ] Unix - утилита,поддерживает множество видов обнаружений вроде arp method и ping method sentinel [ http://www.packetfactory.net/Projects/sentinel/ ] Использование програмы крайне просто sentinel [options] [methods] [-c <x.x.x>] [-f <filename>] [host] methods: -a arp test -d dns test -e icmp etherping test options: -c <x.x.x> class c to scan -f <file> file of ip addresses -i <device> network interface -n <number> number of packets to send Example usage: # ./sentinel -aed -c 10.2.2 EOF
http://forum.antichat.ru/thread23460.html http://www.xakep.ru/magazine/xs/047/028/1.asp http://www.xakep.ru/post/24707/default.asp http://www.xakep.ru/magazine/xa/068/060/1.asp вот так. закрепим-с темку, ибо нех...
респект за статью, очнь познавательно. недавно столкнулся с такой проблемой в локалке, поэтому прочитал несколько таких статей. в основном все сводится к тому, чтобы заюзать нужную прогу которая сама вычислит комп со снифом. у меня возникло пара вопросов: кто-нить юзал PromiScan3.0 ? или есть по нему какое-нить руководство, а то он у меня почти треть сетки находит как "сниферастов" С L0pht's antisniff у меня такая проблема - он не видит сетевуху и естественно не работает, даже незнаю в чем проблема...