Защита от хакеров корпоративных сетей
Шрифт:
За всю историю прослушивания сетевого трафика было написано много анализаторов трафика. Здесь мы рассматриваем несколько ключевых программ. Необходимо отметить, что мы не стремились предоставить всеобъемлющий список анализаторов трафика, а только некоторые реализации. Мы рассматриваем как коммерческие реализации, используемые для диагностики сети, так и реализации, написанные чисто для перехвата информации аутентификации. Большое количество реализаций может быть найдено на ближайшем сайте, посвященном информационной безопасности, например www.securityfocus.com.
Ethereal
Ethereal является одним из самых новых анализаторов протоколов, впервые появившимся в 1998 году. Однако благодаря своей природе системы с открытым кодом Ethereal стал одним из самых популярных анализаторов протоколов. Вследствие его разработки сообществом разработчиков он расшифровывает больше протоколов, чем многие коммерческие реализации. Данный анализатор протоколов является самым лучшим для UNIX-систем. Однако, несмотря на то что он работает и из-под Windows, анализатор не имеет такого «блеска», который ожидают пользователи Windows. Интерфейс пользователя основан на Gtk, таким образом, он очень UNIX-подобен.
На рисунке 10.1
Рис. 10.1. Свойства захвата Ethereal
После перехвата пакеты хранятся в буфере и демонстрируются на дисплее в стандартном трехоконном варианте (см. рис. 10.2). Данный формат отображения был выбран для первоначального анализатора протокола и в дальнейшем был принят всеми другими продуктами. Верхнее окно показывает построчно краткое изложение каждого пакета. Второе окно показывает детальную расшифровку текущего пакета выделенного в окне краткого изложения. Третье окно показывает шестнадцатеричный дамп того же пакета. Выбор щелчком по кнопке мыши поля в окне детализации вызывает подсветку эквивалентных символов в окне шестнадцатеричного дампа.
Рис. 10.2. Расшифровка протокола программой Ethereal
Network Associates Sniffer Pro
Sniffer Pro – коммерческий продукт (название «Sniffer» является торговой маркой корпорации Network Associates, Inc.). Продукт может быть очень популярным, если его имя образовано из хакерского сленга, так как он существовал задолго до появления программ для перехвата паролей. Продукт Sniffer Pro компании Network Associates предоставляет легкий в использовании интерфейс для перехвата и просмотра сетевого трафика. Одно из основных преимуществ коммерческих продуктов заключается в том, что они поддерживают обширный диапазон сетевых протоколов и показывают расшифрованные данные протокола в очень легком для чтения виде. Sniffer Pro работает в двух основных режимах: в первом он перехватывает сетевой трафик, а во втором расшифровывает и демонстрирует его.
Сетевая статистика и данные Sniffer Pro в режиме перехвата в деталях показаны на рис. 10.3.
После перехвата данные декодируются в легкочитаемый вид. На рисунке 10.4 мы видим, как Sniffer Pro декодировал HTTP-запрос. Мы видим, что некоторые соответствующие переменные прошли, alias и pw. Для данного Web-приложения они являются именем пользователя и паролем соответственно.
Рис. 10.4. Sniffer Pro отображение перехваченных данных
NT Network Monitor
Windows NT server поставляется с программным обеспечением контроля сети Network Monitor, или для краткости Netmon. Данная версия Netmon перехватывает только входящий или исходящий трафик сервера, на котором он установлен. Существуют версии Netmon для Windows 2000 и Windows XP с теми же ограничениями. Однако есть версия Netmon, позволяющая прослушивать весь трафик. Данная версия входит в состав Systems Management Server (SMS). Netmon предоставляет некоторые преимущества перед коммерческими анализаторами сети, заключающиеся в умении декодировать проприетарный трафик сетей Microsoft, который не имеет открытых спецификаций. Хорошим примером такого типа трафика является множество различных сервисов MS-RPC, которые взаимодействуют, используя именованные каналы через Windows NT-сети. Несмотря на то что Netmon не декодирует трафик всех сервисов MS-RPC, он декодирует наиболее значимую часть, которую иным способом декодировать невозможно.
Операции Network Monitor\'а очень схожи с операциями Sniffer Pro, они предоставляют как механизм перехвата (рис. 10.5), так и механизм просмотра (рис. 10.6) одинаковой функциональности.
Рис. 10.6. Network Monitor в режиме просмотра
WildPackets
EtherPeek от WildPackets (в настоящее время поставляется A.G. Group) является одним из старейших анализаторов протоколов. Существуют его реализации для Macintosh, так же как и под Windows (изначально данный анализатор протоколов был написан более 10 лет назад для Macintosh). EtherPeek имеет интересные возможности демонстрации и декодирования в реальном времени, а также интересные отличительные особенности (загрузить демо-версию продукта можно с сайта www.wildpackets.com). На сегодняшний день главным образом он примечателен своей EtherPeek-версией, прослушивающей IEEE 802.11b беспроводные сети.
TCPDump
TCPDump представляет собой наиболее популярный инструмент сетевой диагностики и анализа для операционных систем на базе UNIX. TCPDump просматривает и декодирует все данные хедеров IP, TCP, UDP и ICMP, в дополнение к некоторым данным уровня приложений (по
dsniff
dsniff от Dug Song является инструментарием для прослушивания сетевого трафика. dsniff доступен на сайте www.monkey.org/~dugsong/dsniff.
dsniff наиболее знаменит за свою способность прослушивать информацию аутентификации (имена пользователей и пароли). Текущая версия dsniff декодирует информацию аутентификации следующих протоколов: AOL Instant Messenger, Citrix Winframe, Concurrent Versions System (CVS), FTP, HTTP, ICQ, IMAP, Internet Relay Chat (IRC), Lightweight Directory Access Protocol (LDAP), RPC mount requests, Napster, NNTP, Oracle SQL*Net, Open Shortest Path First (OSPF), PC Anywhere, POP, PostgreSQL, Routing Information Protocol (RIP), Remote Login (rlogin), Windows NT plaintext (SMB), Network Associates Sniffer Pro (remote), Simple Network Management Protocol (SNMP), Socks, Telnet, X11, и RPC yppasswd.Приоткрывая завесу
dsniff Used against the Author
Следующий образец результата работы dsniff был перехвачен Dug Song, который успешно перехватил мои пароли на конференции по безопасности CanSecWest 2001. Это произошло вследствие того, что Outlook автоматически проверяет POP3-сервера, даже тогда, когда вы только открыли его для просмотра контактной информации. Я быстро сменил пароль, как раз вовремя – остаток выходной информации dsniff перехватил попытку кого-то еще подключиться с данным паролем, предположительно он использовал dsniff и перехватил пароль.
–
03/28/01 18:43:24 tcp 192.168.1.201.1035 ->
216.136.173.10.110 (pop)
USER robert_david_graham
PASS Cerveza2
–
03/29/01 02:07:41 tcp 192.168.1.243.1837 ->
216.136.173.10.110 (pop)
USER robert_david_graham
PASS Cerveza2
–
03/29/01 02:07:08 tcp 192.168.1.243.1836 ->
64.58.76.98.80 (http)
POST /config/login?84gteu3f1fmvt HTTP/1.0
Host: login.yahoo.com
Content-type: application/x-www-form-urlencoded
Content-length: 147
.tries=1&.src=ym&.last=&promo=&.intl=us&.bypass=&.partner=&.u=86
3imictc5nnu&.v=0&hasMsgr=0&.chkP=Y&.done=&login=robert
_david_graham&passwd=Cerveza2
–
03/29/01 02:06:48 tcp 192.168.1.243.1835 ->
64.58.76.98.80 (http)
POST /config/login?15aeb5g14endr HTTP/1.0
Host: login.yahoo.com
Content-type: application/x-www-form-urlencoded
Content-length: 146
.tries=&.src=ym&.last=&promo=&.intl=us&.bypass=&.partner=&.u=863
imictc5nnu&.v=0&hasMsgr=0&.chkP=Y&.done=&login=robert
_david_graham&passwd=Cerveza2
–
03/31/01 17:07:38 tcp 192.168.1.243.1307 ->
216.136.173.10.110 (pop)
USER robert_david_graham
PASS Cerveza2
С сегодняшними коммутируемыми сетями и криптографическими протоколами шифрования перехват паролей не всегда работает, как мы могли надеяться. dsniff содержит несколько утилит перенаправления и «человек по середине» (MITM) для перенаправления потока трафика и сеансов расшифрования.
Первая утилита – arpspoof (некогда известная как arpredirect). Протокол разрешения адресов (ARP) используется хостами для нахождения MAC-адреса локального маршрутизатора. При помощи спуфинга пакетов ARP вы можете убедить близлежащие компьютеры в том, что являетесь маршрутизатором. Ваша машина после получения пакетов должна перенаправить их на настоящий маршрутизатор, но тем временем анализатор трафика dsniff имеет возможность обрабатывать эти пакеты. Это работает не только в локальных коммутированных сетях, но также и в кабельно-модемных сетях. Данный инструмент не полностью надежен; вы по существу дела боретесь с маршрутизатором, пытаясь убедить другие компьютеры локальным MAC-адресом. Как результат поток трафика через вашу машину является неустойчивым. Подобный метод с легкостью обнаруживается при помощи систем обнаружения вторжений на уровне сети (IDSs). Даже Sniffer Pro (упомянутый ранее) имеет режим экспертной диагностики, который отметит это как «дублированный IP-адрес» (то есть несколько машин претендуют на IP-адрес маршрутизатора).
Утилита dnsspoof является другим инструментом для перенаправления трафика. В данном случае она подделывает ответ локального сервера службы имен доменов (DNS). Когда вы идете на сайт, такой как http://www.example.com, ваша машина посылает запрос на локальный DNS-сервер на получение IP-адреса www.example.com . Ответ DNS-сервера обычно занимает некоторое время; dnsspoof посылает свой ответ быстрее. Жертва примет только первый ответ и игнорирует второй. Подделанный ответ содержит IP-адрес, отличный от IP-адреса истинного ответа, обычно это IP-адрес машины нарушителя. Скорее всего, нарушитель будет использовать одну из утилит «человек посередине» анализатора трафика dsniff.
Название «человек посередине» (man-in-the-middle) пришло из криптографии и описывает ситуацию, когда кто-либо перехватывает информацию, изменяет ее и передает дальше. dsniff содержит две утилиты для реализации данного вида атаки: webmitm для HTTP-трафика (включая SSL) и sshmitm для SSH. Обычно SSH и SSL считаются защищенными протоколами, использующими криптографические преобразования, которые невозможно прослушать. Метод работы MITM-утилит заключается в том, что они предоставляют клиентам SSL/SSH свои собственные ключи шифрования. Это позволяет им расшифровывать трафик, перехватывать пароли и далее обратно зашифровывать, используя при этом настоящие ключи сервера. В теории вы можете защитить себя от этого проверкой подлинности сертификатов сервера, но на практике никто этого не делает.