UPDATE от 13.09.2023. Команда Free Download Manager опубликовала официальное заявление по поводу этого инцидента.
В последние несколько лет компьютеры с Linux все чаще становятся целью самых разных злоумышленников. По данным нашей телеметрии в 2023 году наши решения обнаружили 260 тысяч уникальных образцов вредоносного ПО для этой ОС. Как мы покажем в этой статье, нацеленные на Linux кампании могут продолжаться несколько лет, прежде чем попадут в поле зрения специалистов по кибербезопасности.
Мы обнаружили одну такую продолжительную атаку при исследовании набора доменов следующего вида:
- 2c9bf1811ff428ef9ec999cc7544b43950947b0f.u.fdmpkg[.]org
- c6d76b1748b67fbc21ab493281dd1c7a558e3047.u.fdmpkg[.]org
- 0727bedf5c1f85f58337798a63812aa986448473.u.fdmpkg[.]org
- c3a05f0dac05669765800471abc1fdaba15e3360.u.fdmpkg[.]org
Для специалиста по безопасности эти домены выглядят крайне подозрительно. Они похожи на те, что используются зловредами, генерирующими доменные имена для общения с командным сервером. Поэтому мы решили подробнее изучить домен fdmpkg[.]org.
Вредоносный репозиторий Debian
Мы установили, что у рассматриваемого домена есть поддомен deb.fdmpkg[.]org. При переходе на него отображается следующая страница:
Согласно информации на странице, на поддомене якобы размещен Debian-репозиторий программы Free Download Manager. Мы также нашли Debian-пакет этой программы, доступный для загрузки с URL-адреса https://deb.fdmpkg[.]org/freedownloadmanager.deb. Пакет содержит зараженный скрипт postinst, который выполняется после установки и записывает два ELF-файла: /var/tmp/crond и /var/tmp/bs. После этого для закрепления в системе скрипт создает cron-задачу, которая запускает файл /var/tmp/crond каждые 10 минут, и сохраняет ее в файле /etc/cron.d/collect.
Версия Free Download Manager, которую устанавливает зараженный пакет, была выпущена 24 января 2020 года. При этом в скрипте postinst присутствуют комментарии на русском и украинском языках с информацией об изменениях в новых версиях вредоносной программы и заявлениями активистского характера. В этих комментариях также указаны даты: 20200126 (26 января 2020 г.) и 20200127 (27 января 2020 г.).
Бэкдор на основе DNS
После установки пакета с вредоносным ПО при каждом запуске системы планировщик cron запускает исполняемый файл /var/tmp/crond. Этот исполняемый файл — бэкдор, который не импортирует из внешних библиотек никаких функций. Для доступа к API Linux он использует системные вызовы с помощью скомпонованной статически библиотеки dietlibc.
После запуска бэкдор создает DNS-запрос типа A для домена <20-байтовая_строка_в_шестнадцатеричном_формате>.u.fdmpkg[.]org. В ответ бэкдор получает два IP-адреса, в которых закодирован адрес и порт вторичного командного сервера. Мы вручную выполнили этот DNS-запрос и получили следующие адреса:
- 172.111.48[.]101
- 127.1.0[.]80
Первый из этих IP-адресов — адрес вторичного командного сервера, а второй содержит порт (закодирован в третьем и четвертом октетах) и тип подключения (закодирован во втором октете).
После обработки ответа на DNS-запрос бэкдор запускает реверс-шелл, используя для коммуникации вторичный командный сервер. В зависимости от типа подключения применяется протокол передачи данных SSL или TCP. Если выбран протокол SSL, бэкдор crond запускает исполняемый файл /var/tmp/bs и делегирует ему все последующие коммуникации. В противном случае реверс-шелл создает сам бэкдор crond.
Bash-стилер
Выяснив, что бэкдор crond создает реверс-шелл, мы решили понять, как злоумышленники его используют. Для этого мы установили зараженный пакет Free Download Manager в песочнице. По трафику, сгенерированному процессом crond, мы определили, что злоумышленники загрузили Bash-стилер. Он собирает сведения о системе, историю браузера, сохраненные пароли, файлы криптовалютных кошельков, а также учетные данные для облачных служб (AWS, Google Cloud, Oracle Cloud Infrastructure и Azure).
После сбора данных на зараженном компьютере стилер загружает с командного сервера бинарный файл-загрузчик /var/tmp/atd. Он используется для отправки результатов работы стилера злоумышленникам.
Иной активности через реверс-шелл мы не выявили. Таким образом, всю цепочку заражения можно представить в виде схемы ниже:
Загадочный вектор заражения
Проанализировав все компоненты этой цепочки, мы решили узнать, каким образом зараженный пакет Debian попадал к жертвам. Мы проверили официальный веб-сайт программы Free Download Manager (freedownloadmanager[.]org). Пакеты, доступные для загрузки с этого сайта, размещались на домене files2.freedownloadmanager[.]org и не содержали бэкдора.
Затем мы изучили все сведения о домене fdmpkg[.]org, встречающиеся в открытых источниках. Нашлось около десятка постов на таких сайтах, как StackOverflow и Reddit, с обсуждением проблем, вызванных зараженной версией Free Download Manager. Посты были опубликованы в течение трех лет с 2020 по 2022 год.
В одном из таких постов на Unix Stack Exchange автор жалуется на сообщение «Waiting for process: crond», которое не позволяет выключить компьютер:
В ответах пользователи, также столкнувшиеся с такой проблемой, высказывали предположение, что она вызвана программой Free Download Manager. Они советовали удалить файлы /etc/cron.d/collect, /var/tmp/crond и /var/tmp/bs, однако никто не упомянул, что эти файлы представляют собой вредоносное ПО.
В другом посте, опубликованном в 2020 году, пользователь Reddit спрашивал, можно ли установить Free Download Manager без запуска скрипта postinst, содержащего вредоносное ПО (о чем пользователь не подозревал).
Также автор этого поста опубликовал содержимое postinst-скрипта. Другой пользователь Reddit прокомментировал, что он, возможно, вредоносный. Однако им не удалось найти веб-сайт, распространяющий зараженный пакет, или выяснить, что делает этот скрипт.
Кроме того, мы нашли на Reddit пост с упоминанием, что в 2015 году через официальный веб-сайт Free Download Manager уже распространялось вредоносное ПО. Как выяснилось, это вредоносное ПО не было связано с выявленной нами кампанией.
Посты в социальных сетях навели нас на мысль, что вредоносный пакет Debian мог распространяться посредством атаки на цепочку поставок через веб-сайт freedownloadmanager[.]org. Поэтому мы стали искать дополнительные факты, чтобы подтвердить или опровергнуть это предположение.
Неожиданное перенаправление
Просматривая размещенные на YouTube видеоролики о Free Download Manager, мы нашли несколько видеоинструкций по установке этой программы на компьютеры под управлением Linux. Во всех этих видео показаны следующие действия:
- Создатели видео открывали в браузере легитимный веб-сайт программы Free Download Manager (freedownloadmanager[.]org).
- Затем они нажимали кнопку загрузки версии программы для Linux.
- Это действие перенаправляло их на вредоносный URL-адрес https://deb.fdmpkg[.]org/freedownloadmanager.deb с зараженной версией Free Download Manager.
Также мы заметили, что перенаправление на вредоносный домен deb.fdmpkg[.]org происходило не во всех случаях. В другом найденном видео, опубликованном в тот же промежуток времени, нажатие кнопки загрузки на веб-сайте программы привело к скачиванию легитимного Free Download Manager.
Таким образом, возможно, что скрипт разработчиков вредоносного ПО выполнял перенаправление с определенной вероятностью или в зависимости от цифрового отпечатка жертвы.
Также мы изучили легитимный веб-сайт Free Download Manager, чтобы попробовать установить, было ли разработчикам программы известно о компрометации их сайта. В одном из комментариев в блоге программного обеспечения в 2021 году пользователь пожаловался на то, что заметил доступ к домену 5d6167ef729c91662badef0950f795bf362cbb99.u.fdmpkg[.]org. В ответе на этот комментарий пользователь с ником blogadmin написал, что программа Free Download Manager не связана с этим доменом, и посоветовал использовать только официальные версии программы:
Однако никто не попытался выяснить, каким образом к этому пользователю попала подозрительная версия Free Download Manager. В результате официальный веб-сайт программы продолжал распространять вредоносный пакет Debian как минимум до 2022 года.
Происхождение бэкдора
Установив, каким образом распространялся зараженный пакет Free Download Manager, мы решили проверить, встречаются ли совпадения кода между имплантами, которые мы обнаружили в ходе этого расследования, и другими образцами вредоносного ПО. Оказалось, что бэкдор crond представляет собой модифицированную версию бэкдора под названием Bew. Различные варианты этого бэкдора защитные решения «Лаборатории Касперского» для Linux выявляют с 2013 года.
Бэкдор Bew не раз подвергался анализу. Одно из первых описаний было опубликовано в 2014 году. В дополнение к этому в 2017 году ЦЕРН опубликовала сообщение о кампании BusyWinman с использованием Bew. По данным ЦЕРН, заражение Bew происходило через вредоносную загрузку (drive-by download).
Ранняя версия стилера была описана Yoroi в 2019 году. Она запускалась после эксплуатации уязвимости почтового сервера Exim.
Почему этот пакет вредоносного ПО не был обнаружен раньше?
Вредоносное ПО, применяемое в этой кампании, было известно с 2013 года. К тому же оно оставляло много следов, о чем свидетельствует целый ряд постов в социальных сетях. Согласно данным нашей телеметрии, жертвы этой кампании находились по всему миру, включая Бразилию, Китай, Саудовскую Аравию и Россию. С учетом этих фактов может показаться парадоксальным, что вредоносный пакет Free Download Manager оставался незамеченным более трех лет.
Мы считаем, что это обусловлено следующими факторами:
- вредоносное ПО для Linux встречается намного реже, чем для Windows;
- заражение вредоносным пакетом Debian происходило с определенной долей вероятности: некоторые пользователи получали зараженный пакет, тогда как другие — безвредный;
- пользователи социальных сетей, обсуждавшие проблемы с Free Download Manager, не подозревали, что они вызваны вредоносным ПО.
Хотя обнаруженная кампания уже неактивна, случай с Free Download Manager демонстрирует, что обнаружить активную кибератаку на Linux-машину «невооруженным глазом» непросто. Поэтому важно, чтобы компьютеры под управлением Linux — как персональные, так и серверные — были оснащены надежными и эффективными защитными решениями.
Мы связались с разработчиками Free Download Manager и сообщили им об этой кампании. На момент публикации статьи мы не получили от них ответа.
Индикаторы компрометации
Контрольные суммы файлов
b77f63f14d0b2bde3f4f62f4323aad87194da11d71c117a487e18ff3f2cd468d (вредоносный пакет Debian)
2214c7a0256f07ce7b7aab8f61ef9cbaff10a456c8b9f2a97d8f713abd660349 (бэкдор crond)
93358bfb6ee0caced889e94cd82f6f417965087203ca9a5fce8dc7f6e1b8a3ea (бэкдор bs)
d73be6e13732d365412d71791e5eb1096c7bb13d6f7fd533d8c04392ca0b69b5 (утилита выгрузки данных atd)
Пути к файлам
/etc/cron.d/collect
/var/tmp/crond
/var/tmp/bs
/var/tmp/atd
Сетевые индикаторы
fdmpkg[.]org
172.111.48[.]101
Бэкдор во Free Download Manager — возможная атака на Linux через цепочку поставок
FDM Team
Greetings from the Free Download Manager team! We acknowledge the reports regarding the security concerns and assure you that we’re actively investigating their history. As of now, all links on the FDM website are secure and functional. For a comprehensive overview of the situation, we’ve made an official announcement on our website. We encourage everyone to get more insights here: https://www.freedownloadmanager.org/blog/?p=664