Сто и один способ взлома электронной почты
Сто и один способ взлома электронной почты
Перед тем как углубиться в обсуждение конкретных видов атак, важно понять, как можно отправить электронное сообщение со злым умыслом. На самом деле сделать это сложнее, чем может показаться на первый взгляд. Большинство современных графических клиентских приложений электронной почты не позволяет выполнять операции непосредственно с блоком заголовка сообщений SMTP. Ирония состоит в том. что, несмотря на недовольство, которое вызывают изъяны программных продуктов компании Microsoft, которые проявляются во время приема сообщений, отправить созданный взломщиком код HTML с помощью таких программ, как Outlook или Outlook Express, крайне трудно. Конечно же, пользователи UNIX для подобных манипуляций могут воспользоваться традиционными почтовыми клиентами, которые можно использовать из командной строки.
В системе Windows авторам нравится отправлять сообщения вручную из командной строки прямо на сервер SMTP. Лучше всего для этого воспользоваться конвейером, в котором текстовый файл с соответствующими командами SMTP и данными передается через утилиту netcat. Вот как это делается.
Во-первых, необходимо создать файл с нужными командами SMTP и данными сообщения (назовем его malicia.txt). При этом, чтобы электронное письмо было правильно отформатировано, важно придерживаться правильного синтаксиса MIME (Multipurpose Internet Mail Extensions). Обычно такие сообщения отправляют в формате HTML, так что само тело сообщения представляет собой часть реализации коварного замысла. В следующем примере главной частью, в которой важно соблюдать синтаксис, являются три строки, начинающиеся со строки MlME-Version: 1,. 0.
helo
mail from: <mallory@malweary.com>
rcpt to: <hapless@victim.net>
data
subject: Read this!
Importance: high
MIME-Versicn: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<HTML>
<h2>Hello' World!</h2>
</HTML>
quit
Затем в командной строке нужно ввести имя этого файла и передать его через конвейер утилите netcat, для которой следует указать подходящий почтовый сервер с прослушиваемым SMTP-портом 25. type malicious.txt | nc -w mail.openrelay.net 25
Наверное, понятно и без слов, что хакеры, скорее всего, выберут неприметный почтовый сервер, который допускает неограниченную передачу сообщений SMTP, и постараются скрыть свой собственный IP-адрес, чтобы его нельзя было выследить с помощью журналов почтовых серверов.
Такие "открытые каналы пересылки SMTP" часто используются "спэмерами". Их можно легко отыскать в новостях Usenet или найти на Web-узле http://mail-abuse.org.
Если вместе с сообщением в формате HTML нужно отправить атожение, то сделать это несколько сложнее. Для этого в сообщение необходимо добавить другую часть в формате MIME и закодировать это вложение с помощью спецификации MIME в формат Base64 (см. RFC 2045-49). Лучше всего воспользоваться для этой цели утилитой Джона Майерса (John G. Myers) mpack. Программа mpack изящно добавляет соответствующие заголовки MIME, так что получившийся результат можно сразу отравлять прямо на сервер SMTP. Ниже приведен пример того, как с помощью утилиты mpack зашифровать файл plant.txt и записать полученные данные в файл plant.mim. Параметр -s задает содержимое поля с темой сообщения и не является обязательным.
mpack -s Nasty-gram -о plant.mim plant.txt
Теперь начинается более сложная часть. Этот фрагмент в формате MIME нужно вставить в уже существующее сообщение HTML. Воспользуемся уже знакомым примером, malicia.txt и разделим это сообщение с помощью обычных разделителей MIME в соответствии с тем, как определено в строках Content-type:. Перед разделителями MIME ставится два символа -, а в закрывающих разделителях два этих символа вводится еще и после разделителей. Кроме того, постарайтесь не забыть поместить часть сообщения MIME multipart/alternative (boundary,:), чтобы адресаты смогли расшифровать тело сообщения HTML с помошью программы Outlook. Следует обращать внимание на размещение символов перевода каретки, так как от этого зависит интерпретация сообщения. Заметим, что параметру этого сообщения importance присвоено значение high. Это еще один прием, направленный на заманивание жертвы.
helo somedomain.com
mail from: <mallory@malweary.com>
rcpt to: <hapless@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_"
--_boundary2_--
Content-Type: text/html; charset=us-ascii
<HTML>
<h2>Hello World!</h2>
</HTML>
~-_boundary2_--
--_boundaryl_--
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==
SSBjb3VsZGEgaGFja2VkIHlhIGJhZCANCg==
--_boundaryl_--
quit
В данной главе авторы будут ссылаться на этот метод как на "капсулу для взлома почты". Теперь, чтобы представить себе степень риска, которую на самом деле представляет собой атака через электронную почту, посмотрим, как этот общий метод применяется в некоторых реальных атаках.