我的服务器出现了一个我认为是可疑的活动,有一个 bash 进程消耗了超过 30% 的 CPU,当我用它来跟踪它时,lsof -p
显示:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
carcvncgi 39259 root cwd DIR 253,1 4096 813203 /var/www/elasticsearch
carcvncgi 39259 root rtd DIR 253,1 4096 2 /
carcvncgi 39259 root txt REG 253,1 625622 1109822 /usr/bin/carcvncgiw
carcvncgi 39259 root 0u CHR 1,3 0t0 1029 /dev/null
carcvncgi 39259 root 1u CHR 1,3 0t0 1029 /dev/null
carcvncgi 39259 root 2u CHR 1,3 0t0 1029 /dev/null
carcvncgi 39259 root 3u IPv4 36094970 0t0 UDP *:44932
但当我用它检查时who
只显示:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/4 182.253.177.249 09:07 6:45 17.35s 0.28s -bash
root pts/5 182.253.177.249 09:25 23:57 1.82s 1.75s iftop
root pts/7 182.253.177.249 09:33 5.00s 0.14s 0.00s w
root pts/0 103:S.0 22:45 9:29m 0.34s 0.27s /bin/bash
从上往下数第三个是我的 IP,最后一个我认为是提供商 IP。是否有可能有人访问我的服务器并将其隐藏起来不让who
命令看到?有办法解决这个问题吗?carcvncgiw
流程是什么?因为谷歌先生没有提供清晰的解释。
更新
嗯,我关注了这里我该如何处理受到感染的服务器?并尝试处理服务器并“解决问题”,但问题仍然是是否有可能隐藏who
命令以及carcvncgiw
流程是什么?
注意:感谢那个向我展示该链接的人,看来我需要清除我的服务器
更新2
的结果cat /proc/39259/cmdline
bash
的结果cat /proc/39259/environ
nSHLVL=0OLDPWD=/UPSTART_JOB=lokamedia-elasticTERM=linuxPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/binPWD=/var/www/elasticsearchNLSPATH=/usr/dt/lib/nls/msg/%L/%N.catXFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
的结果ls -lh /usr/bin/carcvncgiw
-rwxr-xr-x 1 root root 597K Mar 10 00:14 /usr/bin/carcvncgiw
谢谢
答案1
该who
命令打印有关已登录用户的信息,该utmp
文件是该信息的主要来源。
根据手册man 5 wtmp
init 进程清除在系统启动时启动的进程的条目,因此该carcvncgi
进程可能是由 init(或 init 的 systemd/upstart 替代品)在系统启动时启动的,实际上可以成为正常进程列表的一部分。
无论如何/var/run/utmp
只更新实际login
事件,而不是每个启动的进程。
程序不需要任何特殊的东西来“隐藏”命令who
,它几乎是相反的,它首先需要一个特定的操作来列出。
关于该过程的有效性carcvncgi
:确实不知道。