*本文作者:si1ence,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。
前言
大佬随手给我一个叫cr.sh的恶意脚本让我分析分析,毕竟是大佬安排的活不想干也要干。原本以为只是个普通的安全事件,定睛一看发现是一个做工精良的挖矿脚本套装,后续跟踪发现可能与国内某知名的挖矿团伙有关系,遂有此文。
0x1 过程分析
cr.sh内容如下:
通过执行系统命令ps ax、netstat、crontab、ps、top收集系统信息保存成tmp2.txt内容后上传到黑客指定的服务器http://46.249.38.186/rep.php
之后定义了curl与wget的命令简单的换成了LDR,检查程序当中是否运行tmp/java、w.conf应该是挖矿的配置文件,猜测java应该是挖矿主体。之后从互联网拖一个zz.sh的文件下来之后执行。
zz.sh的内容就丰富的多了,看起来这个玩意才是重头戏。
第一步:
先用pkill -f 干掉一些常规的挖矿进程、-f参数表示正则表达式模式将执行与完全进程参数字符串 (从/proc/nnnnn/psinfo文件的pr_psargs字段获得)匹配,此处主要依据挖矿的路径和进程名。
然后在根据挖矿的conf文件再干掉一批。
通过外联的挖矿矿池地址再干掉一批。
随便查了一个地址看到这个url和3333端口就感觉八九不离十了。
第二步:
删除挖矿进程,主要还是集中在var/tmp下的文件和/tmp目录下的文件。
第三步:
检查/tmp/java的md5值是否与b00f4bbd82d2f5ec7c8152625684f853与71849cde30470851d1b2342ba5a5136b匹配,如果不匹配就直接rm -rf 干掉也没有忘了w.conf,如果目录不存在则用mkdir建一个。
第四步:
定义了二个download的函数主要功能是从远程服务器上下载样本回来,还是一个https的站点主要保存成了二个文件pscf3、java。
主要url为:https://bitbucket.org/zrundr42/mygit/raw/master/x_64。
下载回来之后检查一下Md5:71849cde30470851d1b2342ba5a5136b。
本质上就是一个xmrige 2.8.1的linux版 在2018年11日18日编译生成。
第五步:
万事具备只欠东风了,从互联网上面下载自己的挖矿conf文件启动后开始挖矿然后删除这个conf文件。同时在写入定时任务,防止过程中出现问题之后还能继续挖矿不间断,http://46.249.38.186/cr.sh 终于还是出现了。
conf的文件内容如下:
矿池地址:
stratum+tcp://163.172.205.136:3333
钱包地址:
46CQwJTeUdgRF4AJ733tmLJMtzm8BogKo1unESp1UfraP9RpGH6sfKfMaE7V3jxpyVQi6dsfcQgbvYMTaB1dWyDMUkasg3S(与国内8220挖矿团伙钱包地址一致)
目前已经挖了37个约1.1W RMB。
看到这个8220感觉似曾相识,google一下疑是国内某挖矿团伙。
0x3 总结
1. 入侵网络服务器植入挖矿木马的攻击事件越来越频繁,各位企业应提高警惕。
2. 通过web命令执行漏洞拿到服务器的权限之后,黑客完全可以轻轻松松一键挖矿这一类的安全漏洞还是尽快修复的好。
3. 与360发现的8220挖矿团伙发现的样本相比,xmrige为最新编译的2.8.1、下载路径更新为:https://bitbucket.org、钱包地址保存一致、未发现windows模块、部分功能有变化。
*本文作者:si1ence,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。