Центр безопасности AhnLab SEC (ASEC) зафиксировал новую волну атак на Linux-серверы, которые администраторы оставили без должной защиты. Для мониторинга использовались несколько ловушек (honeypots), имитирующих уязвимые системы. В результате анализа выявлены случаи использования вредоносного ПО, способного к самораспространению - злоумышленники устанавливали на скомпрометированные серверы майнер криптовалюты XMRig и бота для DDoS-атак ShellBot. Судя по методам и инструментам, одна и та же группа действует как минимум с 2023 года.
Описание
В ходе атак применяются загрузчики и распространяющееся вредоносное ПО, написанное на языке Go, а также сценарии, скомпилированные утилитой Shc (Shell Script Compiler). Дополнительно используются такие инструменты, как MIG LogCleaner для заметания следов и XHide для маскировки процессов майнера под легитимные системные службы.
Вектор атаки начинается с перебора учётных данных SSH. На ловушках ASEC были зафиксированы многочисленные попытки сканирования и входа в систему с разных адресов. Команды, которые выполнялись после успешного входа, совпадают с логикой распространяющегося вредоносного ПО. После получения доступа злоумышленник загружал и запускал загрузчик с именем "run". Этот загрузчик написан на Go, меняет пароль текущего пользователя, а затем скачивает архив "pack.Jpg", распаковывает его и запускает содержащиеся в нём файлы. Среди них - "mysql" (фактически XMRig CoinMiner) и "meta" (модуль распространения), который запускается с указанием диапазона сканирования и файла с учётными данными.
Модуль "meta" также написан на Go и предназначен для бокового перемещения. Он сканирует сетевые адреса из файла "ranges" на наличие открытого порта 22 (SSH) и пытается подключиться, используя пары логин-пароль из файла "pass". При успешной аутентификации на целевом сервере выполняется команда, устанавливающая майнер XMRig. Результаты каждой атаки отправляются на сервер сбора через HTTP POST-запрос по адресу hxxp://youpost[.]in/.
Сам майнер "mysql" имеет продвинутую логику установки. Если он запущен с правами root и текущий путь исполнения не является "/etc/ufw/.Dev/oracle-monitor", он копирует себя в эту директорию, а также в "/dev/shm/.Sys_cache_backup". Затем создаётся systemd-сервис с именем "oracle-service", обеспечивающий автозапуск. При запуске из директории "/etc/ufw/.Dev/oracle-monitor" майнер работает в режиме "сторожевого пса" (watchdog) - периодически проверяет наличие копии в "/dev/shm/", так как файлы в этой папке удаляются после перезагрузки. При отсутствии копии она загружается заново. Затем майнер добавляет задание в cron для выполнения после каждой перезагрузки. После завершения этих процедур программа создаёт дочерний процесс, который непосредственно занимается майнингом Monero через пять пулов. Для маскировки используются имена легитимных процессов - например, "/usr/sbin/irqbalance", "kworker/u16:1-events_unbound", "/usr/lib/systemd/systemd-journald". Файлы-блокировки "/dev/shm/.Agt.Lck" и "/dev/shm/.Mnr.Lck" предотвращают одновременный запуск нескольких экземпляров.
Дополнительно с тех же серверов распространения злоумышленники скачивают ShellBot под именем ".b0t". ShellBot (PerlBot) - это бот для DDoS-атак, написанный на Perl. Он связывается с командными серверами через протокол IRC и поддерживает не только атаки типа "отказ в обслуживании", но и удалённое управление заражённой системой. В ходе атак использовались два командных сервера: "irc[.]lat:80" и "irc.undernet[.]org:6667" с каналами "#X" и "#T3st" и идентификаторами администраторов. Примечательно, что ShellBot поддерживает манипуляцию с логами, однако злоумышленники дополнительно распространяли MIG LogCleaner - утилиту для очистки журналов.
Ещё один обнаруженный сценарий атаки включает архив "auto.jpg". Внутри архива находятся сценарии на Shc, которые используются для сокрытия команд, а также утилита XHide и сам майнер XMRig (под именем "Discord"). Как показал анализ ASEC, эти инструменты применяются для маскировки майнинга и введения администратора в заблуждение. Сценарий "pot" перемещает файлы, отвечающие за сокрытие, в директорию "/usr/share/terminfo/c/.X/.L/", а сам майнер и XHide - в "/usr/share/terminfo/c/.X/.X/". Затем выполняется скрипт, который изменяет файлы ".bashrc" пользователей, добавляя алиасы для стандартных команд - "w", "crontab", "top", "uptime", "ls". При вводе любой из этих команд вместо реального вывода выполняется подставной скрипт. Например, команда "crontab" показывает только старые записи, игнорируя новые задания майнера, а "w", "uptime" и "top" выводят фиксированное значение нагрузки процессора, чтобы администратор не заметил использование ресурсов. Алиасы для "ls" и "lsconfig" скрывают файлы вредоносного ПО.
XHide работает следующим образом: он получает на вход имя процесса, под которым нужно замаскировать запуск, и исполняемый файл. При запуске майнера XMRig его argv[0] устанавливается в значение одного из легитимных процессов - например, "[kworker/u257:2]". Таким образом, в списке процессов майнер выглядит как обычный рабочий поток ядра.
Сам майнер "Discord" является модифицированной версией XMRig, которая может принимать адрес пула в качестве аргумента, но по умолчанию использует встроенную конфигурацию с пулами "sad[.]lat:80" и "time.justnames[.]in:80". Кошелёк злоумышленника указан в логах, и пароль - "x".
Итоговая картина атаки многокомпонентная. Злоумышленники сначала подбирают пароли к SSH, используя словарные атаки или брутфорс. После получения доступа устанавливается загрузчик, который доставляет майнер и модуль распространения. Майнер монетизирует вычислительные ресурсы сервера для добычи Monero. Параллельно устанавливается ShellBot, который даёт возможность удалённого управления, DDoS-атак и установки дополнительного вредоносного ПО, включая кражу данных. Инструменты сокрытия (XHide, подмена команд через .bashrc) делают заражение почти незаметным для неопытного администратора.
Для защиты от таких атак требуется комплексный подход. Администраторам Linux-серверов необходимо использовать сложные, трудно подбираемые пароли и регулярно их менять. Обязательно применение последних обновлений безопасности для исправления известных уязвимостей. Серверы, доступные из интернета, следует защищать с помощью файрволов, ограничивая доступ по IP и используя нестандартные порты для SSH. Применение средств мониторинга целостности системы и охоты на угрозы (threat hunting) позволяет выявить аномалии в поведении процессов и нагрузке на ЦПУ. Также рекомендуется регулярно проверять crontab, systemd-сервисы и файлы .bashrc на предмет несанкционированных изменений.
Индикаторы компрометации
IPv4
- 143.20.185.252
- 146.19.213.82
- 172.245.81.188
- 185.242.3.57
- 192.3.9.34
Domain
- irc.lat
- sad.lat
- time.justnames.in
- youpost.in
URL
- http://download.xrpl.city/.b0t
- http://download.xrpl.city/auto/auto.jpg
- http://download.xrpl.city/auto/mig
- http://download.xrpl.city/run
- http://download.xrpl.city/test/pack.jpg
MD5
- 0d01bd11d1d3e7676613aacb109de55f
- 0fde38c0cfa5e5bf8e6ac2a6be0232b7
- 161d62e4b7ab39f677e7a6828039ef79
- 2fcad1ae4a29ddb3862f3674065e7433
- 3565360c4102e152852976effc9aab85