Исследователи обнаружили вредоноса Migo, который написан на Go и атакует серверы Redis на Linux-хостах ради добычи криптовалюты. Отмечается, что малварь отключает защитные функции Redis, чтобы ничто не препятствовало криптоджекингу.
Специалисты Cado Security, обнаружившие Migo на свих ханипотах, рассказывают, что после компрометации плохо защищенных установок Redis, злоумышленники использовали CLI-команды для отключения защиты и эксплуатации серверов.
Хакеры вносят следующие изменения в параметры Redis:
- set protected-mode: отключение позволяет получить внешний доступ к серверу Redis, что облегчает злоумышленникам удаленное выполнение вредоносных команд;
- replica-read-only: отключение позволяет записывать данные непосредственно в реплики, распространяя вредоносную полезную нагрузку или модификацию данных далее;
- aof-rewrite-incremental-fsync: отключение приводит к увеличению нагрузки на IO в процессе перезаписи файлов в режиме режим AOF (append-only file), что может помочь злоумышленникам остаться незамеченными, отвлекая защиту необычными шаблонами IO;
- rdb-save-incremental-fsync: отключение может привести к снижению производительности при сохранении снапшотов RDB, что потенциально позволяет добиться отказа в обслуживании (DoS) или манипулировать персистентностью.
Затем злоумышленники настраивают cron job на загрузку скрипта с Pastebin, который извлекает основную полезную нагрузку Migo (/tmp/.migo) из Transfer.sh для выполнения в качестве фонового задания.
По словам экспертов, основная функция Migo заключается в загрузке, установке и запуске модифицированного майнера XMRig (для добычи Monero) с использованием CDN GitHub на скомпрометированном эндпоинте. При этом Migo использует user-mode руткит, чтобы скрыть свои процессы и файлы, что дополнительно затрудняет обнаружение малвари и ее удаление.
Также вредонос модифицирует файл /etc/ld.so.preload, чтобы изменить поведение системных инструментов, составляющих списки процессов и файлов, маскируя таким образом свое присутствие.
Атака завершается тем, что Migo настраивает правила брандмауэра для блокировки исходящего трафика на определенные IP-адреса, выполняет команды для отключения SELinux, ищет и отключает агенты мониторинга облачных провайдеров, а также удаляет с сервера конкурирующих майнеров и других вредоносов. Помимо этого изменяет файл /etc/hosts, запрещая связь с поставщиками облачных услуг и тем самым дополнительно скрывая свою активность.