Читаем Защита от хакеров корпоративных сетей полностью

До тех пор, пока злоумышленник будет правильно транслировать трафик машины жертвы (или успешно фальсифицировать факсимиле сервера, с которым пытается общаться жертва), жертва вряд ли заметит какие-либо изменения. Безусловно, если акцентировать внимание, то можно найти определенные различия. Например, после такой атаки каждый пакет проходит один и тот же сегмент локальной сети дважды, что слегка повышает объем пересылаемых по сети данных и само по себе является подозрительным. Но главный недостаток заключается в изменении на машине жертвы ARP-кэша. Это достаточно просто отследить, если заранее подготовиться к этому. Одним из инструментальных средств отслеживания подобных изменения является программа arpwatch, которую можно найти по адресу: ftp:// ee.lbl.gov/arpwatch.tar.gz.

Инструментарием проведения ARP-атак является программа grat_arp, которая из-за отсутствия официального имени так и называется. Программа grat_arp была написана Мудге (Mudge) и некоторыми его неизвестными друзьями, как он сам это утверждает. Ее можно найти в разных местах, например по адресу www.securityfocus.com/archive/82/28493. Хорошая статья на данную тему (вместе с прилагаемой программой send_arp.c) расположена по адресу www.securityfocus.com/archive/1/7665.

В дополнение к вышесказанному может быть использована упоминавшаяся в главе 10 программа arpspoof. Она является частью инструментального средства dsniff, доступного на www.monkey.org/~dugsong/dsniff. Программа arpspoof выполняет большую часть работы в автоматическом режиме.

Некоторые из упомянутых выше функциональных возможностей встроены в программу Hunt, которая будет описана ниже в этой главе, в специально посвященном ей пункте.

Заметьте, что ухищрения с протоколом ARP хороши не только для злоумышленника, позволяя ему перенаправлять трафик через свою машину. Их можно использовать для мониторинга всего трафика при переключении конфигурации сети. Обычно когда между машиной злоумышленника и машиной жертвы расположен коммутатор (или любой из мостов уровня канала передачи данных), злоумышленник не может наблюдать за трафиком машины жертвы. Эксперименты с протоколом ARP – один из путей решения этой проблемы. Подробнее об этом рассказано в главе 10.

Перехват пользовательского протокола данных UDP

После рассмотрения основных сведений о перехвате сеанса TCP остальное будет несложно. Проблемы, с которыми злоумышленник сталкивается при перехвате сеанса TCP, обусловлены встроенными защитными механизмами, повышающими надежность его работы. Если бы не было последовательных номеров, механизма уведомления ASK и других вещей, используемых протоколом TCP для повышения надежности доставки пакетов адресату, злоумышленнику было бы гораздо проще жить. Догадываетесь, куда клонит автор? У пользовательского протокола данных UDP нет этих защитных механизмов. По крайней мере, даже если они и есть, то они не реализованы в той степени, как в протоколе TCP. Тем не менее разработчик протокола может реализовать необходимые ему защитные механизмы протокола TCP поверх протокола UDP. Известно об очень немногих попытках реализации даже малой части защитных механизмов протокола TCP. В сетевой файловой системе NFS реализовано что-то похожее на последовательные номера и возможности ретрансляции, но гораздо проще, чем в протоколе TCP.

Поэтому чаще всего похищение UDP-сессий сводится к состоянию гонок: кто быстрее сможет получить отклик в виде соответствующего пакета – злоумышленник или легитимный сервер с клиентом? Чаще всего в гонке выигрывает злоумышленник, поскольку у него всегда есть возможность подготовиться к атаке. Злоумышленнику необходимы инструментальные средства, с помощью которых он мог бы наблюдать за запросами, генерировать фальсифицированный ответ настолько быстро, насколько это возможно, а затем вбрасывать его в сеть.

Например, для перехвата очень привлекательна служба имен доменов DNS. Допустим, что атакующая машина злоумышленника находится ближе к клиенту, чем DNS-сервер. Тогда последовательность действий злоумышленника может быть следующей:

• злоумышленник претендует на роль какого-либо Web-сервера, например securityfocus.com;

• злоумышленник настраивает и оснащает свою машину таким образом, чтобы она отслеживала запросы, предназначенные для securityfocus.com, и сохраняла копию пакета;

• злоумышленник извлекает из запроса идентификатор запроса (request ID), а затем использует его для завершения формирования и отправки ответного пакета, приготовленного заранее и указывающего на IP-адрес злоумышленника;

• после этого клиент соединяется с машиной злоумышленника вместо securityfocus.com;

• в результате к клиенту приходит сообщение об установке соединения с securityfocus.com: «SecurityFocus has been 0wned».

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже