Процесс без имени
У меня есть веб-сервер, из-за устаревшего 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. Сайт работает под непривилегированным пользователем.
Я искал, как запустить процесс без имени или как я могу удалить его имя во время выполнения, но я ничего не нашел.
Кто-нибудь знает, как это возможно?
Заранее спасибо.
1 ответ
Во-первых, предложение: так как вы знаете PID, используйте ps -p
перечислить конкретный PID. Мой стандарт, команда goto ps -fp <pid>
,
Я предполагаю, что имя исполняемого файла состоит из непечатаемых символов, просто чтобы его было трудно найти или манипулировать. (Все символы допустимы в именах файлов в *nix; некоторые из них просто трудно экранировать.) Чтобы отобразить эти скрытые символы, попробуйте ps -fp 326 | cat -vet
, Я использую пневмоническое устройство "возьми мою кошку к ветеринару", чтобы запомнить те флаги, которые отображают все непечатаемые символы. Тот же трюк можно использовать, например, с ls
вывод, чтобы обнаружить, что имя файла, который вы не можете удалить, оканчивается символом табуляции.