Исследователи Cado Labs недавно обнаружили новую кампанию криптоджекинга, направленную на небезопасное развертывание Redis. В основе этой кампании лежало использование transfer.sh, бесплатной службы передачи файлов с открытым исходным кодом в командной строке.
Redis Miner
Хотя сервис существует уже некоторое время - коммиты в репозитории Github датируются 2014 годом - сообщения о его использовании для распространения вредоносного ПО встречаются редко. Однако телеметрия Cado Labs показывает, что ситуация меняется: с начала 2023 года наблюдается рост использования сервиса.
Неясно, что послужило причиной перехода на transfer.sh. Возможно, это попытка обойти обнаружения, основанные на других распространенных доменах хостинга кода (например, pastebin.com). В равной степени это может быть связано с тем, что аналогичные службы приняли дополнительные меры по удалению вредоносного кода. Независимо от причины, специалисты по безопасности должны знать об этой тенденции и применять соответствующие меры обнаружения.
Первоначальный доступ для этой кампании был получен путем использования небезопасного развертывания Redis, записи задания cron в хранилище данных и принуждения Redis сохранить файл базы данных в одном из каталогов cron. Когда планировщик cron читает файлы в этом каталоге, файл базы данных считывается и разбирается как задание cron, что приводит к выполнению произвольной команды.
Это распространенная схема атаки, которая рассматривалась в предыдущих отчетах Cado Labs и является излюбленной для групп угроз, ориентированных на "облака", таких как WatchDog и TeamTNT.
Redis используется для регистрации простого задания cron, которое выполняется каждую вторую минуту и беззвучно запускает команду cURL для получения полезной нагрузки по адресу https://transfer[.]sh/QQcudu/tmp[.]fDGJW8BfMC. Этот файл сохраняется как .cmd и выполняется с помощью bash.
Выполнение сценария путем прямого вызова bash гарантирует, что команды, содержащиеся в сценарии, не будут записаны в файл истории, что служит мерой защиты от криминалистов.
Поскольку основной целью вредоносной программы является добыча криптовалюты на целевой машине, сценарий начинается с нескольких подготовительных действий для обеспечения эффективного использования аппаратного обеспечения. Сюда входят типичные шаги по ослаблению системы, такие как отключение SELinux и обеспечение того, чтобы DNS-запросы могли быть разрешены публичными резолверами, а также удаление существующих заданий cron и спула cron.
Сценарий также использует команду linux sync, чтобы заставить ядро записать данные, хранящиеся в буферах памяти, на диск. Аналогично, он записывает целое число '3' в файл /proc/sys/vm/drop_caches. Это заставляет ядро сбросить объекты перекрытия, такие как dentries (структуры данных, хранящиеся в памяти и представляющие каталоги) и inodes (структуры данных, хранящиеся в памяти и представляющие файлы), которые используются ядром в качестве кэша разрешений файловой системы.
Сценарий также использует команду linux sync, чтобы заставить ядро записать данные, хранящиеся в буферах памяти, на диск.
Это новая техника, которая, как предполагается, поможет выполнению XMRig, освобождая оперативную память настолько, насколько это возможно.
Следует отметить, что документация ядра Linux рекомендует не модифицировать файл drop_caches для этой цели из-за проблем с производительностью, возникающих при воссоздании кэшированных объектов. Естественно, это может привести к хаосу в рабочей системе.
Оставшаяся часть сценария следует стандартной схеме очистки файлов журнала, настройки iptables, уничтожения конкурирующих майнеров и установки дополнительных пакетов. После завершения работы извлекаются двоичные файлы для pnscan и XMRig.
Затем на диск записывается пользовательская конфигурация XMRig, которая регистрирует майнер в следующих майнинговых пулах:
- xmr.pool.gntl.co.uk
- pool.hashvault.pro
- xmr-eu1.nanopool.org
- monerohash.com
- pool.supportxmr.com
- ca.monero.herominers.com
- xmrpool.eu
- pool.xmrfast.com
- pool.xmr.pt
Как упоминалось ранее, скрипт извлекает утилиту массового сканирования сети pnscan. Эта утилита часто используется для поиска уязвимых серверов Redis и распространения на них копии скрипта. Эта техника ранее приписывалась WatchDog. В ней используется интересная комбинация команд Linux seq и sort для создания списка IP-адресов, на которые будет направлена атака.
Indicators of Compromise
URLs
- https://transfer.sh/mtKUQC/run.sh
- https://transfer.sh/QQcudu/tmp.fDGJW8BfMC
SHA256
- 202ce93435f78009995f57eded544959884258f96d178173a54eee47f16e8834
- c43191f98eb5b5ef792e19089317e4ec411c696c3bf501b17f27bfad4b75eb1e