В апреле пользователи Linux столкнулись с новой коварной атакой. Она была выявлена в прошлом месяце и использовала три вредоносных модуля Go, содержащих обфусцированный код для загрузки и выполнения удалённых вредоносных нагрузок.

Целевая атака на цепочку поставок заражала Linux-серверы вредоносным ПО, которое стирает данные. Вредоносный код обнаружили в модулях Go, выложенных на GitHub. Атака ориентирована исключительно на Linux-серверы и среды разработки, так как её вредная нагрузка — Bash-скрипт done.sh — использует команду dd для стирания данных. Кроме того, перед выполнением скрипт проверяет, что работает именно в Linux (runtime.GOOS == "linux").
Выявить угрозу удалось компании Socket, которая с 2021 года занимается безопасностью поставок ПО. Исследователи обнаружили атаку, основанную на трёх модулях Go на GitHub (сейчас удалены), которые уничтожают загрузочные данные в среде Linux на системном диске.
github[.]com/truthfulpharm/prototransform
github[.]com/blankloggia/go-mcp
github[.]com/steelpoor/tlsproxy
Основной целью является корневой раздел /dev/sda, где хранятся критически важные системные данные, пользовательские файлы, базы данных и конфигурации. Во всех трёх модулях содержался обфусцированный код, который декодировался в команды, использующие wget для загрузки деструктивного скрипта (/bin/bash или /bin/sh) — и далее происходила перезапись данных на диске нулями. В итоге информация пропадала.

Заражённые модули имитировали следующие проекты:
Prototransform — инструмент для преобразования данных сообщений в различные форматы.
go-mcp — реализация Model Context Protocol на Go.
tlsproxy — инструмент для шифрования TCP/HTTP-серверов.
Атака неожиданная и быстрая — достаточно всего лишь загрузить модули. На адекватную реакцию у пользователей не хватало времени, даже минимальное взаимодействие с такими модулями могло привести к полной потере данных. После атаки данные не подлежат восстановлению, система перестаёт загружаться. Схема у злоумышленников рабочая: вредоносная программа сначала проверяет, что она действительно установлена на Linux, а потом запускает скрипт, обнуляющий данные.
Из-за децентрализованности экосистемы Go (где отсутствуют строгие проверки) пакеты от разных разработчиков могут иметь одинаковые или очень похожие названия. Злоумышленники пользуются этим, создавая поддельные модули с правдоподобными именами, и ждут, пока разработчики внедрят вредоносный код в свои проекты.
Напоминаем, что важно проверять все неизвестные модули перед загрузкой, с настороженностью относиться к новым пакетам даже на привычных ресурсах, регулярно выполнять резервное копирование данных.
Хотите защитить себя на случай кибератак — воспользуйтесь бесплатной миграцией в облако от Cloud4Y. Системы анти-DDoS, автоматические бэкапы, антивирусы и другие облачные решения помогут защитить ваши проекты.