Руководство по очистке майнинг-трояна на 3x-ui

Проект 3x-ui: https://github.com/MHSanaei/3x-ui

3x-ui — это модифицированная версия x-ui с обновлённым ядром, поддержкой новых протоколов и многопользовательского режима. Одна из полезных функций — возможность модификации ядра xray. По дизайну и плавности анимаций 3x-ui заметно превосходит другие прокси-панели.

3x-ui–10001.jpg

Некоторое время назад была раскрыта критическая уязвимость в 3x-ui, после чего многие серверы были взломаны. На моём сервере после взлома был установлен майнинг-сервис. При входе в 3x-ui через терминал FinalShell я заметил, что загрузка CPU постоянно составляла 100%.

3x-ui–10002.jpg

Команда top показала процесс с загрузкой CPU 96,4% и именем system. На обычном Debian системный процесс называется systemd, поэтому это вызвало подозрения.

3x-ui–10003.jpg

Я обратился за помощью к ChatGPT.

3x-ui–10004.jpg

Провайдер VPS Минимальная цена Особенности Способы оплаты
BWG Bandwagon $49.99/год Самый быстрый и стабильный WeChat, Alipay, PayPal, банковская карта
DMIT $36.9/год CN2 GIA, Hong Kong CMI Alipay, PayPal, банковская карта
hostdare $16/год Большой трафик, быстрый CMI Alipay, PayPal, банковская карта
BuyVM ¥18 Большой диск, безлимитный трафик, разблокировка стриминга Alipay, PayPal, банковская карта, криптовалюта
RackNerd $8.89/год Дёшево, большой трафик, высокие характеристики Alipay, PayPal, банковская карта, криптовалюта
CloudCone $13.99/месяц Дёшево, большой трафик, большой диск Alipay, PayPal, банковская карта
Vultr $5/месяц Десятки локаций по миру, $100 при регистрации Alipay, PayPal, криптовалюта

Примерный порядок действий от ChatGPT:


Информация о процессе:

PID: 511620  
USER: root  
CPU: 96.7%  
TIME+: 7d+9h  
COMMAND: system

Важные моменты:

  1. Имя процесса system не является нормальным именем системного демона Linux

    • Основные системные процессы обычно называются systemd (не system), поэтому это имя вызывает подозрения.
    • Многие майнинг-трояны и вредоносные скрипты маскируются под имена вроде system, kworker, bash.
  2. Работает уже 7 дней 9 часов с высокой загрузкой CPU

    • Длительная высокая загрузка часто указывает на майнинг или бесконечный цикл.
  3. Запущен от root

    • Если это вредонос, значит он получил права root, что делает угрозу серьёзнее.

Сначала определите, что это #

Выполните:

ps -fp 511620

чтобы увидеть полный путь и команду запуска.

Затем:

ls -l /proc/511620/exe

чтобы найти исполняемый файл.

Для проверки сетевых соединений:

netstat -pantu | grep 511620

или:

ss -pantu | grep 511620

Если подтверждено, что процесс вредоносный #

  1. Немедленно завершите его
kill -9 511620
  1. Удалите файлы
    Если /proc/511620/exe указывает на существующий файл:
rm -f /путь/к/файлу
  1. Очистите автозапуск
    Проверьте cron и службы автозапуска:
crontab -l
ls /etc/cron* -R
cat /etc/rc.local
systemctl list-unit-files | grep enabled
  1. Проверьте подозрительных пользователей
cat /etc/passwd | grep -v '/nologin'

Предотвращение повторного заражения #

  • Обновите систему:
apt update && apt upgrade -y
  • Смените пароль root:
passwd
  • Отключите удалённый вход root по SSH (отредактируйте /etc/ssh/sshd_config, установите PermitRootLogin no, затем systemctl restart ssh).
  • Установите fail2ban или другие средства защиты от брутфорса.

Я заподозрил, что процесс system — это майнинг-троян. Следуя подсказкам ChatGPT, я подтвердил, что это программа для майнинга Monero, замаскированная под системный процесс.

3x-ui–10005.jpg

Дальнейшие шаги очистки:

Доказательства #

  • ./Download/system: программа находится в каталоге Download под именем system.
  • -o pool.hashvault.pro:443: hashvault.pro — домен пула для майнинга Monero.
  • -u 8AMoGmzK...: адрес кошелька злоумышленника; сервер майнил для кого-то другого.
  • -k --tls: типичные параметры программы xmrig (передача по TLS).

Что делать #

1. Немедленно завершите процесс #

kill -9 511620

2. Удалите майнер #

rm -f /root/Download/system

Если каталог неизвестен:

ls -l /root/Download

3. Найдите похожие файлы (на случай копий) #

find / -type f -name "system" -o -name "xmrig" 2>/dev/null

4. Проверьте автозапуск (чтобы не запустился после перезагрузки) #

crontab -l
ls -l /etc/cron* /var/spool/cron* 2>/dev/null
grep -r "Download/system" /etc/ 2>/dev/null

5. Проверьте подозрительные службы #

systemctl list-units --type=service | grep system

6. Смените пароль #

passwd

Также рекомендуется отключить удалённый вход root. Отредактируйте:

nano /etc/ssh/sshd_config

Измените на:

PermitRootLogin no

Затем:

systemctl restart ssh

Более глубокая проверка, если троян хорошо скрыт #

Часто троян прописывается в crontab пользователя или в systemd-службу.

1. Проверьте crontab пользователя root #

crontab -l -u root

Если там есть команды с Download/system или xmrig, удалите их. Редактирование:

crontab -e -u root

2. Поиск команд майнинга во всех файлах cron #

grep -r "Download/system" /etc/cron* /var/spool/cron* 2>/dev/null

3. Проверка служб автозапуска systemd #

Многие майнеры маскируются под system-update.service, network.service и т.п.:

systemctl list-unit-files --type=service | grep enabled
systemctl status system
systemctl status system-update

Если служба указывает на Download/system или неизвестный каталог, отключите и удалите её:

systemctl disable --now имя_службы
rm -f /etc/systemd/system/имя_службы
systemctl daemon-reload

4. Проверка rc.local и скриптов запуска #

cat /etc/rc.local
ls -l /etc/init.d/
grep -r "Download/system" /etc/init.d/

5. Предотвращение повторного заражения #

  • Смена пароля: passwd
  • Запрет входа root по SSH (в /etc/ssh/sshd_config установить PermitRootLogin no)
  • Только вход по ключу (PasswordAuthentication no)
  • Установка Fail2ban для защиты SSH от брутфорса:
apt install fail2ban -y

Реально найденный троян в crontab #

Первая строка crontab оказалась задачей трояна:

* * * * * pgrep -x ibus || exec /root/.cache/ibus/ibus &

Это означает:

  • Каждую минуту проверяется наличие процесса с именем ibus
  • Если его нет, запускается /root/.cache/ibus/ibus (на самом деле майнинг-троян, замаскированный под метод ввода ibus)
  • Даже после завершения процесса он снова запустится через минуту

Вторая строка (~/.acme.sh/acme.sh --cron) — обычная задача продления сертификата, она не вредоносна.

Способ очистки #

  1. Удалите задачу трояна из crontab
crontab -e -u root

Удалите строку:

* * * * * pgrep -x ibus || exec /root/.cache/ibus/ibus &

Сохраните и выйдите.

  1. Завершите работающий процесс трояна
pkill -f "/root/.cache/ibus/ibus"
  1. Удалите файлы трояна
rm -rf /root/.cache/ibus
  1. Проверьте, нет ли связанной службы systemd
systemctl list-unit-files --type=service | grep ibus
systemctl status ibus

Если найдена подозрительная служба ibus:

systemctl disable --now ibus
rm -f /etc/systemd/system/ibus.service
systemctl daemon-reload

В конце удалите оставшиеся демоны и задачи, смените пароль администратора и перезагрузите сервер.