Защита от хакеров корпоративных сетей
Шрифт:
Заметьте, что ухищрения с протоколом ARP хороши не только для злоумышленника, позволяя ему перенаправлять трафик через свою машину. Их можно использовать для мониторинга всего трафика при переключении конфигурации сети. Обычно когда между машиной злоумышленника и машиной жертвы расположен коммутатор (или любой из мостов уровня канала передачи данных), злоумышленник не может наблюдать за трафиком машины жертвы. Эксперименты с протоколом ARP – один из путей решения этой проблемы. Подробнее об этом рассказано в главе 10.
Перехват пользовательского протокола данных UDP
После рассмотрения основных сведений о перехвате сеанса TCP остальное будет несложно. Проблемы, с которыми злоумышленник сталкивается при перехвате сеанса TCP, обусловлены встроенными защитными механизмами, повышающими надежность его
Поэтому чаще всего похищение UDP-сессий сводится к состоянию гонок: кто быстрее сможет получить отклик в виде соответствующего пакета – злоумышленник или легитимный сервер с клиентом? Чаще всего в гонке выигрывает злоумышленник, поскольку у него всегда есть возможность подготовиться к атаке. Злоумышленнику необходимы инструментальные средства, с помощью которых он мог бы наблюдать за запросами, генерировать фальсифицированный ответ настолько быстро, насколько это возможно, а затем вбрасывать его в сеть.
Например, для перехвата очень привлекательна служба имен доменов DNS. Допустим, что атакующая машина злоумышленника находится ближе к клиенту, чем DNS-сервер. Тогда последовательность действий злоумышленника может быть следующей:
• злоумышленник претендует на роль какого-либо Web-сервера, например securityfocus.com;
• злоумышленник настраивает и оснащает свою машину таким образом, чтобы она отслеживала запросы, предназначенные для securityfocus.com, и сохраняла копию пакета;
• злоумышленник извлекает из запроса идентификатор запроса (request ID), а затем использует его для завершения формирования и отправки ответного пакета, приготовленного заранее и указывающего на IP-адрес злоумышленника;
• после этого клиент соединяется с машиной злоумышленника вместо securityfocus.com;
• в результате к клиенту приходит сообщение об установке соединения с securityfocus.com: «SecurityFocus has been 0wned».
Конечно, в данном случае соединение с сервером на самом деле не было установлено, но клиент об этом не знает до тех пор, пока он не додумается проверить IP-адрес securityfocus.com. В качестве альтернативы злоумышленник может сделать свой Web-сервер идентичным серверу securityfocus.com, но все загружаемые с него программы безопасности будут превращены в Троянских коней. Другая часть пакета dsniff — утилита dnsspoof – помогает реализовать подобные атаки.
Популярные инструментальные средства перехвата сеанса
На сегодняшний день широко известен ряд инструментальных средств, существенно облегчающих перехват сеансов. В некоторых случаях они работают в автоматическом режиме. Инструментарии подобного типа являются важнейшей частью любой инструментальной панели безопасности. Для обсуждения их возможностей были выбраны некоторые из них, наиболее функциональные и популярные.
Программа Juggernaut
Программа Jaggernaut была написана редактором журнала «Phrack». Он посвятил программе статью в своем журнале, которую можно найти по адресу: http://staff.washington.edu/dittrich/talks/qsm-sec/P50-06.txt.
Демонстрационная версия программы 1.0 была представлена на суд общественности во время презентации на первой конференции по вопросам безопасности «Black Hat Briefings». В следующем выпуске журнала «Phrack» читателям был представлен файл исправлений. Исправленная с его помощью версия программы Jaggernaut стала известна как версия 1.2. Этот файл можно найти по адресу: http://staff.washington.edu/dittrich/talks/qsm-sec/P51-07.txt.
Будьте
осторожны. Опубликованный файл исправлений немного подпорчен. При попытке воспользоваться им сразу станет видно, где конкретно он был изменен. Автор обошел эту проблему, удалив измененные части исправлений и вручную добавив несколько строк. Будьте также осторожны при загрузке файлов: они не в формате HTML-файлов, а текстовые. Поэтому при вырезке или вставке фрагментов файлов с Web-сайта в редактор Notepad или во что-нибудь еще вполне возможно, что вы столкнетесь с пропуском некоторых символов, которые Web-браузер попытался проинтерпретировать. Поэтому лучше выполнить команду «Сохранить как…» или облегчить себе жизнь, получив работающую версию на packetstormsecurity.org/new-exploits/1.2.tar.gz.В процессе тестирования программа Jaggernaut не «видела» соединений до тех пор, пока не была включена опция GREED в сборочном файле проекта make-файл. В инсталляционном файле описано, как это сделать.
На момент своего опубликования программа Juggernaut была пионерской работой, у которой не было аналогов. Даже сегодня лишь немногие инструментальные средства пытаются перехватывать сессии так, как это делает программа Juggernaut.
Программа Juggernaut имеет два режима работы. Первый предназначен для работы в качестве одного из вариантов модуля проверки текущего состояния в сети, который реагирует на определенные биты в передаваемых данных. Второй режим работы называется Normal – стандартный режим работы программы. Он будет рассмотрен позднее. Ниже приведена предъявляемая в оперативном режиме подсказка команд программы:
[root@rh Juggernaut]# ./juggernaut -h
Usage: ./juggernaut [-h] [-s TOKEN [-e xx] ] [-v] [-t xx]
– h terse help
– H expanded help for those “specially challanged”
people...
– s dedicated sniffing (bloodhound) mode, in which TOKEN
is found enticing
– e enticement factor (defaults to 16)
– v decrease verbosity (don’t do this)
– V version information
– t xx network read timeout in seconds (defaults to 10)
Invoked without arguments, Juggernaut starts in “normal”
mode.Показанный фрагмент – это короткая справка. Расширенная подсказка содержит более детальные объяснения, а также несколько примеров. Как можно увидеть из приведенной подсказки, у этой программы есть опции. Если программу запустить с опцией – s (специализированный режим работы программы, при котором проверяется текущее состояние сети с поиском заданных символов), то она будет работать как модуль проверки и регистрации текущего состояния сети. Например, можно задать программе символы, которые следует найти в паролях, определяемых ключевыми словами password и Password, и она будет регистрировать найденные пакеты согласно заданным символам. Количество зарегистрированных ее пакетов называется показателем захвата (enticement factor). По умолчанию эта величина равна 16, то есть программа по умолчанию регистрирует 16 найденных пакетов. При желании эту величину можно увеличить или уменьшить. Пока в исходном тексте программы не будет изменено имя файла, захваченные пакеты будут регистрироваться в файле, который называется juggernaut.log.snif. Этот файл расположен в директории, из которой была вызвана программа. Запуск программы без задания опций в командной строке приведет к запуску программы в стандартном режиме работы Normal. При этом на экран будет выведен список опций работы программы, как это показано ниже:
Juggernaut
+–+
?) Help
0) Program information
1) Connection database
2) Spy on a connection
3) Reset a connection
4) Automated connection reset daemon
5) Simplex connection hijack
6) Interactive connection hijack
7) Packet assembly module
8) Souper sekret option number eight
9) Step Down(Запуск программы без задания опций в командной строке приведет к отображению начального экрана программы с приведенной выше информацией. При указании восьмой опции ничего не делается.) При выборе первой опции, «База данных соединений» (Connection database), пользователю программы предъявляется список TCP-соединений, которые «увидела» программа. Ниже приведен пример Telnet-соединения: