一个.net样本的简单分析

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是个C#编写的程序

 

图1-1 病毒查壳

 

1.3.2 加密算法

将恶意程序手动脱壳,使用PEID的插件查看恶意程序的加密算法,并没有加密算法

 

图1-3 加密算法

1.3.3 云沙箱分析

将恶意样本上传到微步云沙箱,发现恶意程序有如下行为。

 

 

图1-4 云沙箱分析

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-2 main函数

 

图3-3 判断文件是否存在

首先判断C:\\Users\\VicZ\\scvhosts.exe是否存在

 

图3-4 复制文件

如果不存在,将当前文件复制到C:\\Users\\VicZ\\scvhosts.exe并启动,结束当前进程。

 

图3-5 设置隐藏

如果存在,设置C:\\Users\\VicZ\\scvhosts.exe文件属性为隐藏

 

图3-6 打开注册表

 

图3-7 设置键值

打开注册表Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows设置键值

 

图3-8 缓冲区首地址

 

图3-9 拼接命令

拼接命令。

 

图3-10 远程线程注入

远程线程注入C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\csc.exe,连接网络,发送数据包。

函数结束。

 

4手动查杀

1.删除文件C:\\Users\\VicZ\\scvhosts.exe

2.删除生成的注册表

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_44001905/article/details/103151138