среда, 6 мая 2015 г.

Избавление от трояна XOR.DDoS на Linux-сервере

На сервере (CentOS 6) периодически стали возникать перебои с сетью, большая часть пингов приходила с ошибкой. Кое-как соединился к серверу по ssh, краем глаза зацепил вывод ps и увидел, что на сервере запущены сторонние процессы.
Получив доступ к IPMI я начал разбираться с вирусом. Сразу скажу, что сервер был взломан, просто сбрутфорсили словарный пароль, который клиент не сменил, security.log тому подтверждение.

Сразу стал смотреть кроны:
# vim /etc/crontab
# тут я нашел интересную запись, которая запускает некий /etc/cron.hourly/gcc.sh каждые три минуты

Запись из крона удалил.

Посмотрел содержимое этого самого скрипта:
# cat /etc/cron.hourly/gcc.sh
for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done
cp /lib/libudev.so /lib/libudev.so.6
/lib/libudev.so.6

Ищу подозрительные записи в кроне и удаляю их:
# tail /etc/cron.*/*

Обнуляю libudev.so:
# > /lib/libudev.so

Удаляю сам скрипт:
# rm /etc/cron.hourly/gcc.sh

Ищу подозрительные кроны:
# ls -lRt /etc/init.d/ | less
rtykqzfntq
ncalqyloch
...

Отключаю автозапуск и удаляю физически:
# chkconfig --del rtykqzfntq
# chkconfig --del ncalqyloch
# find /etc/init.d/ -name rtykqzfntq -print -delete
# find /etc/init.d/ -name ncalqyloch -print -delete

Также ищу в /usr/bin подозрительные записи:
# ls -tl /usr/bin | less
rtykqzfntq
ncalqyloch
...

Удаляю их:
# cd /usr/bin
# rm -f rtykqzfntq ncalqyloch

Вывод: нужно подбирать нормальные пароли.

12 комментариев:

Анонимный комментирует...

делаю по инструкции, но зараза все равно возвращается(

Amet Umerov комментирует...

Внимательно смотрите все файлы крона и в /usr/bin, возможно упустили что-то.

Sergey Efimov комментирует...

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

Vitaliy Mas комментирует...

в редакторе удалите весь бинарный код из /lib/libudev.so
можно добавить рандомальный текст внутрь файла.
вирус перестает восстанавливаться

Unknown комментирует...

В конце этой страницы написано как излечить:
http://superuser.com/questions/877896/unknown-linux-process-with-random-command

(надо удалить из /etc/rc{0,1,2,3,4,5,6,S}.d, итд...)

Unknown комментирует...

В конце этой страницы написано как излечить:
http://superuser.com/questions/877896/unknown-linux-process-with-random-command

(надо удалить из /etc/rc{0,1,2,3,4,5,6,S}.d, итд...)

Анонимный комментирует...

Интересный подробный разбор от avast:
https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/

Amet Umerov комментирует...

Спасибо

Дмитрий Марков комментирует...

спасибо тебе, коллеги говорили не париться и ставить всё с нуля

Amet Umerov комментирует...

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

YoRuLeZ комментирует...

А мне вот больше интересно цель этого все.

Amet Umerov комментирует...

Ботнет