SHA1-хеши:
- sha1:071f7fa9dfb36b512d779668763d9d29462d1f543dde0056a100e6482a7325b3
Описание
Руткит в формате модуля ядра, написанный на языке С, для ряда дистрибутивов ОС Linux (RHEL, Debian и EulerOS). Применяется в составе мета-проекта SkidMap, назначением которого является майнинг криптовалюты. Подменяет собой ряд функций ядра для маскировки процесса добычи.
Матрица MITRE
Этап | Техника |
---|---|
Выполнение (TA0002) | Выполнение через системный сценарий (T1059.004) |
Предотвращение обнаружения (TA0005) |
Руткит (T1014) Отключение или перенастройка средств защиты (T1562.001) Отключение или изменение работы системы аудита Linux (T1562.012) Подбор легитимного имени или расположения (T1036.005) Исключения файлов/путей (T1564.012) |
Принцип действия
Вредоносный модуль ядра ОС Linux, разворачиваемый на скомпрометированной машине дроппером Linux.MulDrop.142/143. Задачами руткита являются:
- сокрытие собственного модуля,
- сокрытие ряда процессов,
- вывод ложной информации об уровне загрузки ЦП,
- маскировка сетевой активности,
- сокрытие файловых артефактов, связанных с работой майнера,
- запрет загрузки модулей ядра, выполняющих функции антируткитов,
- фильтрация отладочной информации.
Функция ядра | Модуль | Описание |
---|---|---|
account_user_time | cpu | Заменяет значение времени работы процесса майнера на 1 |
loadavg_proc_show | loadavg | Подменяет значения средней загрузки системы, выводимые в файл /proc/loadavg |
tcp4_seq_show tcp6_seq_show |
port | Скрывает информацию, выводимую в файлы proc/net/tcp и proc/net/tcp6 о сетевой активности на следующих портах: 500, 8990, 3333, 4444, 5555, 6666, 7777, 3334, 3335, 30182, 52126, 53126, 60032 |
filldir64 | file | Проверяет имя файла в списке файлов читаемой директории на соответствие одному из 45 имен, в случае совпадения файл скрывается |
inet_sk_diag_fill | diag | Запрещает применение данной диагностической функции на следующие порты : 500, 8990, 3333, 4444, 5555, 6666, 7777, 3334, 3335, 30182, 52126, 53126, 60032 |
module_frob_arch_sections | deny | Перехватывает загружаемые модули ядра и проверяет строки, содержащиеся в них, на соответствие ключевым словам |
parse_args | symbol | Проверяет аргументы команд на те же ключевые слова, что и модуль deny |
vprintk panic bpf_trace_printk trace_printk |
vmcore | Хуки, представляют собой полные заглушки, функции не исполняются |
sched_debug_show | sched_debug | Полная заглушка, функция не исполняется |
perf_event_open | perf | Делает системный вызов доступным только для процессов инициализации (PID 1), запрещая его всем остальным |
Перечень файлов, скрываемых модулем file:
mcpuinfo.ko
mzoneinfo.ko
kmeminfo.ko
systemd-firstload
postcated
devlinked
matchpathcond
mountinfo
telinited
systemd-udeved
systemd-udeved.service
logrotated
ldattached
hardlinked
biosdecoded
dhclientd
systemd-reboot
systemd-logined
collectd
ilog.h
olog.h
rctlconf
rctl_cert.pem
rctl_priv.pem
rctl_ca.crt
rctlcli.cfg
infocmp
selinuxdefconed
selinuxexecconed
postaliasd
blockdeved
lgroupdeleted
postmaped
getsebooled
systemd-runlevel
systemd-cgroup
systemd-deltaed
gettexted
dpkgsplit
lsloginsd
plymouthed
partprobed
discovered
mldconfig
review
Модули symbol и deny проверяют наличие следующих ключевых слов:
sysdig_probe
scap
antirootkit
anti
rootkit
ANTIROOTKIT
ANTI
ROOTKIT
Anti
Rootkit
Руткит также перехватывает системный вызов execve: если вызываемый исполняемый файл может обнаружить наличие файловых и сетевых артефактов атаки, руткит подменяет путь к такому файлу на путь к пропатченной утилите, установленной ранее дроппером Linux.MulDrop.142/143. Перехватываются вызовы следующих программ:
conntrack
ifconfig
ip
iftop
netstat
unhide-tcp
unhide-linux
unhide-posix
tcpdump
busybox
telnet
ping
less
more
stat
mkdir
rmdir
head
tail
cat
mv
rm
ls
cp
Отметим, что в разных версиях руткита, например, 0.0.11 и 0.0.12, имеются некоторые отличия в путях, по которым сохраняются пропатченные версии исполняемых файлов. В версии 0.0.11 пропатченные сетевые утилиты сохраняются в директории /etc/infocmp, а в версии 0.0.12 они сохраняются в /etc/reviews. Кроме того, в более новой версии руткита утилиты для работы с файловой системой не используются — они заменены на перехват системных вызовов ФС. Это свидетельствует об идущей активной разработке проекта.