Удаление вредоносного кода с использованием maldet и SED в Unix/Linux

Удаление вредоносного кода с использованием maldet и SED в Unix/Linux

Я сталкиваюсь с очень большим количеством взломанных аккаунтов на хостинге. Данные аккаунты заразили вредоносным кодом и его необходимо лечить ( удалять). По этому, данная статья «Удаление вредоносного кода с использованием maldet и SED в Unix/Linux» именно по такому случаю. Я использую maldet для поиска вирусов на серверах, но он не удаляет ничего, по этому, приходится открывать файл и удалять все вручную. Это терпимо, когда имеется несколько зараженных файлов, но когда их сотни, то каждый редактировать не особо хочется, так же, тратить время.

Если не знаете как установить и использовать maldet, можете ознакомится тут:

Установка Maldet для поиска вирусов на linux\Unix

PS: Чтобы maldet работал быстрее подключите для проверки движок clamav:

Установка ClamAV на Debian/Ubuntu/ Linux Mint

Установка ClamAV на RedHat/Centos/Fedora

Если используете Cpanel, то нужно проверить если ли symlink в  /usr/local/bin/clamscan и создайте его, если он не существует:

# ln -s /usr/local/cpanel/3rdparty/bin/clamscan /usr/local/bin/clamscan

А я буду собирать разнообразные вирусы в этой теме и буду рассказывать как их лечить, чтобы в следующий раз не тратить на написание шаблона — свое время. И так, для начала сохраним файл, но для этого, я открою его с помощью vim:

# EDITOR=vim  maldet --report 081115-0723.23405

Сохраняем его.

После чего он будет сохранен в очень неудобном варианте, для этого, я его переименую:

# mv /usr/local/maldetect/sess/session.081115-0723.23405 /tmp/maldet.sorted

Но данный файл будет содержать в себе все файлы (зараженные и не зараженные), по этому, нужно отгрепать и пересохранить его:

# cat /usr/local/maldetect/sess/session.081115-0723.23405 | grep {HEX}php.brute.bf1lic.186  > /tmp/maldet.sorted

После чего, приступаем к лечению.

Не помню точного названия.

Лечим:

# cat /tmp/maldet.sorted |awk '{print $3}'| xargs -n1 sed -i 'N;N;s|//###==###\n.*\n//###==###||;P;D'

php.brute.bf1lic.186

В самом начала вставляет вредоносный код. Maldet показывает что это вирус:

{HEX}php.brute.bf1lic.186

Лечение:

# cat /tmp/maldet.sorted |awk '{print $3}'| xargs -n1 sed -i 's/<?php.*<?php.*<?php/<?php/'

или

# cat /tmp/maldet.sorted |awk '{print $3}'| xargs -n1 sed -i 's/<?php.*//'

или

# cat /tmp/maldet.sorted |awk '{print $3}'| xargs -n1 sed -i 's/<?php.*<?php.*<?/<?/'

Это 3 разных модификации данного вредоносного кода.

{HEX}base64.inject.unclassed.7

# sed -i 's/<?php.*eval(base64_decode.*?>//' file_name

php.cmdshell.unclassed.358

Maldet показывает что это вирус:

{HEX}php.cmdshell.unclassed.358

Лечение:

# sed -i 's/preg_replace.*//' ~/wp-contents.php

Это не все лечение для вредоносного кода, буду по мере возможностей, добавлять еще материал.

В общим, я не стал заморачиватся и усложнять жизнь себе и другим и взял написал скрипт, который запускает maldet, ищет вредоносный код по моей собранной базе ( основа взята у maldet) и после чего выполняет ряд действий по зараженным файлам ( удаление или исправление). Если интересно, можно использовать данный скрипт:

# cd /usr/local/src && wget https://raw.githubusercontent.com/SebastianUA/Detect-and-fix-malwares-with-ClamAV-Maldet/master/detect_and_fix_malwares_2.0.sh --no-check-certificate

Вот еще одно лечение для вируса (без использования малдета):

# grep -Rls "<?php.*?><?php" | xargs -I{} -n1 echo {} | xargs -n1 sed -i 's/<?php.*?><?php/<?php/'

PS:  Я запустил в текущей директории.

Вот и все, тема «Удаление вредоносного кода с использованием maldet и SED в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.