На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Переполнения буфера

Немного разобравшись с серверными приложениями и службами систем семейства Windows NT, перейдем к другим сетевым соединениям — к клиентским приложениям. Среди сенсационных историй о взломах Web-серверов и серверов баз данных непритязательные Internet-ют иен ты редко рассматриваются как путь к корпоративным сетям. В данной главе мы докажем, что это серьезное упущение.
Фактически, легитимный входяший Internet-трафик является, вероятно, одним из наиболее эффективных направлений для вредоносного кода. Корпоративные брандмауэры агрессивно относятся к входящим данным, но успешно перенаправляют трафик внутренним поль­зователям в Web-браузеры или программы чтения почты, обычно подвергая ее только некоторой фильтрации. Какая из современных компаний могла бы существовать сегодня без Web или электронной почты? Таким образом, то худшее, чем может угрожать Internet, может быть легко направлено против тех, кто меньше всего осознает опасность, — против конечных пользователей.
Перед тем как перейти к обсуждению конкретных видов атак, рассмотрим некоторые общие модели атак на клиентов Internet.
Атаки на платформы Internet-клиентов фирмы Microsoft и их пользователей традиционно делятся на следующие категории в порядке снижения опасности создаваемой угрозы.
▼ Переполнения буфера можно использовать для запуска произвольного кода без всякого взаимодействия с пользователем.
■ Выполнение команд пользователями, когда в результате обмана или принуждения пользователь запускает исполняемое содержимое, созданное хакером. Существует несколько видов атак этого типа:
■ замаскированное или безобидное на вид вложение в письмо электронной почты;
■ исполняемое содержимое HTML-страниц в Web или письмахэлектронной почты;
■ ошибки в технологиях активного содержания, которые позволяют запускать недопустимый код;
■ элементы управления ActiveX, в частности, элементы с флагом "Safe for scripting";
■ ошибки в виртуальной Java-машине (Brown Orifice);
■ доступ к интерфейсам создания сценариев и автоматизации, аналогичный используемому в "червях", распространяющихся через адресную книгу Outlook Address Book.
■ Запись локальных файлов, обычно в каталогах, для которых разрешено выполнение, часто встречается по причине неправильного размещения временных каталогов или кэш-файлов. После того как файл локально записан, его можно выполнить и запустить в контексте зоны безопасности локального компьютера (Security Zone), относительно которой система настроена "на полное доверие".
■ Чтение локальных файлов, например, с использованием свойств HTML или с ломщью тега I FRAME. Общий результат применения таких методов — просмотр файлов cookie Web-браузера и получение пароля пользователя.
* Открытие исходящих клиентских соединений.
В этой главе будут рассмотрены примеры для некоторых видов атак, которые относятся к системам семейства Windows NT. Мы опишем меры противодействия для каждой конкретной атаки, а затем в конце главы перейдем к описанию общих мер защиты.
атак
Для начала, однако, представим некоторую базовую информацию о реализации атак через Web-браузер и электронную почту, которая необходима для дальнейшего обсуждения.

Реализация атак против Internet-клиентов
После того как на протяжении всей книги описывались атаки на серверы систем семейства Windows NT, читатели могут задать резонный вопрос: "Как же можно удаленно атаковать клиентские программы Windows для Internet?". Оказывается, это довольно просто, в зависи­мости от выбранного направления атаки. Наиболее эффективные И часто используемые направления атак:
■ вредоносная Web-страница;
■ вредоносное письмо электронной почты;
■ вредоносное письмо в группу новостей или службу рассылки.
Конечно, существуют и другие пути, такие как передача вредоносного кода с помощью клиентов обмена мгновенными сообщениями, мультимедиа-файлов с "троянскими" программами, а также другие атаки против распространенных птьзоватсльских программ. Однако три упомянутые здесь категории — самые популярные, поэтому рассмотрим их подробнее.
Вредоносная Web-страница
Один из наиболее распространенных способов атаки через клиентские приложения — создание где-нибудь "на задворках" internet Web-сервера, на котором размещается код, созданный для кражи информации пользователя. Чаще всего это обычные сайты, в разработке и/или поддержке которых участвуют нечестные люди, занимающиеся воровством информации без ведома владельцев или других операторов узла. В любом случае, эффективность действий злоумышленников напрямую зависит от возможности направить необходимый трафик на Web-узел/страницу с вредоносным кодом. Обычно это делается через электронную почту или сообщения в группах новостей (методы описаны далее).
Вредоносное письмо электронной почты
Наиболее широкий и прямой путь в корпоративные сети лежит через электронную почту. Распространение реализации отображения гипертекста HTML в клиентских программах для работы с электронной почтой значительно повышает эффективность атак против Internei-клиентов. Вместо того чтобы вынудить пользователя посетить Web-страницу с вредоносным кодом, злоумышленник может просто послать жертве по электронной почте письмо в формате HTML и достичь тех же результатов намного быстрее. При использовании языка HTML становятся доступны многочисленные функции (внедрение аплстов или элементов управления, сценариев, просмотр во фреймах, использование плавающих фреймов, разбор файлов cookie и т.п.), поэтому атак посредством писем электронной почты в формате HTML просто следовало ожидать.
По иронии судьбы, несмотря на вес проблемы и уязвимые места, возникающие в программах от Microsoft на стороне клиента, через программы Outlook и Outlook Express (ОЕ) невероятно сложно отослать код HTML со встроенным вредоносным кодом. Эти клиенты электронной почты с графическим интерфейсом не разрешают прямого изменения содержимого сообщений, которое необходимо сделать для получения хакером действительно серьезных результатов.
Конечно, пользователи операционной системы UNIX всегда могут воспользоваться стандартными почтовыми клиентами командной строки и провести все необходимые манипуляции.
Быстрый и простой способ эмуляции возможностей командной строки для пересылки почты в Windows заключается в прямой передаче сообщения серверу по протоколу SMTP (Simple Mail Transfer Protocol) через командную строку. Для достижения этой цели наилучшим способом будет отправка серверу текста файла с SMTP-ко мандам и и данными с помощью утилиты netcat. Далее показан пример таких действий, взятый из главы 16 книги Секреты хакеров. Безопасность сетей — готовые решения, четвертое издание.
Хакинг электронной почты
Прежде всего, необходимо сохранить в файле команды SMTP и текст сообщения. При этом важно соблюдать синтаксис MIME (Multipurpose Internet Mail Extension) для правильного форматирования письма — обычно сообщения в формате HTML мы будем посылать та­ким образом, чтобы само тело сообщения стало частью вредоносного кода. Особенно важны три строчки, которые начинаются со строки символов "MIME-Version г 1. О", как показано в следующем листинге, а файл назван malicious. txt.
helo somedomain.com mail from: <mallory@malweary.comP rcpt to: <hapless@victim.net> data
subject: Read this! Importance: high MIME-Version: 1.0
Content-Type : text/html,- charset=us-ascii Content-Transfer-Encoding: 7bit <HTML>
<h2>Hello Wcrld^</h2> </HTML>
quit
Затем необходимо вывести этот файл на консоль, а полученный поток направить на вход утилиты netcat, которая должна подключаться к порту 25 соответствующего сервера SMTP приблизительно так, как показано в следующей команде.
C:\sfcype malicious.txt | не -w nail-openrelay.net 25
Ясно, что хакеры, скорее всего, выберут неприметный почтовый сервер с неограниченным перенаправлением SMTP-сообщений и позаботятся о подмене исходного iP-адреса, чтобы их нельзя было обнаружить по журналам почтового сервера. Такие открытые серверы для перенаправления SMTP-сообшений (open SMTP relay) часто используют распространители рекламных сообщений (спаммеры), их адреса легко обнаружить в новостях Usenet, а иногда можно найти на Web-узле http: / /mail-abuse, org.
Все станоигтея несколько сложнее, когда вместе с сообщением в формате HTML нужно отослать вложение. Необходимо добавить в сообщение еще один раздел MIME, вложение закодировать по стандарту Base64 спецификации MIME (документы RFC 2045-49). Лучшая утилита для автоматического проведения этой операции— программа mpack Джона Майерса (JohnG.Mayers). Утилита mpack также вставляет ссютветствующие заголовки MIME, так что выводимые ею данные можно фазу направлять серверу SMTP. Ниже приведен пример кодирования утилитой mpack файла plant.txt. срайл с закодированными данными называется plant.mim. Аргумент-s указывает строку темы сообщения и является необязательным.
C:\xqpacfc -в Nasty-gram -о plant.mim plant.txt
общение в формате HTML созданные только что данные в формате MIME. При этом используются пользовательские границы MIME, (boundary) которые определяются строками "Content-
type:". Ограничивающие строки MIME берутся в двойные кавычки, а после закрывающей кавычки устанавливается два символа тире. Нужно также отметить необходимость наследования раздела MIME "multipart/alternative" (boundary^), чтобы пользователи программы Outlook получили правильно декодированное тело сообщения HTML. Обратите особое внимание на расположение символов разрыва строки, поскольку данные формата МГМЕ могут интерпретироваться по-разному, в зависимости от расположения переходов на новую строку. Параметру "важность" данного сообщения было присвоено значение "высокая", чтобы лишний раз привлечь внимание пользователя. Далее приведен текст файла под названием malicious, txt.
Jielo somedomain. coin mail from: <mallory@maiweary.com> rcpt to: -rhapless@victim.net> data
subject: Read this! Importance: high MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="_boundaryl_" —_boundaryl_ Content-Type: multipart/alternative; boundary="_boundary2_i' —_boundary2_
Content-Type: text/html; charset^us-ascii <HTML>
<h2>Hello World!</h2> </HTML>
--_boundary2_----_boundary1_
Content-Type: application/octet-stream; name="plant.txt" Content-ID: <5551212> Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="plant. txt' Content-MD5: Psn+mcJEvOfPwoEc40XYTA-= SSBjb3VsZGEgaGFja2VkIHlhICkJhZCAKCg== --_boundaryl_--
quit
Если эти данные передать через утилиту netcat на открытый SMTP-сервер, то по адресу hapless@victim.net будет доставлено сообщение в формате HTML с вложенным в сообщение файлом plant, txt. За пояснениями по вопросам использования границ MIME и сообщений, состоящих из нескольких частей, рекомендуется обратиться кдокументу RFC 2046, раздел 5.1.i. Также будет полезно рассмотреть текстовое сообщение, переданное в программу Outlook Express. Чтобы увидеть исходный текст сообщения, нужно выбрать пункт меню Properties* Details* Message Source (Свойств а* Под роб но* И сходное сообщение) — программа Outlook не позволяет просматривать все данные SMTP.
Вредоносное письмо в группу новостей или службу рассылки
Конечно же, все, что можно послать по электронной почте, с таким же успехом можно послать и серверу рассылок, чтобы распространить среди миллионов получателей. Используются те же методы, что были описаны выше, необходимо лишь изменить адрес получателя на адрес интересующего списка рассылки.
Атаки
Чтобы показать всю серьезность уязвимых мест Internet-клиентов, рассмотрим примеры атак каждого из описанных ранее типов. Также будут описаны и меры противодействия для каждой атаки, а в конце главы будет приведен список мер противодействия обшего назначения.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика