木马化的开源软件是很难发现的,因为它利用了合法的、非恶意的软件,因此对定向攻击非常有用。但是,进一步调研发现了暴露恶意意图的可疑行为。
调查分析
研究人员在一次事件的分析中发现了一个名为notepad.exe 的文件。因为 Notepad 是一款知名的合法应用程序。因此,一些恶意软件作者通过使用合法软件的名字来对恶意文件进行伪装以绕过检测。
图 1. 可疑的notepad.exe 文件
notepad.exe 文件是通过ntoskrnl.exe 可执行文件来释放的,这是Windows NT 操作系统kernel 可执行文件。这一过程可疑通过利用ntoskrnl.exe 或网络共享来实现。根据数据分析,研究人员认为本例中攻击者使用的网络共享方式。通过RCA 分析,研究人员发现恶意 notepad.exe 文件通过调用以下工具完成了一些可疑的操作:
表 1. 可执行文件名和函数
notepad.exe文件到这些进程和函数的链接表明改文件是一个典型的后门,会从恶意远程用户处获取命令。notepad.exe的属性如下所示:
图 2. Notepad.exe属性
文件描述、产品名、原始的文件名是Notepad++。而事实上,Notepad++ 可执行文件一般是notepad++.exe而不是样本中的“notepad.exe。版本v7.8.6 也是比较老的,目前最新的版本是11月发布的v7.9.1。
执行文件发现:
图 3. 执行notepad.exe文件
该文件的用户接口与合法的Notepad++ 文件非常类似。乍一看没有什么问题。但是从行为上来说,研究人员发现样本会搜索c:\windows\debug 文件夹的config.dat 文件。
图 4. 搜索config.dat 文件
代码分析
反编译恶意Notepad++ 文件的结果如下所示:
图 5. 恶意Notepad++ 文件代码部分
非恶意Notepad++ 文件的代码部分如下所示:
图 6. 非恶意Notepad++ 文件代码部分
这些代码有很多的相似之处。但是,恶意的Notepad++ 文件有一些额外的用于加载加密的blob文件(config.dat)的代码。加密的代码解密并在内存中执行后就可以执行后门行为。
研究人员一共发现了2个使用相同加载器但使用不同payload的实例,其中一个payload是TrojanSpy.Win32.LAZAGNE.B,另一个payload是Ransom.Win32.EXX.YAAK-B (Defray勒索软件)。进一步调查发现其他使用相同加载器的blob 文件可以加载不同的payload。
研究人员怀疑该文件是用于定向水坑攻击中了。在初期的机器被感染后,通过管理员分享传播恶意notepad++ 和config.dat。该notepad.exe 文件来自于恶意源头,与Notepad和Notepad++.exe的官方发布源没有任何关系。
武器化开源软件
由于与合法的Notepad 文件非常相似,因为分析的样本很可能会被错认为非恶意的文件,尤其是计算机知识匮乏的员工。由于Notepad 的源代码是公开的,任何人都可以访问,所以攻击者通过木马化开源软件实现了这一任务。
攻击者可以寻找广泛使用的开源软件,并通过添加可以执行加载加密blob 文件类似功能的代码来木马化开源软件。也就是说文件的二进制文件代码大多是非恶意的,而恶意代码的目的只是加载文件。此外,加密的blob 文件也没有文件头信息。因此很难检测,甚至基于人工智能/机器学习方法的反恶意软件解决方案也难以检测。
建议
研究人员建议用户从官方或合法下载文件、应用和软件(包括开源软件)。企业可以创建和维护一个允许从中下载的站点列表。对于安全和IT 团队,强烈建议验证下载的文件的校验和。
本文翻译自:https://www.trendmicro.com/en_us/research/20/k/weaponizing-open-source-software-for-targeted-attacks.html如若转载,请注明原文地址。