高级持续性威胁(APT)组织对全球安全构成了巨大威胁,尤其是有国家背景和支持的组织。在所有的APT组织中,来自朝鲜的组织因其强破坏能力以及高持续性而尤为值得注意。美国政府特别提到,一个称为HIDDEN COBRA的APT组织与朝鲜政府相关。
FortiGuard Labs一直在积极监视各种APT组织,包括HIDDEN COBRA。例如,在上一篇文章中,我们介绍了FALLCHILL远控工具(RAT)。最近,我们捕获到该组织使用的一些有趣的新样本,因此我们决定做进一步研究。
我们分析的远控样本如下:
图1:远控样本
总体来看,它们具有以下相似特征:
如下文所分析,实际上,它们的相似点要多于不同点,有的甚至复用函数。
图2:代码复用
让我们进一步看下资源部分,因为这部分常常可以提供一些恶意软件来源的线索。
图3:Language ID
可以看到,每个资源都有对应的Language ID。好奇的是,多数样本Language ID都是1042。
图4:多数样本Language ID都是1042
根据权威数据,1042(0x0412)是韩语的语言标识。
图5:LANG_KOREAN
我们首先尝试分析这种恶意软件可能对受害者系统造成的影响。通常,最好的方法是检查恶意软件从目标系统调用的函数(比如API)。让我们开始吧。
乍一看,这些恶意软件似乎并没有调用很多API。导入表很短,也没有导入很多常见的DLL和函数。我们的直觉认为它可能会动态解析函数。确实,我们很快找到了GetProcAddress的实例。它甚至还加密了其API名,根据我们的经验,这是对抗静态分析的常用技术,但是对动态分析无效。因此,我们跟踪了恶意软件行为活动并找出了加密的API。
图6:解密后的API
可以看出,在用IDA分析之后,一切都说得通了。
下图显示了一个特例,其中函数名并没有加密,因此静态分析就可以了。
图7:函数表
该特殊样本的哈希值为b05aae59b3c1d024b19c88448811debef1eada2f51761a5c41e70da3db7615a9。聪明的读者可能已经注意到,此样本加载的函数的顺序与其他样本非常相似。
图8:DLL
用IDA查看函数名后,我们可以清楚地看到该恶意软件使用了注册表(Advapi32.dll)、网络(ws2_32.dll)等核心函数。
为了保持持续性,该恶意软件将其自身注入到Run键中:
图9:持续性
某些情况下,该恶意软件会伪装成服务进程。
图10:服务
可以看到,DLL原始名隐藏于此。
我们来看下NukeSped的主要功能:远程控制。
经过逆向分析,我们找到了解密字符串的算法。
图11:解密算法
简而言之,恶意软件使用基于xor的自定义加密方式。反过来,我们用decodeCmd来解密远程攻击者的命令。
图12:解密命令
图13:shell的逻辑
正如典型的远控工具,该恶意软件会监听、执行和响应远程命令。完整的控制流程图(CFG)如下所示:
图14:控制流程图
从图14可以看出,shell的控制流程很清楚。首先是解析命令及其参数的通用逻辑,然后接入一个非常庞大的switch-case来处理每个命令。
我们逆向分析了该远控工具的逻辑,发现了许多经典的远控功能:
归因几乎总是不精准的艺术,但让我们考虑以下关键证据:
图15:FALLCHILL的shell逻辑
图16:blob加密
图17:dump文件
图18:HOPLIGHT分析
鉴于到目前为止的所有证据,我们可以得出结论,NukeSped远控工具与朝鲜APT组织(HIDDEN COBRA)有关。
FortiGuard Labs的内部测试表明,受Fortinet解决方案保护的网络和设备,且安装了最新的订阅服务更新,可免受此恶意软件的影响。
尤其是,FortiGuard Antivirus服务可检测以下样本:
与该恶意软件有关的恶意URL可被FortiGuard Web Filtering Service和僵尸网络IP引擎识别和过滤:
感谢Artem Semenchenko在归因过程中提供的思路。
像往常一样,FortiGuard实验室会密切注意此类高级威胁,以帮助和保护所有人。
原文链接:https://www.fortinet.com/blog/threat-research/deep-analysis-nukesped-rat.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+fortinet%2Fblog%2Fthreat-research+%28Fortinet+Threat+Research+Blog%29
翻译:看雪翻译小组 SpearMint
校对:看雪翻译小组 Green奇
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)