Сразу две серьезные ошибки, которые могут быть использованы для фишинга, обнаружены в ноябре в интерфейсе Gmail исследователем Тимом Коттеном.
Первый баг проявился, когда Тим изучал инцидент в своей компании. Одна из его коллег обнаружила в своем аккаунте GMail в папке «Отправленные» несколько писем, которые не посылала. В результате анализа ситуации выяснилось, что письма были отправлены с чужого аккаунта и при получении были автоматически помещены в папку «Отправленные».
Оказалось, что в поле «From:» на самом деле содержалось два адреса, принадлежавшие настоящему отправителю и фактическому получателю. Причем адрес получателя из-за отсутствия кавычек воспринимается почтовыми серверами, как сопроводительный текст к второму адресу почты. А интерфейс почтового ящика воспринимает получившуюся запись уже как два разных адреса. По версии Коттена, затем при обработке поля From:, содержащего адрес получателя, Gmail сортирует письмо по пакам как отправленное, несмотря на то, что сообщение является входящим и пришло с другого адреса.
Тим Коттен проинформировал Google о проблеме. Компания никак не ответила на обращение, однако при следующей попытке отправить письмо с несколькими адресами в поле From: сервер Gmail вернул сообщение об ошибке. Коттен не сдался и модифицировал структуру заголовка, после письмо отправилось, а исследователь убедился, что проблема все еще присутствует. Тим считает, что потенциальный злоумышленник может использовать данную возможность для продвинутых фишинговых атак.
Несколько дней спустя Тим обнаружил второй баг, который позволял визуально скрыть адрес отправителя электронного письма. Как и в предыдущем случае следователь заключил, что такую особенность потенциально возможно использовать в злонамеренных целях.
Вектор эксплуатации этого баг опять нашелся в способе заполнения поля From: HTML-тегами
Исследователь пришел к выводу, что когда Gmail имеет дело со специфически сформированным полем From:, интерфейс почтового ящика просто не может отобразить информацию об отправителе:
Изучив проблему, исследователь пришел к выводу, что она заключается в том, как скрипты пользовательского интерфейса обрабатывают (парсят) заголовок письма. Если посмотреть источный текст письма в месте с заголовком, можно обнаружить, что адрес отправителя присутствует, но «спрятан» после конца тега .
Тим Коттен и в этом случае отправил всю информацию о проблеме в Google, но снова не получил никакого ответа.
Перекладываем письмо в чужом инбоксе
Первый баг проявился, когда Тим изучал инцидент в своей компании. Одна из его коллег обнаружила в своем аккаунте GMail в папке «Отправленные» несколько писем, которые не посылала. В результате анализа ситуации выяснилось, что письма были отправлены с чужого аккаунта и при получении были автоматически помещены в папку «Отправленные».
Оказалось, что в поле «From:» на самом деле содержалось два адреса, принадлежавшие настоящему отправителю и фактическому получателю. Причем адрес получателя из-за отсутствия кавычек воспринимается почтовыми серверами, как сопроводительный текст к второму адресу почты. А интерфейс почтового ящика воспринимает получившуюся запись уже как два разных адреса. По версии Коттена, затем при обработке поля From:, содержащего адрес получателя, Gmail сортирует письмо по пакам как отправленное, несмотря на то, что сообщение является входящим и пришло с другого адреса.
From: Mary, mindy@________.com (2) <info@nrccvictory.com>
Date: Tue, Nov 13, 2018 at 2:36 PM
Subject: Urgent: Confirm your vote
To: mindy ________ <mindy@________.com>
Тим Коттен проинформировал Google о проблеме. Компания никак не ответила на обращение, однако при следующей попытке отправить письмо с несколькими адресами в поле From: сервер Gmail вернул сообщение об ошибке. Коттен не сдался и модифицировал структуру заголовка, после письмо отправилось, а исследователь убедился, что проблема все еще присутствует. Тим считает, что потенциальный злоумышленник может использовать данную возможность для продвинутых фишинговых атак.
Отправляем «анонимные» письма
Несколько дней спустя Тим обнаружил второй баг, который позволял визуально скрыть адрес отправителя электронного письма. Как и в предыдущем случае следователь заключил, что такую особенность потенциально возможно использовать в злонамеренных целях.
Вектор эксплуатации этого баг опять нашелся в способе заполнения поля From: HTML-тегами
<object>, <script> или <img>
. В результате интерфейс Gmail отображал вместо адреса отправителя пустое поле.Исследователь пришел к выводу, что когда Gmail имеет дело со специфически сформированным полем From:, интерфейс почтового ящика просто не может отобразить информацию об отправителе:
Изучив проблему, исследователь пришел к выводу, что она заключается в том, как скрипты пользовательского интерфейса обрабатывают (парсят) заголовок письма. Если посмотреть источный текст письма в месте с заголовком, можно обнаружить, что адрес отправителя присутствует, но «спрятан» после конца тега .
Тим Коттен и в этом случае отправил всю информацию о проблеме в Google, но снова не получил никакого ответа.