首页 > 关于安博通 > 新闻中心
内网主机频繁出现异常性能过高问题案例分析
2020-06-10
262

1、问题描述


合作伙伴频繁出现内网主机异常性能过高的问题,对日常办公造成了不良影响。

为定位问题,部署了下一代防火墙(NGFW)、安全分析平台产品,并开启威胁情报服务进行观察。


2、处理过程


产品部署后,在NGFW日志中发现一台内网服务器(X.X.X.49)访问了外网地址(91.121.140.167),并被入侵防御系统(IPS)规则识别为矿机外联行为,随即对其进行阻断。

 

1)了解网络情况


合作伙伴反馈,该主机所在网段内均为内网业务服务器与主机,承载内网和分支机构的业务访问功能,不会主动访问公网,故判定该主机行为异常,需要进一步排查。

 

2)确认挖矿行为


远程登录(SSH)可疑主机(X.X.X.49),使用netstat-anop查看该主机的连接情况,发现它与一个与外网地址相连,且该地址与防火墙日志上的目的地址(91.121.140.167)相同,同时该连接没有PID与Program name相关信息,情况明显异常。

 

Tips:PID (process identification)代表进程标识号,在大多数操作系统内核(如 Linux、Unix、macOS 和 Windows)中使用,它是在操作系统中创建进程时,自动分配的唯一标识号。一个进程即一个正在运行的程序实例。

 

1.jpg

    

威胁情报服务同样监控到了这个IP地址,发现它关联了5条反向DNS信息,其中4个域名都与supportxmr.com有关。

 

2.jpg

 

在网上查找域名supportxmr.com,该域名对应的是一个矿池。


3.jpg

 

至此可以初步确认,内网服务器(X.X.X.49)与外部矿池supportxmr.com有连接,存在挖矿行为。

 

3)查找挖矿程序

 

挖矿程序一般会占用大量系统资源,最直接的表现就是CPU占用很高,因此从CPU使用情况入手排查。

 

在问题主机上通过top命令查看CPU占用进程,发现各进程的CPU占用率都很正常,没有特别高的情况;但是用户态(us)占用率很高,达到了90.2%。这种情况,很有可能是系统top命令输出被篡改了。

 

5.jpg

 

根据以往的运维经验,判断系统被修改了/etc/ld.so.preload,从而影响了top命令输出使用的 find /etc -mtime 1 |grep ld.so.preload。

 

事实证明该文件的确被修改过。通过ls–la /etc/ld.so.preload命令查看文件的修改时间,可以看到在5月23日22点19分被修改。

 

6.jpg

 

通过cat/etc/ld.so.preload命令进一步查看文件内容,可以看到该文件加载了一个so文件 libprocesshider.so,so文件是二进制文本类型。

 

7.jpg

 

将/etc/ld.so.preload的内容删除,再通过top命令查看CPU占用情况。这次显示了一个CPU占用很高的程序,程序名称为.sh,PID为10273,基本可以断定.sh就是挖矿程序。

 

8.jpg

 

4)删除挖矿程序


根据挖矿程序的PID查看进程文件,可以看到在/usr/lib/mysql目录下有一个名为.sh的可疑文件。

 

9.jpg

 

查看该文件的MD5值为“6a034a7041f30688086080a1c922e60”。

 

10.jpg

 

在/etc/目录下查找是否还有/tmp/.sh文件,发现名为/bin/shh的可疑文件。

 

11.jpg

 

该文件的MD5值同样为“6a034a7041f30688086080a1c922e60”。

 

查看/etc/profile.d/php.sh文件,发现是一个先复制并执行脚本,而后删除脚本的文件。

 

12.jpg

 

在/etc/profile.d/目录下,根据文件修改时间这一特征,还发现了一个名为supervisor.sh的可疑文件。


13.jpg

 

文件supervisor.sh是以supervisord起的一个守护进程,相关配置放在文件/etc/.supervisor/supervisord.conf中。

 

14.jpg

 

查看supervisord.conf文件 ,找到配置文件是在conf.d目录下任意后缀为.conf的文件

 

15.jpg

 

16.jpg

 

查看conf.d目录,发现名为123.conf的文件。

 

17.jpg

 

通过文件123.conf,可以定位到.sh的再上层路径/etc/spts,以及输出文件位置。

 

18.jpg

 

查看/etc/spts的MD5值,发现其MD5值依然为“6a034a7041f30688086080a1c922e60”。

 

19.jpg

 

另外,查看定时任务时,发现系统会定时将/etc/.sh复制到/tmp/下执行再删除,达到隐藏自身的目的。

 

20.jpg

 

查看/etc下文件,发现名为.sh的脚本。

 

21.jpg

 

该文件的MD5值为“6a034a7041f30688086080a1c922e60”,与/usr/lib/mysql/.sh的MD5一致,说明两个文件是相同的。

 

至此,挖矿程序已定位确认,将对应的恶意文件和进程及守护程序和进程删除即可初步解决问题。为了避免系统中其他位置还隐藏了该恶意文件,通过find /etc -type f -print0 |xargs -0 md5sum|grep "6a034a7041f306880886080a1c922e60"命令,使用MD5特征找出系统中所有的恶意文件并删除。

 

3、后续安全加固


解决单点问题后,为了避免同类问题在内网中大量复制,应用安全分析平台与防火墙进行安全加固。

 

1)缩小攻击面


通过安全分析平台查看该服务器的开放端口, 发现主机存在未对外开放的3306与22端口,需要禁止外部访问。

 

22.jpg

 

在NGFW上禁止其它网络访问此服务器的3306和22端口,并加入服务对象“风险端口”中。

 

23.jpg

 

将服务器IP加入到地址对象“server”中。

 

24.jpg

 

配置IPv4控制策略并将策略优先级调到最高,阻断所有访问3306和22端口的流量。

 

25.jpg

 

2)清除横向扩散威胁


通过安全分析平台的天眼功能查询矿池域名pool.supportxmr.com的访问记录,确认只有服务器(X.X.X.49)访问过该矿池,基本确认其他主机没有感染挖矿病毒。

 

26.jpg

 

通过安全分析平台查询服务器(X.X.X.49)的行为记录,发现它并没有扫描内部主机,结合天眼功能查询域名的结果,基本确认暂不存在横向扩散风险。假设该服务器作为跳板对其它主机进行访问,将被安全分析平台记录并告警。

 

27.jpg

 

通过查看该服务器的访问关系,发现它可能被X.X.X.59和X.X.X.20扫描过,这两台主机可能已经被感染或控制。


28.jpg

 

其中X.X.X.59为外网IP,确认该IP与业务无关,加入防火墙黑名单。

 

29.jpg

 

X.X.X.20为内网办公PC,使用主机安全工具对它及同类主机进行了风险分析与加固。

 

3)加固系统


通过NGFW产品资产安全分析模块,发现内网有较多存在安全风险的主机,通过主机安全解决方案进行系统加固和风险清除,提升内网资产的安全系数。

 

30.jpg

 

31.jpg

 

32.jpg

 

4)升级NGFW特征库阻断威胁


在查杀挖矿病毒的过程中,获取到这个病毒的特征,随即加入到NGFW病毒特征库中,用户直接在线升级即可获得最新的病毒库版本,防止再次受到此病毒的攻击。

 

另外,将IP地址91.121.140.167、域名supportxmr.com及MD5值6a034a7041f30688086080a1c922e60更新到威胁情报中,为更的用户提供该病毒情报,阻止此威胁在其他网络扩散。

 

4、总结复盘


复盘此次挖矿病毒的查杀过程:


  • 首先,了解网络情况,根据实际情况确定排查思路和方法。

  • 其次,通过查看防火墙日志,协同威胁情报平台,确认挖矿行为的存在。

  • 之后,通过挖矿程序占用CPU这个特征,找到对应的挖矿程序。

  • 完成定位后,查找并删除系统中所有的挖矿程序。

  • 最后,对网络进行安全加固,包括病毒查杀、加固系统、升级防火墙特征库、针对性配置安全防护策略等。

 

结语:安博通提出了SIIP(Security is in Process)过程安全架构,强调:网络安全是一种过程,而不是一个结果,只要保证过程持续安全,则结果更加趋向安全,此次查杀过程正是最好的体现。在此次安全事件的处置过程中,云端威胁情报和安全分析平台提供了智能化帮助,最终通过NGFW实现了网络防护的安全结果。