如何利用网络流量分析挖矿病毒?(透视黑客行为)

这是我无意捕获到比较具有特色的攻击案例,黑客利用Struts2漏洞进行渗透,随后下载脚本文件实现挖矿,由于攻击链相对完整,所以就给大家展现黑客渗透攻击的全部操作行为。

1.文章背景

一般来说我们通过部署IDS/IPS、WAF等设备就可以有效的解决此类现象,但为什么还需要人为来分析呢?其实在很多情况下,我们安全建设颇为盲目,安全厂商不断引导我们该如何进行安全体系建设,而我们一直处于被动接收的状态,同时在建设过程中厂商很少考虑客户安全方面的投入性价比,设备是否能治根解决此类安全事件等问题,如果我们想要做到安全建设自主性和实用性,应充分了解黑客常用攻击手段,尽可能做到知己知彼,把“脉络”看清楚后,我们才可相对从容应对安全异常事件。

2.杀伤链模型介绍

安全人员对杀伤链模型应该不陌生。该模型主要有侦查、工具制作、投放、漏洞渗透、安装、控制、窃取破坏7个阶段组成。模型由2011年由洛克希德马丁公司创建,描述了黑客偷盗敏感信息通常经历的阶段。

黑客在不同阶段使用不同方式对目标主机进行持续性破坏,最终达到勒索、篡改、窃密等操作。如下图:

如何利用网络流量分析挖矿病毒?(透视黑客行为)

杀伤链模型示例图

通过对杀伤链的了解,结合第三部分流量分析,想必大家可以更加清晰了解黑客的攻击手段。

3.流量分析

1.异常捕获(侦查阶段)

在网络设备中,通过配置Struts2漏洞的前置条件,捕获到了Struts2相关告警。黑客利用工具不断对目标主机进行漏洞扫描,详情见下图(部分内容涉及敏感已模糊化):

如何利用网络流量分析挖矿病毒?(透视黑客行为)

Struts2告警

该Struts2漏洞原理是,通过OGNL表达式静态调用获取ognl.OgnlContext的DEFAULT_MEMBER_ACCESS属性,并将获取的结果覆盖_memberAccess属性,这样就可以绕过SecurityMemberAccess的限制,从而执行自定义内容。

2.数据包解码(投放、渗透、安装阶段)

随后对数据包进行解码,更深度了解其攻击行为。下图为客户端与目标主机会话信息,可见两者已建立会话并产生数据交互。

如何利用网络流量分析挖矿病毒?(透视黑客行为)

数据交互过程

上图中绿色线条为TCP的三次握手;蓝色线条为请求及返回信息;黑色线条为ACK包信息。

随后我们对该数据包进行解码,了解应用层HTTP所传输内容,发现黑客在Conten-type头部中填充了Struts2漏洞利用数据。如下图:

如何利用网络流量分析挖矿病毒?(透视黑客行为)

数据包解码

从数据流解码视图可以看到Content-Type中包含以下字段:

如何利用网络流量分析挖矿病毒?(透视黑客行为)

Content-Type内容

该内容大体意思是通过wget(下载)arrow.jpg|sh文件,并指定此脚本使用/bin/bash来解释执行。

3.文件下载(窃密控制阶段)

随后我们访问该arrow.jpg|sh文件,下载后充命名为arrow.sh(不要尝试啦,能访问我就不公布啦),打开发现其为Linux的sh脚本,其大概意思为:1.删除文件,2.kill相关进程,3.启动线程,4.下载acpid.conf配置文件。如下图:

如何利用网络流量分析挖矿病毒?(透视黑客行为)

arrow.sh文件

随后我们下载sh脚本中的acpid配置文件,打开后如下图:

如何利用网络流量分析挖矿病毒?(透视黑客行为)

acpid.conf文件

该配置文件URL为矿池,user钱包,algo为门罗币的挖矿算法。至此我们就完整的还原黑客的攻击手段。

4.总结

从来没有绝对安全,如何持续保障相对安全是每一位安全从业人员一直在做的事情。随着大环境的变化,由之前粗放式攻击到现在与商业结合,安全的建设越发具有挑战性,无时无刻考验着每一位安全人员,从底层出发,从原理出发是我们建筑安全壁垒核心基石。


分享到:


相關文章: