Как можно диагностировать процесс, с которым не связано имя исполняемого файла?

Как можно диагностировать процесс, с которым не связано имя исполняемого файла?

На моем сервере на базе KVM есть процесс, который занимает 100% ЦП.

Это вывод htop.

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command                 
22230 adminx     20   0  185M  3468  1600 S 100.  0.5 72h45:33 apache 
22232 adminx     20   0  185M  3468  1600 R 100.  0.5 72h45:12 apache 
10660 root       20   0 26880  4680  3176 R  0.0  0.6  0:00.11 htop
 1061 root       20   0  276M  5796     0 S  0.0  0.8  0:05.59 /usr/lib/snapd/snapd 
 9529 root       20   0 92796  6916  5992 S  0.7  0.9  0:00.11 sshd: root@pts/3

Имя процесса — , apacheа пользователь — adminx. В системе не должно быть исполняемого файла apache, и пользователь adminxв любом случае не должен его запускать.

Вывод straceдвух pid показан ниже.

strace -p 22230

epoll_wait(7, [], 1024, 204)            = 0
epoll_wait(7, [], 1024, 34)             = 0
epoll_wait(7, [], 1024, 500)            = 0
epoll_wait(7, [], 1024, 465)            = 0
epoll_wait(7, [], 1024, 34)             = 0
......

strace -p 22232

sched_yield()                           = 0
sched_yield()                           = 0
sched_yield()                           = 0
sched_yield()                           = 0
sched_yield()                           = 0
......

Я не знаю, как возник этот процесс, и сервер мог быть взломан. Я убил процесс и планирую переустановить сервер.

Учитывая что-то подобное, как вы можете отследить, как начался процесс, если нет исполняемого файла с таким именем? Как можно захватить образ памяти исполняемого файла для анализа и как можно проанализировать его распределение памяти?

P.S. Я нашел имя исполняемого файла. Похоже, он копируется в общую память и удаляется.

adminx@gw06  ~  ls -l /proc/10160/exe
lrwxrwxrwx 1 adminx adminx 0 Jun  3 09:22 /proc/10160/exe -> /dev/shm/apache (deleted)

решение1

Это может быть вредоносное ПО для майнинга биткоинов.

Вы можете проверить исполняемый файл с помощью

ls -l /proc/22230/exe

Имя этого файла может быть другим. Процесс может установить его, $0который показан напр top.

Связанный контент