Вредоносная программа perfctl для Linux уже несколько лет добывает криптовалюту на ваших серверах

Вредоносная программа для Linux под названием «perfctl» атакует Linux-серверы и рабочие станции уже как минимум три года, оставаясь практически незамеченной благодаря высокому уровню уклонения и использованию руткитов.

По словам исследователей Aqua Nautilus, обнаруживших perfctl, за последние годы эта вредоносная программа, вероятно, атаковала миллионы Linux-серверов и, возможно, вызвала заражение нескольких тысяч из них.

Это следует из многочисленных отчетов жертв вредоносной программы, опубликованных Community Products Roadmap Update, October 2024 и содержащих индикаторы компрометации, связанные исключительно с активностью perfctl.

Согласно данным Aqua Nautilus, основное назначение perfctl – криптомайнинг, использование взломанных серверов для добычи криптовалюты Monero. Однако его можно легко использовать и для более опасных операций.

Цепочка заражения

Специалисты Aqua Nautilus считают, что для взлома серверов Linux угрожающие лица используют неправильную конфигурацию или открытые порты. Эти ошибки в конфигурации варьируются от общедоступных файлов, содержащих учетные данные, до открытых интерфейсов входа в систему.

Исследователи также обнаружили эксплуатацию CVE-2023-33246, удаленного выполнения команд, затрагивающего Apache RocketMQ версии 5.1.0 и старше, и CVE-2021-4034 (PwnKit), уязвимости повышающей привилегий в Polkit.

После получения первоначального доступа упакованная и обфусцированная полезная нагрузка под названием «httpd» загружается с сервера злоумышленника и выполняется. Затем она копирует себя в каталог /tmp под именем «sh» и удаляет исходный двоичный файл.

Новый процесс принимает то же имя («sh»), по сути, сливаясь с обычными системными операциями Linux.

Дополнительные копии создаются в других системных местах, таких как /root/.config, /usr/bin/ и usr/lib, чтобы обеспечить сохранение в случае очистки.

Основные механизмы работы и обхода

При запуске perfctl открывает сокет Unix для внутренних коммуникаций и устанавливает зашифрованный канал с внешними серверами через TOR, что делает невозможным расшифровку обмена.

Затем он запускает руткит под названием „libgcwrap.so“, который подключается к различным системным функциям для модификации механизмов аутентификации и перехвата сетевого трафика, необходимого для обхода.

Также устанавливаются дополнительные пользовательские руткиты, заменяющие утилиты ldd, top, crontab и lsof троянскими версиями, что опять же предотвращает прямое обнаружение действий вредоносной программы.

Наконец, в систему забрасывается майнер XMRIG, который выполняет добычу Monero, используя ресурсы процессора сервера.

Криптомайнер общается с установленными майнинговыми пулами через TOR, поэтому сетевой трафик скрыт, и прибыль невозможно отследить.

В некоторых случаях Aqua Nautilus также наблюдала развертывание программного обеспечения для прокси-джекинга, что давало злоумышленникам дополнительный способ монетизации – продажу неиспользуемой пропускной способности сети через Bitping, Repocket, Speedshare и другие подобные сервисы.

Большинство пользователей начинают подозревать, что их серверы заражены, когда замечают, что процессор загружен на 100%.

Однако вредоносная программа очень уклончива и осуществляет майнинг до тех пор, пока пользователь не войдет на сервер, что заставит ее немедленно остановиться и подождать, пока сервер снова не станет бездействовать.

«Я узнал о вредоносной программе только потому, что моя система мониторинга предупредила меня о 100% загрузке процессора»
- сообщил один из пользователей на Reddit

«Однако процесс немедленно останавливался, когда я входил в систему через SSH или консоль. Как только я выходил из системы, вредоносная программа возобновляла работу в течение нескольких секунд или минут».

Использование руткитов также затрудняет их удаление, поскольку процессы скрыты от пользовательских утилит и обычных методов удаления вредоносных программ, что обычно требует от пользователей отключения компьютера или загрузки с live CD для проверки файловой системы.

Однако, поскольку инфекция изменяет и заменяет легитимные файлы Linux, лучше всего стереть и переустановить ОС, чтобы убедиться, что на нем ничего не осталось.

Обнаружение и прекращение работы perfctl

Aqua Nautilus предлагает несколько способов обнаружения и остановки perfctl, которые делятся на четыре основные категории: мониторинг системы, анализ сетевого трафика, мониторинг целостности файлов и процессов, а также проактивное устранение последствий.

Что касается обнаружения, то Aqua Nautilus предлагает следующие советы:

  • Регулярно проверяйте каталоги /tmp, /usr и /root на наличие подозрительных двоичных файлов, маскирующихся под легитимные системные файлы.
  • Следите за использованием процессора на предмет скачков и процессов, таких как httpd и sh, запускаемых из неожиданных мест.
  • Проверьте ~/.profile, ~/.bashrc и /etc/ld.so.preload на предмет несанкционированных модификаций.
  • Перехватывайте и анализируйте сетевой трафик на предмет TOR-соединений с внешними IP-адресами.
  • Ищите исходящие соединения с известными пулами криптомайнинга или сервисами прокси-джекинга.
  • Добавьте IP-адреса, указанные в разделе IoC отчета, в blacklist, чтобы прервать связь с вредоносными узлами.

Системные администраторы должны убедиться, что все известные дефекты в приложениях, ориентированных на интернет, таких как серверы RocketMQ (CVE-2023-33246) и Polkit (CVE-2021-4043), исправлены.

Также будет эффективно отключить неиспользуемые HTTP-сервисы, использовать контроль доступа на основе ролей и применить опцию noexec к таким критическим каталогам, как /tmp и /dev.shm.

Сударев Александр Эксперт по безопасности, криптовалютам и умным домам

Люблю технологии и криптовалюты. Создаю свой умный дом и делюсь этим с Вами. Знаю как предотвратить хакерскую атаку, так как немного смыслю в безопасности

Похожие статьи

Комментарии (0)