首页
论坛
专栏
课程

[原创]一个.net恶意样本的分析

2019-3-14 18:11 973

[原创]一个.net恶意样本的分析

2019-3-14 18:11
973

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.删除生成的注册表



[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上传的附件:
上一主题 下一主题
最新回复 (0)
游客
登录 | 注册 方可回帖
返回