На сервере, который я использую, запущен процесс, к которому имеет доступ множество людей.
Когда я делаю верх, я вижу, что он занимает ~ 99% ЦП.
с участием ps aux
Я вижу, что речь идет о следующей команде:
python -c import pty;pty.spawn("bash")
Я читаю документы, и они говорят
pty.spawn (argv [, master_read [, stdin_read]])
Создайте процесс и подключите его управляющий терминал к стандартному io текущего процесса. Это часто используется, чтобы сбить с толку программы, которые настаивают на чтении с управляющего терминала.
Функции master_read и stdin_read должны быть функциями, которые читают из файлового дескриптора. По умолчанию каждый раз при вызове пытается прочитать 1024 байта.
Но я не понимаю, зачем кому-то это делать. Зачем кому-то использовать оболочку для вызова python для создания оболочки? И почему он так сильно загружает процессор?
Я что-то упускаю или мне нужен кофе?
В основном я хочу знать, что этот процесс на самом деле «делает» с 99% ЦП, чтобы я мог решить, убивать его или нет (помните, не только я на коробке).
Я не системный администратор. Я один из тех разработчиков, которые знают достаточно, чтобы выжить.
Я не совсем уверен, как углубиться в это - есть идеи?
Изменить: является ли эксплойт единственным использованием этого типа команды? Опять же, у многих людей есть доступ к этому ящику. Разве у этого не могло быть законной цели? Как я могу отличить одно от другого?