
実行中の 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
。システム上には apache 実行可能ファイルは存在せず、ユーザーはadminx
いずれにしてもそれを実行していないはずです。
strace
2 つの 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
......
プロセスがどのように発生したかはわかりません。サーバーがハッキングされた可能性があります。プロセスを強制終了し、サーバーを再インストールする予定です。
このような性質のものがある場合、その名前の実行可能ファイルがない場合、プロセスの開始方法をどのように追跡しますか? 実行可能ファイルのメモリ イメージを分析用にキャプチャするにはどうすればよいでしょうか? また、そのメモリ割り当てを分析するにはどうすればよいでしょうか?
PS. 実行可能ファイルの名前を見つけました。共有メモリにコピーされて削除されるようです。
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
。