Руководство по самостоятельной очистке майнинговых троянов
Руководство по самостоятельной очистке майнинговых троянов

Что такое майнинг-троян?

Трояны-майнеры будут занимать ЦП для операций разгона, тем самым занимая большой объем ресурсов ЦП на хосте, серьезно влияя на нормальную работу других приложений на сервере. Чтобы получить больше вычислительных ресурсов, хакеры обычно сканируют всю сеть без разбора и в то же время используют SSH-взрыв и эксплуатацию уязвимостей для атак на хосты. Некоторые трояны-майнеры также имеют характеристики червей. После успешного проникновения на хост трояны-майнеры проникают в интрасеть и сохраняются на зараженном сервере, чтобы получить максимальную выгоду. Общий процесс атаки примерно такой, как показано на рисунке ниже:

2. Характеристики майнинговых троянов

Трояны-майнеры будут использовать вычислительную мощность хоста для майнинга без ведома пользователя. Наиболее очевидной особенностью является то, что процессор хоста потребляется в больших количествах. Есть два способа проверить загрузку процессора облачного хоста.

1. Мониторинг экземпляра консоли

2. Хост выполняет команду TOP.

Как показано на рисунке ниже, выполнив команду top, вы можете увидеть загрузку ЦП системы в тот момент в возвращаемых результатах.

Язык кода:javascript
копировать
top -c

Если загрузка ЦП вашего хоста остается высокой, весьма вероятно, что на хост внедрен троян-майнер, который повлияет на нормальную работу других приложений на сервере и требует немедленной проверки.

3. Очистите трояны-майнеры

1. Немедленно изолируйте хост

После того, как некоторые майнинговые трояны с функциями червя получат контроль над хостом, они продолжат проникать на другие хосты в общедоступной сети или использовать текущий хост в качестве плацдарма для бокового проникновения на другие хосты в той же локальной сети. хост был установлен. После внедрения трояна-майнера зараженный хост следует своевременно изолировать, не влияя на нормальную работу бизнеса, а затем следует выполнить следующий этап анализа и удаления.

Хосты Tencent Cloud могут изолировать хосты, устанавливая группы безопасности.,Пожалуйста, обратитесь к следующей ссылке для получения подробной информации.:https://cloud.tencent.com/document/product/215/20089

2. Блокируйте ненормальные сетевые соединения.

Троянец-майнер не только подключается к майнинговому пулу, но также может подключаться к C2-серверу хакера, получать и выполнять инструкции C2, а также доставлять другие вредоносные трояны, поэтому сеть необходимо вовремя блокировать.

(1) Проверьте, есть ли подозрительные адреса и порты за пределами бизнес-сферы в действующих на данный момент правилах iptables брандмауэра хоста. Это могут быть пулы майнинга или адреса C2 майнинговых троянов.

Язык кода:javascript
копировать
iptables -L -n

(2) Очистите подозрительные адреса и порты из правил iptables.

Язык кода:javascript
копировать
vi /etc/sysconfig/iptables

(3) Блокировать сетевое взаимодействие троянов-майнеров.

Язык кода:javascript
копировать
iptables -A INPUT -s Подозрительный адрес -j DROP
iptables -A OUTPUT -d Подозрительный адрес -j DROP

3. Очистите запланированные задачи

Большинство троянов-майнеров сохраняют свою устойчивость, записывая запланированные задачи на зараженный хост. Если вы просто очистите процесс майнинга, его невозможно будет уничтожить. В заданный момент времени система будет использовать запланированные задачи для удаления трояна с сервера C2 хакера. Загрузите и снова запустите трояна-майнера.

Обычной запланированной задачей майнинга троянов является загрузка и выполнение sh-скриптов, как показано на следующем рисунке:

Вы можете проверить наличие подозрительных запланированных задач, выполнив следующую команду. Если да, сохраните соответствующие записи для последующего анализа перед их удалением:

Просмотр запланированных задач текущего пользователя системы:

Язык кода:javascript
копировать
crontab -l

Просмотр запланированных задач для конкретного пользователя в системе:

Язык кода:javascript
копировать
crontab -u username -l

Просмотрите другие файлы запланированных задач:

Язык кода:javascript
копировать
cat /etc/crontab
cat /var/spool/cron
cat /etc/anacrontab
cat /etc/cron.d/
cat /etc/cron.daily/
cat /etc/cron.hourly/
cat /etc/cron.weekly/
cat /etc/cron.monthly/
cat /var/spool/cron/

4. Очистите элементы автозагрузки.

Помимо запланированных задач, трояны-майнеры также могут обеспечить постоянство, добавляя элементы автозагрузки. Вы можете использовать следующую команду, чтобы проверить, есть ли в элементах автозагрузки аномальные службы запуска.

CentOS7 и более ранние версии:

Язык кода:javascript
копировать
chkconfig –list

CentOS7 и более поздние версии:

Язык кода:javascript
копировать
systemctl list-unit-files

Если обнаружены вредоносные элементы автозагрузки, закрыть их можно следующей командой:

CentOS7 и более ранние версии:

Язык кода:javascript
копировать
chkconfig Название службы off

CentOS7 и более поздние версии:

Язык кода:javascript
копировать
systemctl disable Название службы

Кроме того, необходимо внимательно проверять следующие каталоги и файлы и вовремя удалять подозрительные элементы автозагрузки:

Язык кода:javascript
копировать
/usr/lib/systemd/system
/usr/lib/systemd/system/multi-user.target.wants
/etc/rc.local
/etc/inittab
/etc/rc0.d/
/etc/rc1.d/
/etc/rc2.d/
/etc/rc3.d/
/etc/rc4.d/
/etc/rc5.d/
/etc/rc6.d/
/etc/rc.d/

При устранении неполадок вы можете сортировать файлы по времени изменения и сосредоточиться на недавно созданных элементах обслуживания. Как показано на рисунке ниже, недавно в системе была создана служба с именем bot.service. Эта служба запустит файл трояна /etc/kinsing при запуске системы. Вам необходимо закрыть службу бота и удалить файл /etc/. файл кининга.

5. Очистите предварительную загрузку, чтобы

Настроив /etc/ld.so.preload, вы можете настроить библиотеку динамической компоновки, которая загружается первой перед запуском программы. Некоторые трояны изменяют этот файл и добавляют вредоносные файлы so для выполнения вредоносных функций, таких как сокрытие процесса майнинга.

Проверьте /etc/ld.so.preload (по умолчанию этот файл пуст),Очистить ненормальные библиотеки динамической компоновки。Может быть выполнено`> /etc/ld.so.preload` для очистки.

6. Очистите открытый ключ SSH.

Троянские программы для майнинга обычно также записывают открытый ключ SSH хакера в файл ~/.ssh/authoruzed_keys. Таким образом, даже если пользователь полностью очистит троян для майнинга, хакер все равно сможет войти на хост без пароля. общий. Средство сохранения контроля над сервером.

Проверьте файл ~/.ssh/authorized_keys. Если обнаружен подозрительный открытый ключ SSH, удалите его напрямую.

7. Удалите трояны-майнеры

(1) Очистить процесс майнинга

Самая большая особенность трояна-майнера заключается в том, что он будет использовать вычислительную мощность хоста для майнинга без ведома пользователя, тем самым потребляя большое количество ресурсов ЦП хоста. Поэтому запустите следующую команду, чтобы проверить процессы, занимающие компьютер. большое количество ресурсов процессора в системе.

Язык кода:javascript
копировать
top -c
ps -ef

Убедившись, что соответствующий процесс является процессом майнинга, выполните следующие действия, чтобы очистить его:

Получите и запишите путь к файлу процесса майнинга:

Язык кода:javascript
копировать
ls -l /proc/$PID/exe

Убейте процесс майнинга:

Язык кода:javascript
копировать
kill -9 $PID

Удалите файлы, соответствующие процессу майнинга.

(2) Удалите другие связанные вредоносные процессы.

Когда вредоносные процессы взаимодействуют с внешними серверами C2, они часто открывают порты для мониторинга. Выполните следующую команду, чтобы проверить, отслеживаются ли какие-либо несанкционированные порты на сервере.

Язык кода:javascript
копировать
netstat -antp

Если существуют несанкционированные процессы, выполните следующие действия, чтобы очистить их:

Получите и зарегистрируйте пути к файлам неавторизованных процессов:

Язык кода:javascript
копировать
ls -l /proc/$PID/exe

Уничтожьте неавторизованные процессы:

Язык кода:javascript
копировать
kill -9 $PID

Удалить файлы, соответствующие неавторизованным процессам

Вы также можете использовать следующую команду для проверки недавно добавленных файлов и удаления связанных троянов.

Язык кода:javascript
копировать
 find /etc -ctime -2 (Здесь указан каталог /etc для получения новых файлов за последние 2 дня)
 lsof -c kinsing (Здесь вам необходимо просмотреть соответствующую информацию о процессе файла с именем kinsing)

8. Расследование рисков и усиление безопасности

Проведите расследование рисков и укрепите безопасность системы, чтобы избежать повторного использования троянских программ-майнеров. Подробную информацию можно найти по следующей ссылке: https://cloud.tencent.com/document/product/296/9604.

4. Часто задаваемые вопросы

1. Троян-майнер только что был очищен, но вскоре он снова появится?

Многие пользователи сообщают, что троян для майнинга всегда нечист. Очевидно, он остановил процесс и удалил троянский файл. Через некоторое время загрузка ЦП снова увеличилась. Основная причина в том, что удаление недостаточно тщательное. Большинство пользователей просто завершают процесс майнинга и соответствующие файлы, но не очищают запланированные задачи и процессы демона.

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

2. Как определить, является ли подозрительный процесс вредоносным?

Как показано на рисунке ниже, неизвестный процесс кининга прослушивает локальный порт 31458, что очень подозрительно и может быть определено следующим методом:

(1)осуществлять`ls -al /proc/$PID/exe`Подтвердите файлы, соответствующие подозрительному процессу.;

(2) Если файл не был удален,Затем загрузите файл непосредственно в Virustotal для обнаружения.,Или вычислить md5, соответствующий файлу,Используйте md5, чтобы запросить Virustotal, был ли файл удален;,可осуществлять`cat /proc/$PID/exe > /tmp/t.bin`обработаюdumpв конкретный каталог,Затем загрузите файл в Virustotal или вычислите md5, соответствующий файлу дампа, и запросите его в Virustotal. Если несколько антивирусных механизмов обнаруживают его одновременно,По сути, можно определить, что процесс является вредоносным процессом.

Virustotalадрес:https://www.virustotal.com/gui/s

3. Почему загрузка процессора системы близка к 100%, но я не вижу, какой процесс ее вызывает?

Как показано на рисунке ниже, загрузка ЦП системы близка к 100%, но вы не можете увидеть, какой процесс ее вызывает. Обычно такая ситуация возникает из-за того, что системные команды были подделаны троянами, что скрывает следы троянских процессов. и делает невозможным для пользователей проведение анализа отслеживания.

Существует множество способов подделать команды, а именно:

(1) Исходный файл верхнего уровня подделывается, а информация о вредоносном процессе фильтруется и возвращается.

Восстановить его можно, выполнив следующую команду:

Язык кода:javascript
копировать
rm -rf /usr/bin/top && mv /usr/bin/top.original /usr/bin/top

【Похожие статьи】https://blog.csdn.net/chenmozhe22/article/details/112578057

(2) Вмешательство в предварительно загруженный файл so. Такие команды, как ls, top и ps, были захвачены библиотекой динамической компоновки троянца, и информацию, связанную с троянским процессом, получить невозможно.

Восстановить его можно, выполнив следующую команду:

Язык кода:javascript
копировать
> /etc/ld.so.preload && rm -rf Вредоносный путь к файлу

[Статьи по теме] https://cloud.tencent.com/developer/article/1744547

(3) Вмешательство в системные команды другими неизвестными способами.

Вы можете попробовать следующие два решения соответственно:

i. Скопируйте исходный файл команды из других систем той же версии в текущую систему для перезаписи. Вы можете использовать команду uname -a для просмотра текущей версии системы;

ii Или установите busybox для устранения неполадок в системе. busybox — это программное обеспечение, объединяющее более 300 наиболее часто используемых команд и инструментов Linux. Вы можете использовать busybox для замены системных команд для устранения неполадок в системе;

Язык кода:javascript
копировать
 yum -y install wget make gcc perl glibc-static ncurses-devel libgcrypt-devel
 wget http://busybox.net/downloads/busybox-1.33.0.tar.bz2
 tar -jxvf busybox-1.33.0.tar.bz2
 cd busybox-1.33.0 && make && make install

[Статьи по теме] https://www.cnblogs.com/angryprogrammer/p/13456681.html

Постоянное обновление...

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода