欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

向Web服务器投递恶意挖矿软件的蠕虫

来源:本站整理 作者:佚名 时间:2019-06-06 TAG: 我要投稿


 
实际中,面向公共互联网提供服务的系统或服务器,都是处于边缘位置的。所以无论是物联网设备还是企业级服务器,只要能被外界访问到,那就会无时无刻被攻击。
最近,我们发现了一种攻击手法,多个公司Apache Tomcat Web服务器反复遭受感染。通常因为担心端点反病毒软件会降低服务器的性能或造成服务器不稳定,所以服务器管理员并没有安装相应的防御工具。显然,这种想法在现在看来很过时。
这种情况下,虽然服务器管理员确保已经将操作系统及Apache组件更新到最新版本,但每当处理完感染问题没多久,又出现了同样的问题。
幸运的是,服务器管理员提供了捕获到的包含攻击行为的网络数据包。这种攻击看起来很眼熟,因为在我们部署的蜜罐中,就曾见到这种自动化投递恶意挖矿软件的攻击行为。但是在这之前,还未见过在野攻击成功的案例,所以我们决定通过分析捕获的数据包来解释这次攻击是如何实施的。
 
猫(Tomcat)和老鼠
入侵成功的根本原因在于管理员在Tomcat管理页面中使用了弱口令。初始阶段的攻击是在Tomcat管理面板对登录凭证进行暴力破解,一旦攻击者成功以管理员身份登录,那一切都完了。
在得到正确的登录凭据后,攻击者会对服务器发起HTTP POST请求,如下图所示:

图1:攻击者通过HTTP POST上传新的的admin.jsp页面
在Tomcat管理页面允许管理员以扩展名为.war的文件形式将Web应用程序上传到服务器。此时攻击者上传了一个名为admin-manager.war的.war文件,该文件中包含了一个名为admin.jsp的恶意JSP文件。一旦该文件被外部攻击者调用,就会生成目标服务器配置信息文件。
admin.jsp文件如下所示:

图2:admin.jsp文件收集目标系统的配置信息,并可以执行命令
Admin.jsp有三个功能:收集系统配置信息,在Apache服务器上创建新文件,以及使用Web服务器帐户的权限在服务器上执行命令。
攻击者可以使用“ act ” 命令(猜测为“action”的简写),指定相应参数,然后加上一个或两个选项。三个参数(SI,、SH、 UF)用途如下:System Information (act=SI)System Information函数将返回诸如OS、主机名、用户名等信息。
File Creation (act=UF)当“upload file”被调用,攻击者所发送的Base64字符将写入到Apache服务器的一个文件中。
Command execution (act=SH)取决于正在运行Tomcat服务器的操作系统,此“shell”命令将尝试使用/ bin / bash(* nix服务器)、Windows命令行或PowerShell执行命令。还支持对命令字符串进行Base64编码。
两个选项的说明如下:
String Parameter1 = request.getParameter ( “p1” )
如果参数为SH代表内容进行Base64编码
如果参数为UF代表为文件命名
String Parameter2 = request.getParameter ( “p2” )
如果参数为SH代表True
如果参数为UF代表将Base64转为blob
 
挖矿软件投递
例如,攻击者一开始会向服务器发起字段内容为act = SI的HTTP POST请求,服务器的响应如下图:

图3
从返回中可以看出这个Tomcat部署在64位Windows Server 2012计算机上,还返回了主机名称(为了隐私,我们打了马赛克),以及恶意.jsp文件的存放路径。至于标题中的“Hello,Peppa!(你好,佩奇)”,我们猜测攻击者可能是小猪佩奇的粉丝。
出于某种原因,攻击者执行两次此命令,相互相隔一秒。
接下来,攻击者发出了一个action= SH&p2 = True&p1 =(base64)的“SH”命令,如下所示:

图4
解码后如内容下:

图5
该脚本首先会尝试杀死WMIC.exe,RegSvr32.exe和PowerShell.exe进程,然后检查系统是否存在PowerShell 1.0的文件路径(%systemroot% System32 WindowsPowerShell v1.0 PowerShell.exe)。如果它在系统中找到该路径,将执行base64编码中的blob数据(上图中黄色高亮显示部分)。
如果脚本找不到PowerShell的路径,它将使用RegSvr32.exe从C2服务器下载并执行名为init.gif的文件。并使用脚本com对象(scrobj.dll)来执行init.gif的内容。
在PCAP中,可以看到攻击者执行命令后服务器的响应。如下图,攻击者发出命令时服务器未运行以上三个进程,所以这部分命令没有并执行成功。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载