Изучение современных методов
Многие современные атаки выполняются так называемыми "скрипт киддиз" (script kiddies). Это пользователи, отыскивающие сценарии эксплойтов в интернете и запускающие их против всех систем, которые только можно найти. Эти нехитрые способы атак не требуют специальных знаний или инструкций.
Однако существуют и другие методы, основанные на более глубоком понимании работы компьютеров, сетей и атакуемых систем. В данном разделе мы познакомимся с такими методами - с прослушиванием (снифингом, от англ. sniffing) коммутируемых сетей и имитацией IP-адреса (IP-spoofing).
Прослушивание коммутируемых сетей
Прослушивание, или снифинг (sniffing), используется хакерами/крэкерами после взлома системы для сбора паролей и другой системной информации. Для этого снифер устанавливает плату сетевого интерфейса в режим прослушивания смешанного трафика (promiscuous mode), т. е. сетевой адаптер будет перехватывать все пакеты, перемещающиеся по сети, а не только пакеты, адресованные данному адаптеру или системе. Сниферы такого типа хорошо работают в сетях с разделяемой пропускной способностью с сетевыми концентраторами - хабами.
Поскольку сейчас больше используются сетевые коммутаторы, эффективность снифинга стала снижаться. В коммутируемой среде не применяется режим широковещательной передачи, вместо этого пакеты отправляются непосредственно к системе-получателю. Однако коммутаторы не являются защитными устройствами. Это обычные сетевые устройства, следовательно, обеспечиваемая ими безопасность скорее побочный продукт их сетевого назначения, чем элемент конструкции. Поэтому вполне возможно появление снифера, способного работать и в коммутируемой среде. И это уже произошло. Снифер, специально разработанный для коммутируемой среды, можно найти по адресу http://ettercap.sourceforge.net/.
Для прослушивания трафика в коммутируемой среде хакер должен выполнить одно из условий:
- "убедить" коммутатор в том, что трафик, представляющий интерес, должен быть направлен к сниферу;
- заставить коммутатор отправлять весь трафик ко всем портам.
При выполнении одного из условий снифер сможет считывать интересующий трафик и, таким образом, обеспечивать хакера искомой информацией.
Перенаправление трафика
Коммутатор направляет трафик к портам на основании адреса доступа к среде передачи данных (Media Access Control) - MAC-адреса - для кадра, передаваемого по сети Ethernet. Каждая плата сетевого интерфейса имеет уникальный MAC-адрес, и коммутатор "знает" о том, какие адреса назначены какому порту. Следовательно, при передаче кадра с определенным MAC-адресом получателя коммутатор направляет этот кадр к порту, к которому приписан данный MAC-адрес.
Ниже приведены методы, с помощью которых можно заставить коммутатор направлять сетевой трафик к сниферу:
- ARP-спуфинг;
- дублирование MAC-адресов;
- имитация доменного имени.
ARP-спуфинг (ARP-spoofing). ARP - это протокол преобразования адресов (Address Resolution Protocol), используемый для получения MAC-адреса, связанного с определенным IP-адресом. При передаче трафика система-отправитель посылает ARP-запрос по IP-адресу получателя. Система-получатель отвечает на этот запрос передачей своего MAC-адреса, который будет использоваться системой-отправителем для прямой передачи трафика.
Если снифер захватит трафик, представляющий для него интерес, то он ответит на ARP-запрос вместо реальной системы-получателя и предоставит собственный MAC-адрес. В результате система-отправитель будет посылать трафик на снифер.
Для обеспечения эффективности данного процесса необходимо переадресовывать весь трафик на снифер вместо реального места назначения. Если этого не сделать, то появится вероятность возникновения отказа в доступе к сети.
Примечание
ARP-спуфинг работает только в локальных подсетях, поскольку ARP-сообщения передаются только внутри локальной подсети. Снифер должен размещаться в том же самом сегменте локальной сети, где находятся системы отправителя и получателя.
Дублирование MAC-адресов. Дублирование MAC-адреса системы-получателя является еще одним способом "убедить" коммутатор посылать трафик на снифер. Для этого хакеру нужно изменить MAC-адрес на снифере и разместиться в системе, которая находится в том же сегменте локальной сети.
Примечание
Считается, что изменить MAC-адреса невозможно. Однако дело обстоит совсем не так. Это можно сделать в системе Unix с помощью команды ipconfig. Аналогичные утилиты имеются и в системе Windows.
Для выполнения ARP-спуфинга снифер должен располагаться в той же самой локальной подсети, что и обе системы (отправитель и получатель), чтобы иметь возможность дублирования MAC-адресов.
Имитация доменного имени. Существует третий способ заставить коммутатор отправлять весь трафик на снифер: нужно "обмануть" систему-отправителя, чтобы она использовала для передачи данных реальный MAC-адрес снифера. Это осуществляется с помощью имитации доменного имени.
При выполнении этой атаки снифер перехватывает DNS-запросы от системы-отправителя и отвечает на них. Вместо IP-адреса систем, к которым был послан запрос, система-отправитель получает IP-адрес снифера и отправляет весь трафик к нему. Далее снифер должен перенаправить этот трафик реальному получателю. Мы видим, что в этом случае атака имитации доменного имени превращается в атаку перехвата.
Для обеспечения успеха данной атаки сниферу необходимо просматривать все DNS-запросы и отвечать на них до того, как это сделает реальный получатель. Поэтому снифер должен располагаться на маршруте следования трафика от системы-отправителя к DNS-серверу, а еще лучше - в той же локальной подсети, что и отправитель.
Примечание
Снифер мог бы просматривать запросы, отправляемые через интернет, но чем дальше он от системы-отправителя, тем сложнее гарантировать, что он первым ответит на них.