Добрый день уважаемые гуру.
Поломали сервер, запускают периодически dos, нашел папки со вредоносными скриптами - удалил.
Также запустили irc - вот процессы, которые вызывают вопросы.netstat -a | grep ircd
tcp4 115 0 host.ru.17237 elbi-design.ru.ircd CLOSED
tcp4 115 0 host.ru.57847 68.171.207.69.cu.ircd CLOSED
tcp4 0 0 host.ru.28078 68.171.207.69.cu.ircd ESTABLISHED
tcp4 0 0 host.ru.51057 elbi-design.ru.ircd ESTABLISHED
/usr/local/sbin/lsof | grep 28078
perl5.10. 74202 www 76u IPv4 0xce614768 0t0 TCP host.ru:28078->68.171.207.69.cust.static.cmh.datacenter101.com:ircd (ESTABLISHED)top
86075 www 1 118 0 5836K 3808K CPU1 1 62.2H 100.00% perl5.10.1
45696 www 1 118 0 5836K 3812K RUN 0 245:29 100.00% perl5.10.1ps -aux | grep perl5.10.
www 45696 100.0 0.1 5836 3812 ?? R 5:35AM 245:50.34 /usr/sbin/apache/loggs (perl5.10.1)
www 86075 100.0 0.1 5836 3808 ?? R 29Dec10 3733:05.90 /usr/local/apache/bin/httpd -DSSL (perl5.10.1)
www 13087 0.0 0.1 5836 3728 ?? I Sun12AM 0:00.00 /usr/local/httpd (perl5.10.1)
www 13108 0.0 0.1 5836 3784 ?? S Sun12AM 1:20.40 /usr/local/httpd (perl5.10.1)
www 56325 0.0 0.1 5836 3716 ?? S 3Jan11 1:14.48 /usr/local/httpd (perl5.10.1)
www 56738 0.0 0.1 5836 3720 ?? S 3Jan11 2:38.58 /usr/local/httpd (perl5.10.1)
www 74177 0.0 0.1 5836 3728 ?? I Thu06PM 0:00.00 /usr/local/httpd (perl5.10.1)
www 74202 0.0 0.1 5836 3768 ?? S Thu06PM 0:21.67 /usr/local/httpd (perl5.10.1)
root 53605 0.0 0.0 3496 1076 0 S+ 9:43AM 0:00.00 grep perl5.10.
Вредоносные процессы содержат можно найти по (perl5.10.1). Нужно найти и убить гадину. kill и killall не помогают - процессы остаются.kill 86075
ps -aux | grep perl5.10.
www 86075 100.0 0.1 5836 3808 ?? R 29Dec10 3734:37.42 /usr/local/apache/bin/httpd -DSSL (perl5.10.1)
> /usr/local/apache/bin/httpd -DSSL (perl5.10.1)Это похоже на честный процесс
> 0:00.00 /usr/local/httpd (perl5.10.1)
А вот это уже подозрительная хрень. Симлинк? Бинарное файло? Откуда там взялось?
>> /usr/local/apache/bin/httpd -DSSL (perl5.10.1)
> Это похоже на честный процессНеа - совсем не честный - честный такой
www 38299 0.0 0.4 21288 13240 ?? I 12:08AM 0:06.39 /usr/local/sbin/httpd -k start
>> 0:00.00 /usr/local/httpd (perl5.10.1)
> А вот это уже подозрительная хрень. Симлинк? Бинарное файло? Откуда там взялось?Не знаю откуда взялось - в /usr/local/ уменя httpd нет. И пофиксить гадость не получается никак.
удалить нафик в однопользовательском режиме.
возможно подменили системные файлы,
и есть руткит.
сравни время создания, изменения файлов в
в /(s)bin/ /usr/(s)bin
> удалить нафик в однопользовательском режиме.
> возможно подменили системные файлы,
> и есть руткит.По поиску руткита посоветуешь что?
> сравни время создания, изменения файлов в
> в /(s)bin/ /usr/(s)binПереместил (на всякий случай, потом удалю) файлик httpd.core - который лежал в /usr/local. Это был бинарник.
Судя по дате создания в /(s)bin/ /usr/(s)bin файлы созданы в одно и тоже время.Последними были созданы симлинки
@perl - /usr/local/bin/perl5.10.1
@perl5 - /usr/local/bin/perl5.10.1они были созданы в июле этого года. А судя по статистике загрузки интерфейса - исходящий трафик в больших количествах начался с ноября.
> Не знаю откуда взялось - в /usr/local/ уменя httpd нет. И пофиксить
> гадость не получается никак.значит был удален после запуска. замените бинарик перла заглушкой, которая будет логировать все запуски и передавать управление настоящему перлу
>> Не знаю откуда взялось - в /usr/local/ уменя httpd нет. И пофиксить
>> гадость не получается никак.
> значит был удален после запуска. замените бинарик перла заглушкой, которая будет логировать
> все запуски и передавать управление настоящему перлуПравильный httpd не удален - он находится /usr/local/sbin/httpd - как только его стопил - останавливался рабочий web сервак - но процесс /usr/local/httpd (perl5.10.1) оставался.
Как бы понять какой перл "правильный"...
в /usr/local/bin/ есть
*perl
@perl5 -> /usr/local/bin/perl5.10.1
*perl5.10.1
*perl5.8.8perl -v
This is perl, v5.10.1 (*) built for i386-freebsd-64int
Copyright 1987-2009, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
Да и кронд куда то ломиться -
sockstat -P TCP | grep 52989
www crond 45684 0 tcp4 ip:52989 61.153.224.178:7000
> Как бы понять какой перл "правильный"...
> в /usr/local/bin/ есть
> *perl
> @perl5 -> /usr/local/bin/perl5.10.1
> *perl5.10.1
> *perl5.8.8вы не поняли. я полагаю, что перл у вас настоящий
>/usr/local/httpd (perl5.10.1)а вот это значит, что был запущен перловый скрипт /usr/local/httpd, после чего скрипт был удален. поэтому я и предложил поставить вместо перла заглушку, которая допустим скопирует перед запуском скрипт в безопасное место
>[оверквотинг удален]
>> в /usr/local/bin/ есть
>> *perl
>> @perl5 -> /usr/local/bin/perl5.10.1
>> *perl5.10.1
>> *perl5.8.8
> вы не поняли. я полагаю, что перл у вас настоящий
>>/usr/local/httpd (perl5.10.1)
> а вот это значит, что был запущен перловый скрипт /usr/local/httpd, после чего
> скрипт был удален. поэтому я и предложил поставить вместо перла заглушку,
> которая допустим скопирует перед запуском скрипт в безопасное местоНе совсем конечно понял зачем.
После удаления /usr/local/httpd.core получилось убить с помощью kill все гадские процессы. Оказалось что они постоянно pid меняли (смотрел top'ом). Буду искать на сервере где еще проявится.
>[оверквотинг удален]
>>> *perl5.8.8
>> вы не поняли. я полагаю, что перл у вас настоящий
>>>/usr/local/httpd (perl5.10.1)
>> а вот это значит, что был запущен перловый скрипт /usr/local/httpd, после чего
>> скрипт был удален. поэтому я и предложил поставить вместо перла заглушку,
>> которая допустим скопирует перед запуском скрипт в безопасное место
> Не совсем конечно понял зачем.
> После удаления /usr/local/httpd.core получилось убить с помощью kill все гадские процессы.
> Оказалось что они постоянно pid меняли (смотрел top'ом). Буду искать на
> сервере где еще проявится.Утром опять был запущен www 27391 0.0 0.1 6992 4484 ?? S 10:21PM 0:04.00 /usr/sbin/httpd (perl5.10.1) и висело соединение с ircd.
Хотя httpd из /usr/sbin/ удалил. Откуда запускается гадость никак не найду....
Как ни крути, а сервер придется переставлять.
> Как ни крути, а сервер придется переставлять.Очень не хотелось бы. Нашел откуда ломился crond - из /tmp/../crond - убил папку.
> Вредоносные процессы содержат можно найти по (perl5.10.1). Нужно найти и убить
> гадину. kill и killall не помогают - процессы остаются.killall -9 perl