-
-
[翻译]BalckEnergy简单分析
-
发表于: 2019-3-18 19:22 6066
-
本篇文章使用的样本来自混合分析: https://www.hybrid-analysis.com/sample/39d04828ab0bba42a0e4cdd53fe1c04e4eef6d7b26d0008bd0d88b06cc316a81?environmentId=4。这一特定的恶意软件用于控制电力网络,并且与sandworm团队有关,工具用于针对乌克兰组织。根据 Mitre 消息,Sandworm是一个大约从2009年开始活跃的俄罗斯网络间谍组织。该组织可能由俄罗斯的黑客组成。Sandworm团队主要针对与能源,工业控制系统,SCADA,政府和媒体相关的乌克兰实体。Sandworm团队与在2015年底针对乌克兰电力部门发起的攻击有关。了解这个背景后,下面我们可以开始分析:
最初打开本文档会收到如下欢迎信息:
虽然不懂俄语,但是我确定这是告诉用户,如果想要查看文档,需要启用该内容。所以就启用内容,看我们能得到什么。我在windows虚拟机上使用 RegShot/Procmon 和 Process Hacker,将其指向我的Remnux虚拟机,这台虚拟机上运行了fakedns, inestsim 和Wireshark。下面是RegShot得到的结果:
快速浏览之后,发现似乎在启动目录下多了一个.lnk文件,这是恶意软件的常用做法。.lnk文件里的目标是 %windir%\System32\rundll32.exe “C:\Users\IEUser\AppData\Local\FONTCACHE.DAT”,#1。还有一些其他进程被word文档启动,其中一个是运行并删除自身的vba_macro.exe。以下是来自Process Hacker的流程列表。
检查wireshark之后,发现我们连接到了5[.]149[.]254[.]114//Microsoft/Update/KC074913[.]php,然后将base64编码返回到服务器。
Base64解码之后:
b_id=MSEDGEWIN10_320E10D4F923CEC8B1A11E4A1DB9950D&b_gen=301018stb&b_ver=2.3&os_v=17134&os_type=1
这是恶意软件对操作系统版本所做的指纹。
我还想快速介绍一下在vba_macro.exe运行并删除自己之前转储的方法。因此,在Word文档上单击alt + F11(Mac上为option+ F11),这将打开显示宏的Visual Basic窗口。在一开始你看到的数组是机器代码。
如果向下滚动到底部,您将看到正在发生的事情。它循环遍历数组并将其写入名为vba_macro的文件中。因此,我们将在循环结束后设置断点,然后运行宏来转储文件,然后我们将其移动到桌面。
因此,当我开始分析vba_macro时,我将其加载到IDA中以查看“imports and strings”,我注意到大多数导入都没有交叉引用,这让我困惑了一段时间,我想这里的import可以帮助我们直捣黄龙。所以我在x32dbg中加载vba_macro并在一些Native API函数上设置断点,如NtWriteFile,NtOpenProcess等...我这样做是因为我记得恶意软件有时会使用这些较底层的API来避免检测。然后我运行这个文件。
这里是对NtWriteFile的调用,它看起来像是在创建.lnk文件。
下面是调用ShellExecuteW打开.lnk文件。
所以,我来总结一下这个恶意软件的操作:
运行 word 文件宏并将vba_macro放入磁盘
vba_macro创建 .lnk 和 fontcache.dat,并运行 .lnk 文件,这个文件使用 rundll32 运行 fontcache.dat,它提供了我们之前所讨论的地址的网络连接。
vba_macro 还会启动一个不断运行 PING.exe 和 attrib.exe 的 cmd.exe。
谢谢你的阅读,希望这能帮助别人学习新东西。
文章链接:https://marcusedmondson.com/2019/01/18/black-energy-analysis/
翻译:看雪翻译小组 欢歌笑语
校对:看雪翻译小组 fyb波