恶意代码分析实践

一、实验选题背景:

北京大学网络攻防技术与实践课程——Rada分析(北京大学计算机研究所信安中心)

 

二、实验操作

 

0X01 确认文件完整性

image

 

或是在linux 下使用md5sum工具进行计算哈希值。

确认文件格式

image

 

使用命令:strings RaDa.exe | less 查看程序可以打印的字符串

image

 

发现呈现乱码,推测程序加壳。

0X02 目标运行测试

 

注意:目标程序运行测试请勿在工作环境下进行

运行filemon、wireshark、regmon监控工具,然后再执行样本rada.exe,使用上述三个监控工具记录日志并保存。

image

image

image

 

注册表行为:

image

 

以下按照行为顺序叙述目标行为:

创建键值:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

设置键值:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\RaDa 添加路径:C:\RaDa\bin\RaDa\RaDa.exe(此意为将路径C:\RaDa\bin\RaDa\RaDa.exe的RaDa.exe文件添加到系统自启动中)

关闭键值:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

 

文件系统行为:

image

 

以下按照执行目标行为过程顺序叙述监测行为:

首先查看路径C:\下是否存在文件夹RaDa\tmp。(结果是不存在)

在C盘创建文件夹RaDa。

在RaDa文件夹中创建子文件夹tmp。

打开路径C:\RaDa\tmp。(测试子文件夹tmp创建是否成功)

查看路径C:\RaDa下是否存在文件夹bin。(结果是不存在)

创建路径C:\RaDa\tmp。(结果是名称冲突,创建失败。原因是上面的操作已经创建了该路径)

创建路径C:\RaDa。(结果是名称冲突,创建失败。原因是上面的操作已经创建了该路径)

创建路径C:\RaDa\bin。(创建成功)

查询路径:C:\RaDa\bin\RaDa.exe (结果是不存在)

在上条的路径下创建该文件,查询属性、文件大小,写入文件。

 

网络行为:

让我分析网络行为?怎么分析?目标程序运行出错,开始我以为是采用的目标程序有问题,我从其它渠道获取目标程序后仍然出错。这作业没法做了。

 

image

image

 

使用查壳工具Exeinfo PE对文件进行扫描,发现该程序使用了upx加壳软件加壳

image

 

下面进行upx的脱壳

首先在upx官网上下载upx脱壳软件,配置环境变量。

 

image

配置成功:

image

 

首先测试下目标文件:

image

尝试使用upx对程序进行自动脱壳,发现脱壳失败:

 

image

采用超级巡警脱壳机进行脱壳,发现脱壳失败,奇了怪了,在超级巡警V1.3中可以脱壳成功,到了V1.5版本中就脱壳失败???什么破玩意:

image

image

 

在实验的最初我使用的是V1.5版本的脱壳机,发现失败后转而尝试手动脱壳:

使用OD载入RaDa.exe,发现:

image

选中“是”,继续调试

F7继续调试,寻找EP,设置断点:

image

 

F7进入函数体内部:

image

使用OD插件OllyDump——>脱壳在当前调试的进程:

image

记下修正值,选择“脱壳”,根据提示另存数据。

image

OD不要关闭,接下来打开Import REC,附加进程选择被调试的进程,然后填入修正后的EP,然后点击“AutoSearch”,接下来“Get Imports”,然后会找到一些函数,然后Fix Dump,目标程序为OD脱壳后的程序,保存就OK了,修正的文件为脱壳后的文件后面加一个下划线。

image

程序载入Stud_PE,尝试将刚保存的文件使用stud_PE进行EP修复:

image

 

使用两个版本的脱壳机测试手工脱壳成果,应该是成功了,下面使用strings工具提取可打印字符来验证下:

image

测试使用超级巡警V1.3脱壳后的程序:

02

03

测试手动脱壳的程序:

04

05

 

 

证明手动脱壳成功。

后续壳的进一步分析,由于对于IDA知之甚少,就不做进一步分析了。

 

 

 

转载于:https://www.cnblogs.com/ghost00011011/p/8996610.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值