0x00 概述
NanoCore是一款知名的商业马,网上也有破解版。这个RAT在2013年第一次在野外出现,从那个时候起,它就变得非常流行。作为一个模块化的恶意软件,NanoCore后门的功能可以通过插件大大扩展。这使得它更具有破坏的潜力。
0x01 描述
可以看到该软件拥有许多功能,并有丰富的插件可供使用。但由于作者已经入狱了,所以1.2.2.0应该是最后一个版本了。接下来该以这个版本进行分析。
0x02 开始分析
样本名 | evaline.us.exe |
---|---|
MD5 | 1dc5260a0506aa9a55f47a36477f443e |
创建时间 | 2015-02-22 00:49:37 |
第一次在VT上传时间 | 2020-10-20 00:07:01 |
通过VT上的报毒以及程序的特征,我们可以确定,该木马是NanoCore商业马的客户端。
原始的NanoCore木马是具有混淆的,我们使用de4dot来对其进行去混淆就好了。
去混淆后,我们找到入口点:
在逐层分析后(Class1.smethod_3().method_0–>ClientLoaderForm()–>this.ClientLoaderForm_Shown–>Class8.smethod_0()),我们可以得知,Class8.smethod_0()是一个关键函数。
在Class8.smethod_13()中,木马初始化一些配置信息。可以看到,该木马连接的是evalineusxero7[.]ddns[.]net:5353。初始化失败的话,会调用Class8.method_17()。
在Class8.smethod_20()中
检查了是否启用了EnableDebugMode。
在Class8.smethod_21()中,会创建互斥体,如果创建失败的话,则退出。
在Class8.smethod_22()中
根据Run Delay字段而休眠。
在Class8.smethod_2()中
通过注册表来获取到计算机的guid。
通过修改注册表来关闭UAC。
以guid为路径创建文件夹。
将第一次运行时间写入到run.dat文件里
在Class8.smethod_11()中
拼接出后面使用到的字符串。
在Class8.smethod_12()中
查看是否存在这个文件夹。如果存在的话,则遍历文件夹下的.dat文件,并将它们的路径放到一个队列中。
在Class8.smethod_3()中
会将一些配置信息写到文件中。由于这里没开启,就没法展示了。
在Class8.smethod_25()中
通过RunOnStartup字段来决定是否开机启动(修改注册表启动项)。
在Class8.smethod_28()中
根据BypassUserAccountControl字段来决定是否bypass UAC。
在Class8.smethod_23()中
除去”publisher could not be verified“的警告
在Class8.smethod_24()中
去除UAC警告窗口
在Class8.smethod_26()中
就执行以下功能。
在Class8.smethod_27()中
就执行了以下功能。
在Class8.smethod_29()中
在Class8.smethod_30()中
执行以下功能,阻止计算机睡眠。
在Class8.smethod_4()中
读取目录下的catalog.dat文件
在Class8.smethod_6()中
读取目录下的storage.dat文件
如果Class8.byte_1不是空的话,则进入Class8.smethod_9()和Class8.smethod_8()函数。而Class8.byte_1存放的是一个PE文件。
Class8.smethod_9()函数主要是读取了setting.bin文件的内容,里面存放了客户端的信息
Class8.smethod_8()函数主要是初始化并加载功能插件。(RAT要实现的功能都在这些插件里了)
接下来调用Class8.smethod_63()
按照字符串的提示,就是做了重建host cache,这里看来,就是配置了一下host信息。
在Class8.smethod_1()中,配置了一下客户端网络信息,包括DNS之类的。
在Class8.smethod_44()中,开始连接黑客的服务器。
分析就到这结束了,由于已经有破解版的流出,可以直接查看到该木马有什么功能。
0x03 总结
Nanocore是一个广为流行的远控商业木马,但在黑客论坛已经有破解版了,而且作者已经入狱,所以已经没有更新了,并且被研究透彻了。