9. Анализаторы сетевых пакетов



Анализаторы сетевых пакетов


Перехват пакетов, передаваемых в локальной сети, является одним из наиболее эффективных способов дальнейшего проникновения в сеть после того, как взломщик получил доступ к одному узлу. В настоящее время имеется множество средств перехвата пакетов, в том числе один из самых знаменитых коммерческих наборов анализа протоколов Sniffer Pro от компании Network Associate (http://www.nai.com). Этот комплект средств появился сразу же за выпуском прекрасной свободно распространяемой программы CaptureNet 3.12, являющейся частью набора SpeNet/PeepNet от Лаврентия Никулы (Laurentiu Nicula), который можно найти по адресу http://packetstorm.securify.com. Достаточно много можно сказать и о приложении Network Monitor, входящем в комплект поставки системы NT/2000. Эта утилита позволяет отслеживать трафик лишь локального узла. Однако при установке сервера SMS (Systems Management Server) можно воспользоваться полной версией Network Monitor.
В то же время очевидно, что графический интерфейс этих программ препятствует их применению в тех случаях, когда основным требованием является скрытность выполняемых действий и можно лишь удаленно воспользоваться командной строкой. В следующих разделах будут рассмотрены некоторые программы-анализаторы сетевых пакетов, которые без проблем можно установить удаленно и использовать из командной строки, а также несколько средств на базе интерфейса Win32.

BUTTSniffer



Среди взломщиков системы NT наиболее популярным средством является динамически загружаемая программа BUTTSniffer от Дилдога (DilDog), основного автора Back Orifice 2000. Программа BUTTSniffer состоит из двух основных компонентов, BUTTSniff.exe (139,264 байт) и BUTTSniff.dll (143,360 байт), каждый из которых можно переименовать. Для установки этих файлов достаточно просто загрузить их на целевой узел. Никаких дополнительных действий по установке не требуется. Запуск программы осуществляется из командной строки, в которой можно указать различные параметры. Параметр -1 позволяет получить список интерфейсов, доступных для перехвата пакетов. Взломщики наверняка воспользуются возможностью копирования всех захваченных данных в файл на жестком диске (для этого нужно не использовать параметры фильтрации), как показано в следующем примере.

D:\Toolbox\buttsniffer>buttsniff-1
WinNT: Version 4.0 Build 1381
Service Pack: Service Pack 6
# Interface Description
-----------------------
0 Remote Access Mac
[\Device\NDIS3Pkt_AsyncMac4] (no promise.)
1 3Com Megahertz FEM556B [\Device\NDIS3Pkt_FEM5567]
D:\Toolbox\buttsniffer>
buttsniff -d 1 D:\test\sniffl.txt p
WinNT: Version 4.0 Build 1381
Service Pack: Service Pack 6
Press Ctrl-C to stop logging...
Close requested
D:\Toolbox\buttsniffer>
cat D:\test\sniffl.txt
Source IP: 192.168.7.36 Target IP: 192.168.7.200
TCP Length: 13 Source Port: 3530
Target Port: 21 Seq: 001A145E
Ack: 6D968BEC
Flags: PA Window: 8711
TCP ChkSum: 6575 UrgPtr: 0
00000000: 55 53 45 52 20
67 65 6F 72 67 65 OD OA USER
ernie..
Source IP: 192.168.7.36
Target IP: 192.168.7.200
TCP Length: 17 Source Port: 3530
Target Port: 21 Seq: 001A146B
Ack: 6D968COF
Flags: PA Window: 8676
TCP ChkSum: 41325
UrgPtr: 0 00000000: 50 41 53 53 20 47 65
6F 72 67 65 30 30 31 3F OD
PASS bert.
00000010: OA

Утилита BUTTSniffer отличается нестабильностью. При ее использовании в течение продолжительного времени она может привести к краху системы NT (появлению синего экрана смерти).

fsniff



Утилита fsniff написана компанией Foundstone, Inc., в которой авторы книги являются ведущими сотрудниками.

Утилитой fsniff используется динамически загружаемый драйвер захвата пакетов (fsniff .sys), что значительно облегчает ее использование. Эта утилита выполняет автоматическую фильтрацию данных аутентификации, содержащихся в пакетах, как показано в следующем примере сеанса FTP. 

С:\tmp>fsniff
fsniff vl.О - copyright2000 foundstone, inc.
driver activated
192.168.200.15 [4439] -> 172.16.23.45 [21] }
USER test PASS ralph
172.16.23.45 [21] -> 192.168.200.15 [4439] }
220 ftp.victim.net FTP server (Version wu-2.5.0(l)
Tue Sep 21 16:48:12
EOT 199
9) ready.
331 Password required for test.
530 Login incorrect.
packets received 27 - sniffed 10

Анализаторы пакетов Win32 * на базе интерфейса WinPcap



Многие популярные программы-анализаторы UNIX, предназначенные для захвата пакетов на уровне пользователей, созданы на базе интерфейса libpcap, не зависящего от используемой платформы. Свободно распространяемая версия Win32 этого интерфейса, WinPcap, была разработана группой исследователей из политехнического университета Торино (Politecnico di Torino) (http://netgroup-serv.polito.it/winpcap). Этот интерфейс предоставляет основу для создания некоторых интересных средств перехвата сетевых пакетов. Однако их неудобно устанавливать на удаленном узле и использовать из командной строки. Кроме того, в отличие от динамически загружаемых утилит BUTTSniffer и f sniff, для активизации таких средств зачастую требуется перезагрузка. В последующих разделах для полноты излагаемого материала, а также для облегчения дальнейших исследований в этой области, будут рассмотрены некоторые из средств, созданных на базе интерфейса WinPcap.

WinDump



Эта утилита, являющаяся аналогом утилиты tcpdump системы UNIX, написана авторами WinPcap. Как видно из приведенного ниже примера, эта утилита является простым средством перехвата пакетов, предоставляющим данные в необработанном виде. 

D:\>windump
windump: listening on\Device\Packet_E159xl
01:06:05.818515 WKSTN.1044 >
CORP-DC.139: P 287217:287285(68) ack
3906909778 wi
n 7536 (DF) [tos 0x86]
01:06:05.818913 CORP-DC.139 >
WKSTN.1044: P 1:69(68) ack 68 win 16556
(DF)
01:06:05.825661 arp who-has
192.168.234.1 tell WKSTN
01:06:05.826221 arp reply
192.168.234.1 is-at 8:0:3d:14:47:d4

dsniff для Win32



Утилита dsniff является одним из самых лучших средств перехвата пакетов системы UNIX, предназначенных исключительно для получения паролей. Она была написана Дагом Сонгом (Dug Song) (http://naughty.monkey.org/~dugsong/dsniff/). Утилита dsniff автоматически выявляет и подробно анализирует каждый протокол, сохраняя лишь часть уникальных данных, используемых при аутентификации.
Ранняя версия утилиты dsniff для Win32, появившаяся в мае 2000 года, была написана Майком (Mike) из компании eEye Digital Security. В ней отсутствуют многие возможности таких утилит, как arpredirect, что делает ее версию для системы Linux более робаст-ной (см. главу 8 и 10). Тем не менее, утилита dsniff может оказаться полезной для получения данных аутентификации. В следующем примере утилита dsniff была использована для перехвата пакетов, передаваемых в процессе аутентификации по протоколу POP.

D:\dsniff>dsniff
07/31/00 17:16:34 С574308-А ->
mail.victim.net (pop)
USER johnboy
PASS goodnight

Контрмеры: защита от перехвата пакетов



Если приведенные выше советы показались вам недостаточными, дополнительно можно порекомендовать следующее. При передаче информации по сети используйте механизмы шифрования, такие как сервер SSH (Secure Shell), протокол SSL (Secure Sockets Layer), шифрование почтовых сообщений POP (Pretty Good Privacy) или шифрование на уровне IP, которое обеспечивается при реализации виртуальных частных сетей на-базе протокола IPSec (см. главу 9). Это надежные средства защиты от атак, направленных на перехват пакетов. Использование сетей с коммутируемой архитектурой и виртуальных локальных сетей (Virtual Local Area Network) может значительно снизить риск взлома, однако в случае применения таких средств, как утилиты dsnif f и arpredirect из UNIX (см. главу 10), нельзя предоставить никаких гарантий.

При печати второго издания этой книги был выпущен совместимый с системой NT/2000 сервер SSH, который можно найти по адресу http://marvin.criadvantage.com/caspian/Software/SSHD-NT/default.php. Многие годы он служил основой безопасного удаленного управления системами на базе UNIX, и очень интересно познакомиться с новой версией, которая позволяет из командной строки удаленно управлять системами NT/2000. Ее можно рассматривать как альтернативу терминального сервера. Более подробную информацию о сервере SSH можно найти по адресу http://www.employees.org/-satch/ssh/faq/ssh-faq.html.