Содержание статьи
У каждого из команды ][ свои предпочтения по части софта и утилит для
пен-теста. Посовещавшись, мы выяснили, что выбор так разнится, что можно
составить настоящий джентльменский набор из проверенных программ. На том и
решили. Чтобы не делать сборную солянку, весь список мы разбили на темы – и в
этот раз коснемся утилит для снифинга и манипулирования пакетами. Пользуйся на
здоровье.
Wireshark
Сайт: www.wireshark.org
Платформа: *nix, Windows
Фантастически успешный анализатор пакетов для винды и никсов, который многие
помнят и даже по-прежнему называют Ethereal (новое имя появилось лишь с
лета 2006 года). Wireshark «на лету» анализирует трафик из локальной сети
или из заранее подготовленного дампа на диске. То, насколько он удобен – выше
всяческой похвалы: ты можешь свободно перемещаться по всей отснифанной инфе,
просматривая данные в той детализации, которая тебе нужна. Главные козыри - это
автоматический разбор пакетов на определенные для данного протокола понятные
поля, а также система фильтров, избавляющая от просмотра всего подряд, которая
отображает лишь то, что тебя может заинтересовать. Последние версии Wireshark
радуют продвинутыми механизмами для анализа голосового трафика VoIP, а также
дешифровкой таких протоколов как IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP,
и WPA/WPA2. На лету расшифровываются и данные, сжатые gzip'ом. Снифер может
работать не только в Ethernet, но и IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB,
Token Ring, Frame Relay, FDDI сетях.
Инструмент определенно один из лучших! Даже если у тебя есть дамп другого
снифера, не поленись скормить его Wireshark'у - никогда не будет лишним
воспользоваться такими умопомрачительными возможностями.
TCPDump
Сайт: www.tcpdump.org
Платформа: *nix, есть порт под Windows
Название этого снифера знакомо каждому. Еще бы: до появления на сцене
Ethereal'а (Wireshark) он считался стандартом де-факто, да и теперь
многие по привычке используют его, вполне радуясь жизни. Да, у него нет
классного GUI-интерфейса и возможности автоматически распарсить данные
популярных протоколов, но это, в любом случае, отличное средство, чтобы
отснифать в локалке трафик и получить вожделенный дамп данных. Вообще, более
неприхотливого средства, пожалуй, не найти: и это, отчасти, хорошая сторона
того, что новые возможности в нем практически не появляются. К тому же, в
отличие от того же Wireshark, TCPDump может похвастать куда меньшим
количеством проблем с безопасностью и просто багов. Многие мои знакомые админы
успешно юзают этот снифер для мониторинга активности и решения самых различных
сетевых проблем. Исходные коды TCPDump частично используются библиотеками
Libpcap/WinPcap, предназначенными для перехвата пакетов и используемыми
известным сканером nmap и другими тулзами.
Ettercap
Сайт:
ettercap.sourceforge.net
Платформа: *nix, Windows, Mac OS
Помнится, когда мы впервые рассказывали об ARP-спуфинге (приеме, позволяющем
снифать трафик в локальных сетях, построенных на считах), то в качестве снифера
применяли именно Ettercap. Сами разработчики продвигают свой продукт как
средство для совершения атак man-in-the-middle. Утилита поддерживает снифинг в
реальном времени, фильтрацию контента «на лету», инжекцию пакетов и многие
другие интересные трики. Учти, что по дефолту программа выполняет множество
лишних действий (например, dns-резолвинг найденных адресов). Кроме того,
активный arpoisoning и некоторые другие действия могут скомпрометировать хакера,
использующего Ettercap. Если точнее, то даже в самой программе встроена
функция обнаружения себе подобных :). В Ettercap предусмотрена возможность
проверки, находишься ли ты в локалке со свитчами или нет (сейчас это уже почти
не актуально), а также встроено средство для fingerprint'а, которое активными и
пассивными методиками может определить разные девайсы, операционки на хостах и
общую схему сети.
0x4553-Intercepter
Сайт:
intercepter.nerf.ru
Платформа: Windows NT(2K\XP\2k3\Vista)
А вот и отечественная разработка – снифер Intercepter. И по
совместительству – гвоздь программы! Это одна из самых прогрессивных утилит для
перехвата трафика, сообщений и паролей/хешей, доступных в публичном доступе. Что
умеет? В первую очередь, перехватывать пароли и хеши для следующих протоколов:
ICQ, IRC, AIM, FTP, IMAP, POP3, SMTP, LDAP, BNC, SOCKS, HTTP, NNTP, CVS, TELNET,
MRA, DC++, VNC, MYSQL, ORACLE. Другой важный функционал – перехватывает самые
различные сообщения с отображением диалога в реальном времени. На текущий момент
снифером перевариваются следующие протоколы: ICQ, AIM, JABBER, YAHOO, MSN,
GADU-GADU, IRC, MRA. Но этот список не главное, ведь Intercepter – чуть
ли не единственный инструмент, поддерживающий уникод, а потому правильно
отображает кириллицу там, где это необходимо! Да и чего таить, приведенный
список едва ли можно назвать полным, потому как перехватываются еще сообщения
GTalk (протокол построен на Jabber), а также Mail.Агент, что может быть весьма
актуально. В арсенале 0x4553-Intercepter имеется множество убийственных
технологий: чего стоит один только «eXtreme mode». Сниферу достаточно задать
целевой протокол без указания порта - 0x4553-Intercepter будет
просматривать весь трафик и автоматически «вылавливать» пакеты, относящиеся к
данному протоколу (путем анализа их содержимого). Эта фича полезна для выявления
Proxy- и FTP-серверов (остальные сервисы работают с более или менее
предсказуемыми портами). Так или иначе, можно просмотреть весь трафик в чистом (raw)
виде, но и здесь можно облегчить себе жизнь, наложив на отображаемый контент
некоторые правила. Награбленный трафик может быть сохранен в pcap-формате
(стандарт де-факто среди снифферов) и подвергнут дальнейшему анализу, например,
в Wireshark. К тому же, сам снифер имеет все задатки для offline-анализа.
Поддерживается возможность удаленного захвата трафика посредством RPCAP-демона,
обычно устанавливаемого на шлюз локальной сети и грабящего весь трафик на
входе/выводе во «внешний» мир. Поскольку шлюзы нередко вращаются под управлением
Linux'а или xBSD, то RPCAP-демон оказывается весьма полезным подспорьем.
Помимо чисто сниферных функций, 0x4553-Intercepter обладает набором
весьма соблазнительных фич. Начнем с банального обнаружения узлов в сети,
которое осуществляется отнюдь не тупым сканированием IP-адресов. В нужном
диапазоне. 0x4553-Intercepter посылает широковещательный ARP-запрос,
требуя, чтобы все узлы, которые его получили, сообщили свои IP-адреса. Причем,
0x4553-Intercepter способен выявлять другие сниферы. DHCP DISCOVERY
позволяет осуществить поиск DHCP-серверов. Интегрированный перепрограмматор
MAC-адресов позволяет быстро поменять MAC-адрес. Я уже не говорю о модуле ARP
POISON - это само собой разумеющееся.
Подробнее про 0x4553-Intercepter ты можешь прочитать в
статье Криса Касперски.
Netcat
Сайт:
netcat.sourceforge.net
Платформа: *nix, есть порт под Windows
Своеобразный швейцарский нож любого взломщика. Эта чрезвычайно простая
утилита позволяет читать и писать данные в TCP и UDP соединениях. Иными словами,
Netcat позволяет тебе соединиться с чем угодно, да и делать что угодно. В
результате, получаем одну единственную утилиту с 1000 и одним применением. В
самом простом варианте Netcat позволяет создавать TCP и UDP соединения,
умеет «слушать» входящие соединения (можно приказать тулзе ждать соединения
только с указанных тобой адресов и даже портов!), может сканировать порты,
разрешать DNS-запросы, посылать любые команды со стандартного ввода, выполнять
заранее предопределенные действия в ответ на соединение, которое слушает
«котенок» (логотип нетката), делать Hex-дамп отправленных и полученных данных (а
вот и функции снифера) и много-много чего еще.
Вообще, Netcat - это мощнейшее средство для отладки и эксплуатации
различных уязвимостей, поскольку позволяет установить соединение любого типа,
который тебе нужен. Оригинальная версия Netcat была выпущена еще в 1995
году, но, несмотря на бешеную популярность проект, не развивается. Но сама
концепция программы, совмещающая предельную простоту и, в тоже время, огромную
функциональность, привела к появлению других реализаций. Одной из самых
интересных стала Socat, которая дополняет оригинальный Netcat для
поддержки SSL-шифрования, SOCKS прокси и т.д. С не меньшим успехом ее можно
юзать как соксифаер, безопасный туннеллер, снифер и т.д. Помимо этого, есть Ncat,
предоставляющий дополнительные функции, а также ryptcat, Netcat6, PNetcat, SBD и
др.
Cain and Abel
Сайт:
www.oxid.it/cain.html
Платформа: Windows
Если ищешь утилиту для восстановления всевозможных паролей, то лучшего
инструмента, пожалуй, не найти. В буквальном смысле «универсальный солдат» готов
на все. Допустим, тебе нужно вспомнить пароль и личные данные, сохраненные в
браузере. Не проблема! Клик по нужной иконке - и они твои! Интересуешься
пассами, которые непрерывно передаются по твоей локалке (и, следовательно, их
хорошо бы шифровать)? Воспользуйся встроенным снифером. Правда, понадобится
драйвер WinPcap, но не беда – в случае необходимости Cain & Abel
заинсталлит его прямо во время установки. А далее – делай, что хочешь. Замечу,
что дело не ограничивается одним перехватом паролей от всевозможных сервисов,
начиная от банальных FTP/POP3 и заканчивая экзотикой, вроде ключей для
Radius-серверов. Реально перехватить идентификационные данные и сами разговоры
клиентов VoIP-телефонии (но только, если используется SIP-протокол) или даже
пакеты с голосовыми данными, из которых несложно извлечь запись разговора с
помощью специальных конвертеров. Чтобы не было проблем со свитчами, прога
отлично владеет приемом ARP-спуфинга. Умелые манипуляции с MAC-адресами и
заголовками пакетов приводят к результатам: снифер работает почти безотказно
(хотя это палится любыми IDS). С помощью 15 встроенных утилит Cain & Abel
может взломать 25 типов хешей, провести исследование беспроводной сети, а также
выполнить еще целый ряд уникальных действий (нацеленных, прежде всего, на подбор
или расшивку паролей).
Ngrep
Сайт:
ngrep.sourceforge.net
Платформа: *nix, есть порт под Windows
Что такое Ngrep? Берем известную никсовую утилиту grep (ту, что
находит на вводе строки, отвечающие заданному регулярному выражению, и выводит
их) и натравливаем ее на сетевой трафик. Точно так же, как вывод на какую-то
команду можно ограничить строками с определенным содержимым, можно фильтровать и
трафик. Ngrep позволяет выделить из перехваченного трафика любые данные,
отвечающие регулярным выражениям. Ngrep понимает IPv4/6, TCP, UDP,
ICMPv4/6, IGM по Ehetrnet'у и другим технологиям (PPP, SLIP, FDDI, Token Ring).
Традиционно ngrep используется для анализа текстовых протоколов, вроде HTTP,
SMTP, FTP и т.д. Использовать ее для выявления аномальной активности в Сети
(вирусы, черви и т.д.) или перехвата данных из авторизаций HTTP, FTP - не важно.
Nemesis
Сайт:
nemesis.sourceforge.net
Платформа: *nix, Windows
Эта консольная тулза для разборки сетевых пакетов, их модификации и
дальнейшей инжекции в Сеть не раз выручала меня в тестировании IDS, файрволов и
сетевых демонов. Благодаря работе через консоль, Nemesis легко
приспосабливается к любым сторонним скриптам для пен-теста. Оригинальная версия
может распарсить и инжектировать произвольные пакеты ARP, DNS, ETHERNET, ICMP,
IGMP, IP, OSPF, RIP, TCP и UDP.
Hping2
Сайт: www.hping.org
Платформа: *nix, MacOS X, Windows
Вот еще одна миниатюрная утилита, позволяющая отсылать произвольные ICMP, UDP,
TCP и RAW-IP пакеты и отображать ответы на них. Отправить такой пакет не
сложнее, чем пропинговать нужный хост. Интерфейс полностью перенят у любимого
Ping'а – отсюда и название программы. Изначально тулза была разработана в
качестве замены стандартным ping/traceroute, работа которых часто обламывается
из-за файрволов. Поэтому в Hping2 по умолчанию есть продвинутый
traceroute и режим IP-фрагментации. Тулзу часто используют для проверки
настройки файрвола, fingerprint'а и сканирования портов. И, конечно же, просто
для отправки в Сеть нужного пакета.
Network Miner
Сайт:
sourceforge.net/projects/networkminer
Платформа: Windows
Добротный снифер для Windows, который всячески пытается выведать как можно
больше инфы о локальной сети. Network Miner предназначен не столько для
перехвата данных (хотя, безусловно, он это умеет) – сколько для анализа
инфраструктуры локалки (операционки на хостах, открытые сессии, hostname'ы,
открытые порты на узлах). В отличие от многих утилит, делает он это
исключительно пассивно, т.е. без генерации трафика, по которому может быть
определен факт сканирования. Для анализа ОС на каждом из узлов используются
проверенные механизмы fingerprint'а, базы утилиты p0f (lcamtuf.coredump.cx/p0f.shtm),
а также метод анализа DHCP-пакетов из тулзы Satori (http://myweb.cableone.net/xnih).
Если говорить о перехвате данных, то Network Miner снимет с «эфира»
(или из заранее подготовленного дампа в PCAP-формате) файлы, сертификаты,
изображения и другие медиа, а также пароли и прочую инфу для авторизации.
Полезная возможность - поиск тех участков данных, что содержат ключевые слова
(например, логин пользователя).
Scapy
Сайт:
www.secdev.org/projects/scapy
Платформа: *nix, есть порт под Windows
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 инжекции, автоматического выполнения специфических
задач и т.д.
packeth
Сайт:
packeth.sourceforge.net
Платформа: *nix, есть порт под Windows
Интересная разработка, позволяющая, с одной стороны, генерировать любой
ethernet пакет, и, с другой, отправлять последовательности пакетов с целью
проверки пропускной способности. В отличие от других подобных тулз, packeth
имеет графический интерфейс, позволяя создавать пакеты в максимально простой
форме. Дальше - больше. Особенно проработано создание и отправка
последовательностей пакетов. Ты можешь устанавливать задержки между отправкой,
слать пакеты с максимальной скоростью, чтобы проверить пропускную способность
участка сети (ага, вот сюда-то и будут ддосить) и, что еще интереснее -
динамически изменять параметры в пакетах (например, IP или MAC-адрес).