-
-
[原创]一个.net恶意样本的分析
-
2019-3-14 18:11
5233
-
1.样本概况
1.1 样本信息
病毒名称:1d494e530060d1b4d320cfe58eedca4f732cf8f3
MD5: 8F47BB964E517429B9C50989B2D59005
SHA1: 1D494E530060D1B4D320CFE58EEDCA4F732CF8F3
CRC32: 9BD6E1BF
1.2 测试环境及工具
2.1.1 测试环境
Windows 7 32位操作系统
2.1.2 测试工具
查壳工具:PEID、ExeinfoPE
监测工具:火绒剑、PCHunter
调试工具:dnSpy
1.3 基础分析
1.3.1 病毒查壳
使用PEID进行查壳,如图1-1是个.net编写的程序
图1-1 病毒查壳
1.3.2 加密算法
将恶意程序手动脱壳,使用PEID的插件查看恶意程序的加密算法,并没有加密算法
图1-2 加密算法
1.3.3 云沙箱分析
将恶意样本上传到微步云沙箱,发现恶意程序有如下行为。
图1-3 云沙箱分析
2.具体行为分析
2.1 主要行为
将病毒样本拖入火绒剑中,过滤到行为监控,可以看到病毒释放了一个PE文件、启动PE文件并入侵进程。
图2-1 病毒释放文件
过滤到执行监控,看到恶意程序加载了一些模块。
图2-2 执行监控
过滤到文件监控
图2-3 文件监控
过滤到网络监控
图2-4 网络监控
最后使用注册表对比工具,将运行恶意程序前后对比,注册表在Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows设置键值
。
3.恶意代码分析
3.1 病毒主程序分析
开始分析主程序
将病毒拖入dnSpy中,看到图中有很多乱码,应该是加了混淆,使用de4dot
图3-1 有混淆的代码
看到图中有很多乱码,应该是加了混淆,使用de4dot去混淆。
图3-2 去混淆的代码
去混淆后,代码清而易见,找到main函数
图3-3 main函数
图3-4 判断文件是否存在
首先判断C:\\Users\\VicZ\\scvhosts.exe是否存在
图3-5 复制文件
如果不存在,将当前文件复制到C:\\Users\\VicZ\\scvhosts.exe并启动,结束当前进程。
图3-6 设置隐藏
如果存在,设置C:\\Users\\VicZ\\scvhosts.exe文件属性为隐藏
图3-7 打开注册表
图3-8 设置键值
打开注册表Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows设置键值
图3-9 缓冲区首地址
图3-10 拼接命令
拼接命令。
图3-11 远程线程注入
远程线程注入C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\csc.exe,连接网络,发送数据包。
函数结束。
4.手动查杀
1.删除文件C:\\Users\\VicZ\\scvhosts.exe
2.删除生成的注册表
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课