逛了一下Malware Reports,随手dump一份样本分析。
md5:c1f02c8d3e3f46eb909372491da800fb
丢进虚拟机分析。exeinfo显示是C#写的,而且有混淆。用dnspy直接打开是这样的
用de4dot处理一下。将去混淆的文件用dnspy打开就能正常审计了
main函数如下
GClass0.smethod_0()反调试。del明显是自删除,但ping是干嘛的就不明白了。。。。
进入GClass9.smethod_0()方法中看看
GClass1.smethod_11()对当前用户权限进行校验
接下来演示下主要功能的代码实现
看到donate-level和minning就知道该方法是用来了检测是否挖矿的,--donate-level表示捐赠比例(XMR的挖矿软件有这个参数,其他的币就不清楚了)
通过usb传播
文件下载
传输数据加解密操作,将md5(keyEncoding.UTF8.GetBytes(123))的结果作为AES的ECB模式的key
可以看出流量被加密了
从某个网站下载文件
写了个解密脚本,url解出如下
访问后显示了真正的地址,和Malware Reports中显示的恶意地址相同,这应该就是真实的server
这部分应该是窃取剪贴板中的内容
main函数最后的操作很有意思
SystemEvents.SessionEnding += new SessionEndingEventHandler(....)当用户试图注销或关闭系统时会触发括号中的方法 而上一行的GClass4.smethod_0()将RtlSetProcessIsCritical设置为True,也就是保护进程,这个状态下结束进程会蓝屏(不怎么占用系统资源)。 再来看一看smethod_6的代码GClass4.smethod_1()将RtlSetProcessIsCritical设置为False 也就是说只要不是因为关机和注销导致的该进程结束都会直接蓝屏(例如杀软。。。) 第一次分析C#恶意代码,如果有不对的地方望各位师傅斧正Orz。。。