SHA1-хеши:
- ssh1:17040ad7ab4056312d6502079b7d6ea23c2cd7cd
Описание
Троян-дроппер, написанный на языке С для ОС Linux, упакован пакером UPX. Применяется для доставки в скомпрометированную систему целого ряда вредоносных программ, включая руткит Linux.Rootkit.400 (LKM), майнер Linux.BtcMine.815, а также бэкдоры Linux.BackDoor.Pam.8/9 и Linux.BackDoor.SSH.425/426. Отличается довольно большим размером, так как содержит руткиты под разные дистрибутивы и версии ядра (около 60 модификаций).
Матрица MITRE
Этап | Техника |
---|---|
Выполнение (TA0002) | Командная оболочка Unix (T1059.004) |
Закрепление (TA0003) | Модули и расширения ядра (T1547.006) |
Повышение привилегий (TA0004) | Модули и расширения ядра (T1547.006) |
Предотвращение обнаружения (TA0005) | Упаковка исполняемого файла (T1027.002) Изменение разрешений для файлов и каталогов (T1222.002) Удаление файлов (T1070.004) Руткит (T1014) Отключение или изменение системных утилит (T1562.001) Подбор легитимного имени или расположения (T1036.005) Изменение временных меток (T1070.006) |
Принцип действия
-
Дроппер обращается к следующим файлам и удаляет ряд атрибутов с помощью системной утилиты chattr:
Файлы Атрибуты /usr/bin /usr/bin/ssh /usr/bin/scp /lib/udev /etc /etc/pam.d /etc/pam.d/common-account /etc/pam.d/common-password /etc/pam.d/common-session /etc/pam.d/common-session-noninteractive
a — позволяет только дозаписывать информацию в файл
i — запрещает переименование или удаление файла
e — указывает на использование файлом экстентов** Является ошибкой злоумышленников, так как данный атрибут нельзя убрать с помощью chattr.
-
С помощью команды uname дроппер определяет версию ядра ОС Linux. На основе этих данных выбирает совместимые руткиты и сохраняет их по следующим путям:
/lib/udev/collectd/kmeminfo.ko — вредоносный модуль ядра, устанавливающий сетевой фильтр для обхода брандмауэра,
/lib/udev/collectd/mcpuinfo.ko — Linux.Rootkit.400, руткит, скрывающий активность ЦП, модулей ядра, процессов, сетевых портов. -
Проверяет хеши исполняемых файлов sshd и scp. Если они не совпадают с зашитыми в дроппер значениями, указанные файлы заменяются на вредоносные версии:
/usr/bin/ssh — Linux.BackDoor.SSH.425, собирает данные входов по SSH и сохраняет в файл olog.h,
/usr/bin/scp — отправляет файл olog.h злоумышленникам. -
Если совместимый руткит в составе дроппера не найден, происходит очистка журналов сервера и его перезагрузка. В случае успешной установки руткита создается директория /etc/reviews, в которую помещаются следующие файлы, представляющие собой пропатченные версии системных диагностических утилит, адаптированные для работы с руткитом mcpuinfo.ko:
Оригинальная утилита Пропатченная версия conntrack /etc/reviews/cn ifconfig /etc/reviews/ig ip /etc/reviews/ip iftop /etc/reviews/it netstat /etc/reviews/nt route /etc/reviews/rt unhide-tcp /etc/reviews/up unhide-linux /etc/reviews/uu unhide-posix /etc/reviews/ux tcpdump /etc/mountinfo busybox /etc/dhclientd telnet /etc/dhclientdx ping /etc/dhclientdd - 4.1. Дополнительно создаются файлы:
/usr/bin/biosdecoded — содержит вредоносные версии pam_echo.so, pam_sftp.so, а также обеспечивает их загрузку при системном вызове,
/usr/bin/devlinked — Linux.MulDrop.151, является дроппером для майнера Linux.BtcMine.815 (проект xmrig), /usr/bin/matchpathcond — Linux.BackDoor.SSH.426 (SSH-бекдор),
/usr/bin/postcated — Linux.Stealer.8, как и scp, выполняет функцию отправки файла olog.h злоумышленникам,
/usr/bin/postmaped — Linux.Siggen.7907, удаляет артефакты, создаваемые во время заражения,
/usr/bin/telinited — Linux.BackDoor.RCTL.2, троян для удаленного управления (https://github.com/ycsunjane/rctl/blob/github/client/rctl.c).
- 4.1. Дополнительно создаются файлы:
- Перед загрузкой руткитов с помощью утилиты modprobe загружает модули inet_diag, tcp_diag и udp_diag, при этом выгружает sysdig_probe. В случае успешного выполнения данных команд перенаправляет вывод echo 8 в файл /tmp/8.txt. Затем выполняет команду insmod для загрузки mcpuinfo.ko и kmeminfo.ko. Если загрузка модулей была неудачной, производится очистка журналов и перезагрузка сервера.
-
Выполняет запуск:
/usr/bin/biosdecoded /usr/bin/devlinked /usr/bin/matchpathcond /usr/bin/postcated /usr/bin/postmaped /usr/bin/telinited
Также перед запуском каждого из указанных выше файлов происходит взаимодействие с руткитом посредством /proc/sys/kernel/ns_last_pid и /proc/sys/kernel/pid_max, куда записывается информация об идентификаторе последнего запущенного вредоносного файла. Кроме того, в директорию /tmp сохраняются пронумерованные файлы вида 1.txt, 2.txt и т. д., появление которых обусловлено успешным выполнением того или иного этапа атаки.
- Выполняет очистку логов и удаление временно хранимых файлов.