среда, 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 комментариев:

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

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

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

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

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

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

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

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

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

    ОтветитьУдалить
  8. спасибо тебе, коллеги говорили не париться и ставить всё с нуля

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

    ОтветитьУдалить
  10. А мне вот больше интересно цель этого все.

    ОтветитьУдалить