解码“深度伪装”的ZeuS网银木马

最近我收到一封钓鱼邮件,邮件中附带着一个.doc的附件。我们利用再平常不过的工具Notepad++,一步一步脱去ZeuS木马的伪装外衣,并进行了非常深入的静态分析。该木马的伪装用到了多项关键技术,例如信息隐藏、加密解密等。

0×01 发现猫腻

最近我遇到了一个很特别的恶意钓鱼邮件,邮件中有一个.doc附件。

起初,当我在虚拟机中运行该样本时,攻击者发送的附件看起来并不正确。但是,在我提取并解码此shellcode之后,我发现了一个很熟悉的已经传播一段时间的恶意软件。

图1 钓鱼邮件

在图2中的邮件头部,我们可以看到原始IP地址为212.154.192.150。应答字段也很有趣,因为这是一个长期的419诈骗团伙的地址。在图3中,红圈中的邮件地址告诉我们附件极有可能是恶意软件。

图2 邮件头部

图3 419诈骗团伙的邮件地址#p#

0×02 初步测试

最开始,我尝试在虚拟机中运行该附件,但是却出现了下图中的错误信息:

图4 Office错误信息

但是,测试环境系统有超过45G的可利用硬盘空间,并且有2G的内存空间,所以错误中提示的空间不足应该不是问题的根源。为了测试,我将内存空间扩展成8G,但是相同的问题依然存在。于是,我决定从静态分析的角度看一下该附件。

像往常一样,我用Notepad++打开该文件来大致分析下这到底是什么。打开之后,我看到它实际上是一个伪装成.doc文件的.rtf文件,而在.rtf格式的文件中进行内容的混淆处理非常容易。

图5 Notepad++打开的RTF文件

在.rtf文件中,表示十六进制代码的大量数据将可能为我们提供线索,让我们明白该文件到底在试图做什么。.rtf文件格式给攻击者提供了很大的自由,让其在这部分中隐藏并编码数据,如图6所示。

图6 可疑数据

然而,在这部分的末尾,我们看到了“FF D9”,而gif文件的末尾两个字节就是“FF D9”。

图7 gif文件的结尾字节#p#

0×03 抽丝剥茧

我比较喜欢使用Notepad++来解码这种数据。首先,将该区域的内容复制并粘贴到一个新的txt文档中,然后CTRL+F打开查找窗口,并选择“替换”选项卡,然后选中“扩展”按钮,如图8中所示。

图8 Notepad++查找/替换

通过这样,你将得到一行ASCII码形式的十六进制数。然后,选中所有内容,并依次操作:“插件”->“Converter”-> “Hex -> Ascii”,如图9所示。

图9 解码数据

转换完成之后,你将会看到一些好像图像数据的字符串(JFIF和Photoshop字符串,如图10)。通过将这些内容另存为.gif文件,你将能够在Paint软件或其他类似软件中打开此图片,结果如图11所示。

图10 解码后的图像数据

图11 .rtf文件中的图像

然后,沿着这条线索,我们继续手动解码每个部分,我们将得到比上一个更大的新图片,而两张图片显示的内容相同,都是同一座房子。然而,这次的文件大小为3M(图12),而上一张图片大小只有79KB(图11)。

图12 较大的图片

通过谷歌图片搜索这个图片,我们发现,这实际上是一个设计的3D房子的外观,它跟上面原始邮件中的内容并不相关。

使它看起来更可疑的是,里面竟然还嵌入了一个.docx文件(图13)。当我试着打开该文件时,弹出了错误,而且XML文件中也并没什么有趣的内容。

图13 嵌入的.docx文件

在该文件中的大概第50000行的地方,我们可以看到97-2004office文档的魔幻字节(图14)。这再一次引发我们思考,为什么该.rtf文件中同时包含了新版本和旧版本格式的Word呢?

图14 .doc魔幻字节的ASCII码表示

在几千行之后,我们看到了一些更加有趣的东西。驼峰式大小写的方式一般是一种用于绕过杀毒软件或其他签名检测机制的做法。

图15 大小写替换

大概2000行之后,我们发现了另一个函数(图16)。

图16 另一个函数

通过去除双换行符(\ r \ r 和\ n \ n),我们可以压缩这些代码以了解发生了什么,并以此方法来查看通常情况下在.rtf文件中不会被发现的代码。

图17 .rtf文件中本不该存在的代码

在图18红线圈中部分,有一些在.rtf文件中本不该存在的十六进制代码。在更下面有点(蓝线圈中部分),我们也可以看到“AAAA”,这在汇编语言中一般表示指令“inc ecx”。

图18 .rtf文件中的可疑部分

然而,在图19中,我们发现一个小片段指示shellcode的大小。通过解码这一片段,我们可以在最后面找到一个对可执行文件的引用,而这也是我们一直在寻找的东西(图 20)。

图19 看似shellcode的内容

图20 shellcode,恶意URL:http://aspks.nl/components/kom/ks.exe

#p#

0×04 IDA分析

用IDA打开这个二进制文件之后,我们可以看到实际上这只是代码的一个片段。下图中的汇编指令跟我们猜想的很吻合,这些shellcode和其他代码与一个比较老但是很稳定的漏洞CVE-2012-0158关系密切相关。

图21 shellcode入口点附近

既然现在我们已经有了链接地址,那么我们可以测试下看看该恶意链接是否有效,结果显示该地址仍旧有效(图22)。

图22 恶意文件下载

一旦执行该文件,将会在注册表中创建一个作为运行键的存储文件。

图23 恶意软件存储安装

恶意软件安装到了以下路径:C:\Users\ \AppData\Roaming\Ritese\quapq.exe。从取证的角度来看,在该目录或Roaming目录中搜索exe文件将是无意义的,因为一般恶意软件不会安装在这些目录下。#p#

0×05 通信分析

对于恶意软件的服务器端来说,该恶意软件发起了很多对“file.php”和“gate.php”文件的请求(图24)。从图中可以看出,IP地址116.193.77.118也列在了ZeuS木马的追踪表单上(图25)。

图24 发出的HTTP请求

图25 ZeuS追踪IP地址

此外,通过Dump内存,我们还能看到其他的Ladycoll配置。

图26 恶意软件的内存dump

0×06 总结

最后,尽管CVE-2012-0158已经有3年了,但攻击者现在仍旧使用此漏洞。即使他们混淆了这些文档,但还是有可能通过分析找到他们的真实意图。

注:恶意文件哈希:哈希1 哈希2

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/125867.html<

(0)
管理的头像管理
上一篇2025-02-23 22:59
下一篇 2025-02-23 23:00

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注