说一说被挖矿事件搞的我想杀人的事!!!!
2019年9月18日,发现服务器被黑,用亚马逊服务器挖矿。
服务器部署组件:nginx redis mongodb jdk
具体症状如下:
安装mongodb,启动mongodb后,发现mongo命令被莫名的删除,无法进入数据库,php程序报错内存不足,使用top命令查看发现有个miner2的进程占用cpu100%,
使用lsof -p $pid 号 发现进程是由一个叫/tmp/miner2的脚本启动起来的,然而将文件删除,进程杀掉,无任何作用,谷歌,百度 ,各种检查问题,终于在百度上查到这样一篇文章:
利用Redis未授权访问漏洞进行门罗币(XMR)挖矿事件分析
一、 概述
2019年8月30日,安洵信息星际实验室蜜网捕获到利用Redis未授权访问漏洞的攻击行为。Redis因配置不当可以导致未授权访问,被攻击者恶意利用。
当前流行的针对Redis未授权访问的一种新型攻击方式,在特定条件下,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器,可导致服务器权限被获取和数据删除、泄露或加密勒索事件发生,严重危害业务正常服务。 部分服务器上的Redis 绑定在 0.0.0.0:6379,并且没有开启认证(这是Redis 的默认配置),以及该端口可以通过公网直接访问,如果没有采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,将会导致 Redis 服务直接暴露在公网上,可能造成其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。安全团队对此次事件进行了详细的样本分析,并给出预防及修复建议。
二、 攻击原理
攻击原理非常简单 – 攻击者在内存中设置一个键/值对,然后将其保存到磁盘中的文件中,该位置将强制文件运行(例如/etc/crontabs,/var/spool/cron/crontab等)。
三、样本分析
攻击者先尝试对不设置密码的redis或者若密码的redis服务器进行连接,然后执行脚本,创建定时任务。
脚本pm.sh分析
通过下载并执行脚本,该脚本会检查并从下载可执行文件”pc”。
可执行程序pc分析
该可执行文件未进行加壳处理,主要包括下载挖矿程序、配置定时任务、关闭系统防火墙及相关进程等功能。
程序首先通过http://pm.ipfswallet.tk/miner2下载挖矿程序”miner2”,并赋予其相应权限,使其开始执行。
矿池地址:
stratum+tcp://pool.cpuminerpool.com:443
stratum+tcp://pool.minexmr.com:80
stratum+tcp://pool.minexmr.com:5555
钱包地址:
4AM2tbxHyDKLY2SLvwSoJ9S61mCdh8NXV6QZJQ7PVxm4T8ieufvW5zwJ84p8hS5Zij1DNeP195oBgPMBd8Gzmoj962Fjw1a
四、IOC
攻击者IP:
220.194.237.43 河北唐山
104.28.30.36 美国
攻击者URL:
样本MD5:
fec85360ad9b3d894f958c4ad1aabb9c
c1c516250b1b5e7cbaaf00b9f38e197d
五、预防与修复建议
预防建议
(1)、确保系统与应用程序及时下载更新为官方提供的最新补丁;
(2)、禁止使用弱口令密码;
(3)、定期检查服务器异常,如CPU持续占用高、磁盘异常情况;
(4)、Redis不要监听在危险IP上,如果有请加网络防火墙规则控制;
(5)、LINUX 系统下Redis不要用Root用户身份来启动。Windows系统下不要以system权限运行
修复建议
(1)、断网、备份重要的crontab,关闭或删除定时任务:systemctl stop crontab或 rm -rf /etc/cron.d/*;
(2)、锁定crontab中的恶意文件;
(3)、查看并杀掉病毒进程