Фальшивый аттач: Атаки на почтовые серверы Roundcube с использованием уязвимости CVE-2024-37383

Добро пожаловать на наш форум!

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


Gibby

Автор
Команда проекта

Регистрация
Сообщений
1,635
Репутация
45
Сделок
1.png

Roundcube Webmail – клиент для электронной почты с открытым исходным кодом, написанный на PHP. Обширный функционал, а также возможность удобного доступа к почтовым аккаунтам из браузера без необходимости установки полноценных почтовых клиентов обусловили его популярность в том числе среди коммерческих и государственных организаций многих стран.

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

Пример одной из подобных атак мы хотим привести в этой статье.

О письме​

В сентябре 2024 года специалистами TI-департамента экспертного центра безопасности Positive Technologies (PT ESC) было обнаружено письмо, направленное на электронную почту одного из государственных органов страны СНГ. Временные метки говорят о том, что оно было отправлено еще в июне 2024 года. Внешне письмо представляло собой сообщение без текста и содержало вложенный документ.

2.png

При этом почтовый клиент не отображал наличие вложения. В теле письма есть характерные теги, содержащие конструкцию eval(atob(...)), декодирующие и выполняющие код на JavaScript:

3.png

Характерное имя атрибута (attributeName="href "), содержащее дополнительный пробел, говорит о том, что это письмо представляет собой попытку эксплуатации уязвимости CVE-2024-37383 в почтовом клиенте Roundcube Webmail.

Об уязвимости​

Уязвимость CVE-2024-37383 была обнаружена в веб-клиенте для работы с электронной почтой Roundсube Webmail. Она относится к типу хранимых XSS (stored XSS), позволяя выполнить JavaScript-код атакующего в контексте страницы пользователя. Для этого достаточно открыть вредоносное письмо клиентом Roundcube версии 1.5.6 и ниже либо версии от 1.6 до 1.6.6. Уязвимость обнаружили исследователи CrowdStrike, а разработчики Roundcube устранили ее 19 мая 2024 года.

Ошибка заключается в коде, выполняющем обработку SVG-элементов в разметке тела письма. Перед тем как отобразить письмо, Roundcube производит его препроцессинг — обрабатывает содержимое определенных тегов и их атрибутов (например, экранирует специальные символы). Среди прочего на этой стадии из итогового тела письма исключаются элементы SVG, которые имеют атрибуты <animate>, со ссылкой на элемент:

4.png

Их содержимое заменяется на пустые элементы SVG:

5.png

Функция, осуществляющая препроцессинг HTML-элементов в теле письма, выглядит следующим образом:

6.png

Для того чтобы теги <animate>, <animatecolor>, <set>, <animatetransform> исключались из итоговой страницы при условии, в них дополнительно должен содержаться атрибут href:

7.png

Наличие этого атрибута проверяется вызовом функции attribute_value($node, 'attributename', 'href'), код которой выглядит следующим образом:

8.png

При сравнении не учитывается, что имя атрибута тега, полученное при парсинге документа, может содержать пробелы. Таким образом, при добавлении к имени атрибута href лишнего пробела, конструкция вида

9.png

не будет отфильтрована и попадет в итоговый документ. Перед этим она будет приведена к виду {имя атрибута} = {значение атрибута}:

10.png

Если подставить в качестве значения href JavaScript-код, получаем возможность его выполнения в контексте страницы Roundcube при открытии вредоносного письма клиентом Roundcube. PoC, опубликованный для уязвимости, выглядит следующим образом:

11.png

О полезной нагрузке​

Код, который выполняется в функции eval, сохраняет пустой документ Road map.docx (закодирован в скрипте в Base64). Помимо этого, предпринимается попытка получить сообщения из почтового сервера с помощью плагина ManageSieve. Выдержка из запроса приведена ниже:

12.png

Дополнительно в HTML-страницу, отображаемую пользователю, добавляется форма авторизации с полями rcmloginuser и rcmloginpwd — логином и паролем пользователя для клиента Roundcube. Расчет здесь, предположительно, делается на возможность автозаполнения указанных полей либо на то, что пользователь самостоятельно введет указанные данные из-за необходимости якобы повторной авторизации.

Полученные таким образом логин и пароль отправляются на сервер libcdn.org:

13.png

Сам домен libcdn.org был зарегистрирован 6 июня 2024 года и резолвится на инфраструктуру Cloudflare.

Выводы​

Уязвимости Roundcube Webmail неоднократно становились инструментом в руках злоумышленников. Последней из таких атак была кампания, относящаяся к кластеру активности группировки Winter Vivern, которая через уязвимость XSS в Roudcube атаковала государственные организации ряда европейских стран. При этом, исходя из имеющихся сведений, выявленную активность не удалось связать напрямую с известными акторами.

Несмотря на то что клиент Roundcube Webmail является не самым популярным почтовым клиентом, атаки на него могут нанести значительный ущерб в виде хищения конфиденциальной информации, поскольку это ПО довольно часто используется государственными органами.

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