Назад | Перейти на главную страницу

Процесс без имени

У меня есть веб-сервер, из-за устаревшего Wordpress какой-то хакер загрузил веб-оболочку. Посредством этого он запустил процесс, но команда ps не показывает имя для процесса:

root@serv ~ # ps aux|grep  " 326 "
us432   326  0.0  0.0  25032  4476 ?        S    Aug27   0:16       
root     3334  0.0  0.0  16656  2092 pts/2    S+   14:58   0:00 grep  326

Из-за этого я не мог обнаружить проблему до сегодняшнего дня.

Операционная система сервера - Debian 8 с Apache и PHP 7. Веб-сайт работает под непривилегированным пользователем.

Я искал, как запустить процесс без имени или как удалить его имя во время выполнения, но ничего не нашел.

Кто-нибудь знает, как такое возможно?

Заранее спасибо.

Во-первых, предложение: поскольку вы знаете PID, используйте ps -p чтобы указать конкретный PID. Моя стандартная команда goto - ps -fp <pid>.

Я предполагаю, что имя исполняемого файла состоит из непечатных символов, чтобы его было сложно найти или изменить. (Все символы допустимы в именах файлов на * nix; некоторые из них просто трудно правильно экранировать.) Чтобы отобразить эти скрытые символы, попробуйте ps -fp 326 | cat -vet. Я использую пневматическое устройство «отведи мою кошку к ветеринару», чтобы запомнить те флажки, на которых отображаются все непечатаемые символы. Тот же трюк можно использовать, например, с ls вывод, чтобы обнаружить, что имя файла, который вы не можете удалить, заканчивается символом табуляции.