연관된 실행 파일 이름이 없는 프로세스를 진단하려면 어떻게 해야 합니까?

연관된 실행 파일 이름이 없는 프로세스를 진단하려면 어떻게 해야 합니까?

내가 실행 중인 KVM 기반 서버에 CPU를 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. 시스템에서 실행할 수 있는 아파치가 없어야 하며 사용자는 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
......

프로세스가 어떻게 시작되었는지 알 수 없으며 서버가 해킹되었을 수 있습니다. 프로세스를 종료했으며 서버를 다시 설치할 계획입니다.

이러한 특성이 있는 경우 해당 이름의 실행 파일이 없는 경우 프로세스가 어떻게 시작되었는지 추적하는 방법은 무엇입니까? 분석을 위해 실행 파일의 메모리 이미지를 어떻게 캡처할 수 있으며 해당 메모리 할당을 어떻게 분석할 수 있습니까?

추신. 실행 파일 이름을 찾았습니다. 공유 메모리에 복사되었다가 삭제된 것 같습니다.

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.

관련 정보