最近,我们获得了在攻击越南机构时捕获的间谍工具包的几个元素。手术过程中,该恶意软件被用来篡改越南航空公司的40万名会员

有效载荷,伪装成杀毒,是Korplug RAT(又名PlugX)的变种- a间谍软件曾与中国APT组织有联系,并从针对重要机构的定向攻击不同国家的。
在这篇文章中,我们将描述从它的封面中提取最终有效载荷的过程。

分析样品

组# 1:

执行流程:

McAfee.exe -> McUtil.dll -> McUtil.dll ->有效载荷(DLL)

看一下包装

间谍软件有一个有趣的模块化包。总的来说,它试图假装是McAfee杀毒软件:

工具包

如果我们看一下可执行文件,我们可以看到它已经被原始证书签名了:

证书

它不是假的——可执行文件是合法的产品。然而,它与未签名的DLL绑定在一起——这正是攻击者用来劫持执行的点。

注意,用于攻击的应用程序非常旧(编译于2008年)。我们测试的McAfee Antivirus的当前版本不再容易受到这种类型的滥用。

行为分析

部署后,应用程序将以静默方式运行。我们可以看到主组件执行svchost.exe,然后终止自己。这是由于恶意代码已经注入到svchost,并将继续从那里操作。查看svchost.exe的当前目录,我们可以发现它继承了恶意应用程序的默认目录:

注射

机器人通过扫描其他计算机在局域网内进行侦察。它列举了本地地址的全部范围,从低到高:

scan_lan2

scan_lan1

它还试图与它的C&C (air.dscvn.org),然而,在测试的时刻,域是关闭的:

no_such_name

拆包

应用程序在达到最终功能之前有几层加载器。exe文件,以及DLL是无害的。所有的恶意特征都存在于外部文件中,这是一个模糊的shellcode块。在shell代码中,另一个DLL被隐藏——这是核心间谍机器人。

加载shellcode

负载以一种模糊的方式加载,其中包含一些有趣的技巧。作者非常小心,单独分析这些模块并不容易。

执行从无害开始McAfee.exe.恶意软件利用这个应用程序加载一个名为McUtil.dll从启动目录。它不做任何完整性检查,所以事实上,如果我们将任何库重命名为所需的名称,可执行文件将直接加载它:

load_lib

McUtil.dll应该部署下一个文件:McUtil.dll.mc-然而,为了使流程更难遵循,它没有直接运行它。相反,它修补调用者可执行文件(McAfee.exe)并让它执行负责读取和加载下一个文件的函数。下面我们可以看到将钩子写入内存的代码片段:

overwrite_calling_module

这就是上面的调用者代码片段在打补丁后的样子。而不是前两行,我们可以看到跳转到McUtil.dll

mc_afee_patched

补丁函数在DllMain中McUtil.dll-因此,它被称为on load。打补丁的行就在加载库的调用之后:

patched_line

因此,只要加载函数返回,钩子就会立即执行。

在钩子调用的函数内部,外部文件是打开的:

reading_file

它被读入内存,然后执行被重定向到内存:

call_shellcode

打开最后的载荷

shellcode被严重混淆:

困惑

这不是主要阶段,而是一个主要间谍软件的解压和加载程序。它将以下内容解压缩到缓冲区中:

解压

然后它保留额外的内存,并开始一个块一个块地重新映射这些内容。通过它解析它的方式,我们可以注意到将原始PE文件重新映射为虚拟映像的过程的相似性。事实上,解包的内容是一个PE文件-只有头是扭曲的。分隔符XV被用来代替典型的“MZ”。“体育”的价值观:

pe_mz

重构头文件并不难——我们只需要将这些值替换回它们的真实含义:

pe_mz_reconstructed

经过这个小的修改,转储的映像可以解析为一个正常的PE文件(321年a2f0abe47977d5c8663bd7a7c7d28).section没有命名,但是所有的内容都是有效的:

部分

文件特征将有效负载描述为一个DLL,但是,它没有任何导出表,因此我们无法读取它的原始名称。

查看此块加载的导入,我们可以怀疑它是最终的有效负载。它加载并使用了许多与网络通信相关的功能,即:

wsa_sock

我们还可以找到负责检索当前机器的本地IP并执行我们在行为分析期间观察到的LAN扫描的片段。

作者注意到有效负载不会独立运行。这就是为什么它们检查是否所有元素都以预期的顺序调用。我们可以找到主要元素的硬编码名称,用于检查:

refer_to_loader1

结论

恶意软件作者经常使用虚假的图标和描述来伪装成合法的产品,但这种类型的攻击是向前迈进了一步。作者使用了一个原始的McAfee应用程序,并劫持了它使用的DLL,以运行恶意代码。为了增加探测的难度,他们把元素相互纠缠在一起。它们中没有一个能够自行进行恶意操作。这就是为什么单独扫描每个模块的工具可能无法检测到恶意行为。

用户对可执行文件更加警惕——但这一次,EXE和DLL文件都不包含恶意代码——它们只是被用作shell代码的加载器。

必威平台APPMalwarebytes反恶意软件检测此威胁为“木马. korplug”。

附录

http://e.gov.vn/theo-doi-ngan-chan-ket-noi-va-xoa-cac-tap-tin-chua-ma-doc-a-NewsDetails-37486-14-186.html-来自越南CERT的信息

http://blog.trendmicro.com/trendlabs-security-intelligence/new-wave-of-plugx-targets-legitimate-apps/- 2013年的类似攻击

http://www.welivesecurity.com/2014/11/12/korplug-military-targeted-attacks-afghanistan-tajikistan/-关于针对阿富汗和塔吉克斯坦军队的Korplug RAT

https://www.blackhat.com/docs/asia-14/materials/Haruyama/Asia-14-Haruyama-I-Know-You-Want-Me-Unplugging-PlugX.pdf- Korplug RAT分析(来自BlackHat)

https://www.f-secure.com/documents/996508/1030745/nanhaishu_whitepaper.pdf-关于南海墅


这是一篇由Hasherezade撰写的客座文章,Hasherezade是一位对InfoSec有浓厚兴趣的独立研究员和程序员。她喜欢详细了解恶意软件,并与社区分享威胁信息。看看她的推特@hasherezade她的个人博客:https://hshrzd.wordpress.com