首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >钓鱼引发的APT攻击回溯 | C&C服务器位于韩国,whois注册却在中国上海

钓鱼引发的APT攻击回溯 | C&C服务器位于韩国,whois注册却在中国上海

作者头像
FB客服
发布2018-02-23 17:09:38
发布2018-02-23 17:09:38
2K0
举报
文章被收录于专栏:FreeBufFreeBuf

一位日本的安全研究者MalwareMustDie发现一种基于Poison Ivy的新型APT攻击,经过他的逆向分析,发现了一些关于攻击厂商的有趣发现。

本文将介绍他是如何发现这种隐匿极深的APT攻击回溯之旅。

一次普通的钓鱼攻击?

和所有APT攻击的开头一样,一个受感染的Word文档,一次看似普通的钓鱼攻击。

但是如果我们注意到MalwareMustDie长文分析的开头,可以发现一些普通邮件的图片,虽然还是那种普通、boring的受感染的Word文档,毫无新意。

奇怪的是,可疑文档似乎是由一个名为Geocities的公共博客网站提供了一个多层嵌套的base64编码的VBScript脚本,下图是手工解码的结果:

图1. “powershell.exe” 命令编码得到的VBScript

通常VBScript的“createbject”指令都会跟在 Powershell 命令“powershell.exe -w hidden -ip bypass -Enc with long encoded coded”之后

Poweshell? 嵌入命令? “绕过” 的目的是什么?

经过MalwarareMustDie的调查,那些不那么“普通、无聊”的东西从阴影中浮现出来,随着分析的步步深入,他发现了更加有趣且惊人的东西。

下图是base 64手动解码的代码示例,其揭示了另一嵌套的base 64编码代码。 在图片中表示的功能是自我解释。显而易见,那台受感染的计算机已经“吃下”什么不好的东西。

图2. VBScript base 64解码代码

在多层循环解码base 64编码后,结果很明显的:附加于Word附件文档,隐藏在VBScript文件中,存在一个长且危险的脚本,随时可由Powershell执行。但MalwareMustDie表示“我已经发现它的源代码”。

复制、粘贴 Powersploit/CodeExecution PoC

运行Powershell命令的VBScript存在一处代码,该代码就是基于臭名昭著的恶意软件Powershell PowerSploit/CodeExecution PoC代码的“copy pasta”,你可以在GitHub上可以得到一模一样的文件和.ps1扩展。

这里它是文档以及利用方式的网页:

图3.GitHub页面上的PowerSploit / CodeExecution

漏洞的文档说明:“将shellcode插入到您选择的进程ID中或在运行PowerShell进程中”。

MalwareMustDie表示:

这也就是我为什么反对公众在GitHub上放出这种开源代码。GitHub上到处都是这种开源项目。

Shellcode 分析

但是让我们来看看Shellcode,因为现在最重要的任务是对它进行逆向分析,并且明白它的使用的主要目的是什么,为什么注入计算机受害者,采用哪些技术和机制来做什么,连接在哪里?

同样Shellcode使用的是base 64编码。当解码时,它如下图所示:

图4.Shellcode.

逆向之旅似乎还有很长的路要走,我们再一次为MalwareMustDie的技巧所惊叹,他成功地编译了shellcode并获得了一个可安全执行的文件。

MalwareMustDie在博客中写道:

将shellcode数据保存在汇编文件的.text部分和入口点(EP)中将在编译过程中由编译器“调整”,这样你可以将此shellcode作为二进制PE文件执行。 此方法在分析shellcode时非常有用。 通过Unix环境,你可以创建这种PE,而不会有感染的风险。

下图就是他采用的过程:

图5. 操作 shellcode 来创建一个 .exe 文件

我们在恶意软件运行时发现:它从受害者的计算机提取信息回调其C2服务器与目标执行所有的恶意行为。

最后,我们可以确定,它就是臭名昭着的Poison Ivy。

Poison Ivy计划

运行Shellcode有可能观察到它使用了大量涉及DLL的系统调用,这些DLL主要与系统的内核相关:在Shellcode的trace-assemby的第一个阶段提供了一个名为userint.exe的假进程,用于注入恶意代码。

这里来自MalwareMustDie博客的图片:

图6. 伪造的进程 userinit.exe 创建后被注入

他说,某些DLL的使用的组合“也显示了威胁的典型模式。 此外,MUTEX名称中标注的日期大多由Poison Ivy使用。

然后其他操作由恶意软件执行:

创建一个名为“Plug1.dat”的文件 为之后的工作创建一个套接字 通过 “HKEY_LOCAL_MACHINE\SYSTEM\Setup”查询PC信息

毫无疑问就是Poison Ivy

那么问题来了C&C服务器在何地?

我来仔细观察一下WS2_32.DLL文件,可以看到一些有意思的东西

socket(), gethostbyname() connect().

由C&C服务器回传的主机名和IP地址可知,该服务器位于韩国首尔。

图7.C&C服务器位于韩国

Network/BGP Information→「61.97.243.15||4766 | 61.97.243.0/24 | KIXS-AS | KR | kisa.or.kr | KRNIC」

但是我们发现主机名是web.outlooksysm.net,这里可以用WHOIS来获得额外的信息,知道谁是幕后主使,结果该公司来自上海。

图8.对 Poison Ivy 恶意软件的C&C服务器WHOIS

结论

这个APT攻击使用了多种变体,它先是欺骗受害者下载一个恶意VBScript,让这个VBScript去下载一个.doc文件并打开它。 完成这些操作之后,它会悄悄的地执行PowerShell(PowerSploit)攻击,使得受害者在运行内存中的进程时感染Poison Ivy。

这个实例很好地展示了这种攻击的潜在危险,攻击者在一次APT感染中使用修改过的PowerSploit PoC代码,这种做法很独特。

Poison IVY恶意软件是在PowerSploit使用shellcode创建或准备的恶意进程userinit.exe的过程中注入的。这种不感染文件的攻击有效地避免了多个编码和包装检测的已知签名,并且100%避免了原始攻击者的工作区域被发现的可能性。 这将使目前的APT活动有更好的机会成功由类似有效载荷造成的其他情况。

最近的APT攻击很有可能也是利用类似的payload在其它地方成功施展攻击。

为了避免更多的受害者,我真的希望Geocities.jp上的vbiayay1帐户尽快将恶意软件删除。 希望我的分析能够帮助调查和打击这种威胁。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一次普通的钓鱼攻击?
  • Poweshell? 嵌入命令? “绕过” 的目的是什么?
  • 复制、粘贴 Powersploit/CodeExecution PoC
  • Shellcode 分析
  • Poison Ivy计划
  • 那么问题来了C&C服务器在何地?
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档