Посты о SOC, TI и IR

Ботнет Outlaw раскинул сети по всему миру

Введение

Недавно в ходе реагирования на инцидент в Бразилии мы столкнулись с относительно простой, но крайне эффективной угрозой, нацеленной на Linux-системы. Outlaw (также известный как Dota) — это ботнет для криптомайнинга, написанный на Perl. Как правило, он заражает системы, где используются слабые или стандартные учетные данные SSH. Ранее в исследованиях ([1], [2]) описывались образцы Outlaw, полученные с помощью ловушек. В этой статье мы поделимся разбором реального инцидента, над которым работали специалисты «Лаборатории Касперского», а также предоставим данные телеметрии о странах, которые привлекли наибольшее внимание злоумышленников. Кроме того, мы опишем используемые злоумышленниками тактики, техники и процедуры, а также лучшие практики, которые помогут специалистам по кибербезопасности защитить свою инфраструктуру от подобных угроз.

Анализ

Мы начали анализ со сбора необходимых улик в скомпрометированной Linux-системе. В ходе расследования мы обнаружили подозрительный ключ авторизации SSH, привязанный к пользователю с именем suporte — в португалоязычных системах это распространенное имя для административных учетных записей. Часто пароль к таким учетным записям совпадает с именем пользователя, что является серьезным промахом с точки зрения безопасности и значительно упрощает задачу злоумышленникам. Обнаруженный SSH-ключ принадлежал пользователю удаленной Linux-системы с именем mdrfckr — эта строка ранее встречалась в кампаниях ботнета Dota, что вызвало у нас обоснованные подозрения.

Подозрительный ключ авторизации

Подозрительный ключ авторизации

После первоначальной компрометации через SSH злоумышленники загружают скрипт первого этапа tddwrt7s.sh с помощью утилит wget или curl. Этот файл отвечает за загрузку архива dota.tar.gz с сервера атакующих. Ниже представлена типичная для этой группы последовательность команд, которую они выполняют для загрузки и распаковки этого файла. Примечательно, что злоумышленники пытаются загрузить скрипт сразу двумя упомянутыми утилитами, поскольку одна из них может отсутствовать в системе.

Цепочка команд, использованных злоумышленниками для загрузки и распаковки файла dota.tar.gz

Цепочка команд, использованных злоумышленниками для загрузки и распаковки файла dota.tar.gz

После распаковки в домашнем каталоге пользователя создается скрытый каталог .configrc5 со следующей структурой:

Структура каталога .configrc5

Структура каталога .configrc5

Любопытно, что одним из первых шагов выполнения является проверка наличия на устройстве других известных майнеров с помощью скрипта a/init0. Если такие майнеры обнаруживаются, скрипт пытается завершить их процессы и предотвратить повторный запуск. Одна из целей — избежать конкуренции за ресурсы и снизить нагрузку на оперативную память и процессор зараженной машины.

Код для уничтожения и блокировки известных майнеров

Код для уничтожения и блокировки известных майнеров

Скрипт также отслеживает активные процессы и выявляет те, что нагружают процессор не менее чем на 40%, посредством команды ps axf -o "pid %cpu". Для каждого такого процесса с помощью команды grep он проверяет запуск процесса через командную строку (/proc/$procid/cmdline) поиском определенных ключевых слов, например kswapd0, tsm, rsync, tor, httpd, blitz или mass. Если ни одно из ключевых слов не найдено (то есть grep не возвращает ноль), процесс принудительно завершается командой kill -9. В противном случае скрипт выводит сообщение don't kill, фактически добавляя все ожидаемые или нужные для Outlaw процессы с высокой нагрузкой на ЦП в собственный список разрешенных и предотвращая их случайное завершение.

Проверки процессов, выполняемые скриптом

Проверки процессов, выполняемые скриптом

После проверки и завершения процессов выполняется файл b/run, который отвечает за закрепление на зараженной машине и запуск следующего этапа вредоносного ПО. Для закрепления в системе злоумышленники использовали команду, которая удаляет существующие настройки SSH, создает пустую папку .ssh, добавляет новый открытый ключ для доступа по SSH и блокирует права доступа. Она выглядит следующим образом:

Следующим этапом выполнения зловреда выступает строка внутри скрипта b/run, закодированная по алгоритму Base64. После декодирования она раскрывает еще один уровень обфускации — на этот раз обфусцированный Perl-скрипт. Интересно, что злоумышленники оставили в коде комментарий, сгенерированный обфускатором perlobfuscator.com.

Обфусцированный Perl-скрипт

Обфусцированный Perl-скрипт

Мы с легкостью деобфусцировали скрипт с помощью инструмента с открытым исходным кодом, доступного на том же сайте, который использовали злоумышленники (https://perlobfuscator.com/decode-stunnix-5.17.1.pl). Это позволило получить оригинальный исходный код, содержащий несколько слов на португальском языке.

Деобфусцированный Perl-скрипт

Деобфусцированный Perl-скрипт

Этот Perl-скрипт представляет собой IRC-клиент ботнета, который действует как бэкдор в скомпрометированной системе. После выполнения он маскируется под процесс rsync, создает свою копию в фоновом режиме и игнорирует сигналы на завершение. По умолчанию скрипт подключается к жестко закодированному IRC-серверу через порт 443, используя случайно сгенерированные никнеймы, и присоединяется к заранее определенным каналам, ожидая команд от назначенных администраторов. Бот поддерживает множество вредоносных функций, включая: выполнение команд, DDoS-атаки, сканирование портов, загрузку и выгрузку файлов через HTTP, — предоставляя злоумышленникам широкие возможности для управления ботнетом.

Майнер XMRig

Другой файл из скрытого каталога, a/kswapd0, представляет собой ELF-файл, упакованный с использованием UPX, как показано на рисунке ниже. Мы без проблем распаковали его и проанализировали.

Идентификация и распаковка kswapd0

Идентификация и распаковка kswapd0

Передав хэш этого бинарника на порталы анализа угроз и проведя статический анализ образца, мы пришли к выводу, что это модифицированная версия криптовалютного майнера XMRig (6.19.0).

Версия XMRig

Версия XMRig

Мы также обнаружили, что в бинарный файл был встроен файл конфигурации, который описывал майнинговые операции злоумышленников. В нашем случае конфигурация включала добычу Monero исключительно на центральном процессоре, при этом OpenCL и CUDA (для майнинга на видеокартах) были отключены. Майнер работает в фоновом режиме, сильно нагружая процессор. Он также подключается к нескольким майнинговым пулам, один из которых доступен через Tor, что объясняет наличие Tor-файлов в директории .configrc5/a. На рисунке ниже показан фрагмент этого файла конфигурации.

Конфигурация XMRig злоумышленников

Конфигурация XMRig злоумышленников

Жертвы

Согласно телеметрическим данным, собранным из открытых источников, жертвы группы Outlaw в основном находятся в США, однако также есть пострадавшие в Германии, Италии, Таиланде, Сингапуре, Тайване, Канаде и Бразилии, как показано на диаграмме ниже.

Страны и территории с наибольшей активностью ботнета Outlaw (скачать)

На следующей диаграмме показано распределение недавних жертв. Можно увидеть, что группа приостановила операции с декабря 2024 года по февраль 2025 года, а в марте 2025 года произошел резкий скачок числа жертв.

Количество жертв Outlaw по месяцам, сентябрь 2024 г. — март 2025 г. (скачать)

Наши рекомендации

Поскольку группа Outlaw использует слабые или стандартные пароли SSH, мы рекомендуем системным администраторам принимать проактивные меры для защиты своих серверов. Для этого нужно уделить внимание правильной конфигурации сервера и поддерживать службы в актуальном состоянии. Даже такие простые меры, как использование аутентификации на основе ключей, могут быть весьма эффективными. Кроме того, файл /etc/ssh/sshd_config позволяет настроить дополнительные параметры для повышения безопасности. Вот некоторые из них.

  • Port <custom_port_number>: изменяет порт SSH по умолчанию, чтобы усложнить задачу автоматического сканирования.
  • Protocol 2: принудительно включает более безопасную версию протокола.
  • PermitRootLogin no: отключает прямой вход в систему с правами пользователя root.
  • MaxAuthTries <integer>: ограничивает количество попыток аутентификации за сеанс.
  • LoginGraceTime <time>: определяет время, отведенное на завершение процесса входа в систему (в секундах, если не указано иное).
  • PasswordAuthentication no: отключает вход в систему с помощью пароля.
  • PermitEmptyPasswords no: предотвращает вход в систему с пустыми паролями.
  • X11Forwarding no: отключает механизм переадресации X11 (используется для удаленного запуска графических приложений).
  • PermitUserEnvironment no: запрещает пользователям передавать переменные окружения.
  • Banner /etc/ssh/custom_banner: изменяет баннер входа в систему.

По возможности отключите неиспользуемые протоколы аутентификации:

  • ChallengeResponseAuthentication no
  • KerberosAuthentication no
  • GSSAPIAuthentication no

Отключите параметры туннелирования, чтобы избежать неправильного использования функции SSH-туннеля:

  • AllowAgentForwarding no
  • AllowTcpForwarding no
  • PermitTunnel no

Можете ограничить доступ к SSH для определенных IP-адресов или сетей с помощью директивы AllowUsers:

  • AllowUsers *@10.10.10.217
  • AllowUsers *@192.168.0.0/24

Включите аутентификацию с открытым ключом:

  • PubkeyAuthentication yes

Настройте автоматическое завершение простаивающих сеансов:

  • ClientAliveInterval <time>
  • ClientAliveCountMax <integer>

Следующий файл конфигурации можно использовать как шаблон для повышения безопасности службы SSH:

Одновременно с правильной конфигурацией sshd_config использование таких инструментов, как Fail2Ban или ограничение скорости через firewalld, добавляет еще один уровень защиты от брутфорса.

Заключение

Сосредоточив внимание на слабых или стандартных SSH-учетных данных, Outlaw продолжает улучшать и расширять свой инструментарий для платформы Linux. Она использует разные методы обхода защиты, включая сокрытие файлов и папок, обфускацию кода, а также применяет скомпрометированные SSH-ключи, чтобы как можно дольше сохранять свое присутствие. IRC-клиент ботнета поддерживает широкий спектр вредоносных операций, включая выполнение команд, флуд-атаки и сканирование. Также злоумышленники эксплуатируют вычислительные ресурсы зараженных систем для добычи криптовалюты с помощью специальной версии майнера XMRig. Чтобы значительно снизить риск заражения, системным администраторам рекомендуется использовать более безопасную конфигурацию SSH (например, отключив парольный доступ), отслеживать подозрительные процессы и ограничить доступ к SSH только для доверенных пользователей и сетей.

Тактики, техники и процедуры

Ниже приведены тактики, техники и процедуры Outlaw, основанные на нашем анализе вредоносного ПО.

Тактика Техника ID
Execution Command and Scripting Interpreter: Unix Shell T1059.004
Persistence Scheduled Task/Job: Cron T1053.003
Persistence Account Manipulation: SSH Authorized Keys T1098.004
Defense Evasion Obfuscated Files or Information T1027
Defense Evasion Indicator Removal: File Deletion T1070.004
Defense Evasion File and Directory Permissions Modification T1222
Defense Evasion Hide Artifacts: Hidden Files and Directories T1564.001
Defense Evasion Obfuscated Files or Information: Software Packing T1027.002
Credential Access Brute Force T1110
Discovery System Information Discovery T1082
Discovery Process Discovery T1057
Discovery Account Discovery T1087
Discovery System Owner/User Discovery T1033
Discovery System Network Connections Discovery T1049
Lateral Movement Remote Services: SSH T1021.004
Collection Data from Local System T1005
Command and Control Application Layer Protocol T1071
Command and Control Ingress Tool Transfer T1105
Exfiltration Exfiltration Over Alternative Protocol T1048
Impact Resource Hijacking T1496
Impact Service Stop T1489

Индикаторы компрометации

Ботнет Outlaw раскинул сети по всему миру

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты
Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике

OSZAR »