首页
社区
课程
招聘
[原创] 恶意代码分析入门系列之 - 环境搭建
发表于: 2020-8-5 17:53 6783

[原创] 恶意代码分析入门系列之 - 环境搭建

2020-8-5 17:53
6783

0x00 前言

本系列的文章是之前就写好的,断断续续的写了一部分。现在准备系统性的维护一下,也分享给各位对恶意代码感兴趣的坛友。

 

此外,感谢@梦幻的彼岸 大佬之前贡献的两个小节:
带伙伴们入手计算机病毒分析-第一天:https://bbs.pediy.com/thread-260444.htm
带伙伴们入手计算机病毒分析-第二天:https://bbs.pediy.com/thread-260642.htm

 

梦幻大佬的两篇文章已经将恶意代码(为了统一,之后的木马、病毒都在本文中都统称为恶意代码)的概念以及一些静态分析的技巧,包括PE结构这种已经讲得很清楚了。

 

我也就偷个懒,讲一些其他的内容。

 

在本文中,主要是讲一下恶意样本分析的过程中常用的一些软件~

0x01 虚拟机

个人使用的虚拟机是VMware,常用的两个镜像是Win XP 和Win7 64。
虽然xp早就不是主流了,但是在分析样本的时候还是有一定的优势,这是因为Win7开始微软加入了ASLR也就是地址随机化的保护机制,使得在Win7下的程序每次加载,基地址都不同,从而导致调试器里面的地址和IDA中的不能很好的对应起来,所以既然目前大部分程序都还是可以在32位机器(xp)上跑,就选择相对来说好调试的一个环境了。

 

我使用的是吾爱破解论坛上的xp镜像,该镜像自带了大部分的工具:
https://www.52pojie.cn/thread-661779-1-1.html
下载到本地之后,直接使用VMware打开解压出来的文件夹就可以使用。

 

想要干净的虚拟机镜像可以在MSDN上下载(最好下载英文版,因为有些样本对中文系统支持不是很好,后面可能会出现样本在中文系统上无法正常运行或者乱码的情况)。
https://msdn.itellyou.cn/
图片描述

 

虚拟机下载完成之后,也可以直接下载吾爱破解工具包,这是一个别人打包好的工具箱,在逆向过程中会用到的大部分工具都可以在里面找到:https://www.52pojie.cn/thread-1004678-1-1.html

0x02 IDA

个人使用的看雪的新版本IDA
https://tool.pediy.com/index-detail-6.htm

 

(但是现在好像已经有高版本泄露版了 尽量选用不低于7.0版本的IDA,因为目前有很多插件都要求至少是IDA7.0)

 

IDA可以直接安装在真机(节约虚拟机内存)。毕竟IDA分析代码是纯静态的,不会运行代码,所以安装在真机即可。

 

关于IDA的用法和插件,会在后续的文章中进行介绍。

0x03 调试器

调试器我在xp环境下使用的就是吾爱破解的工具包自带的那个
在Win7环境下使用的是x64dbg(有x32dbg支持32位程序调试),该工具是开源的,可以在github找到源码和release版本:https://github.com/x64dbg/x64dbg/releases

 

x64dbg免安装,下载之后直接可用。
根目录结构如下:
图片描述

 

在release目录下可分别有32位和64位的可执行程序,进入到文件夹直接打开对应的exe文件就可以使用
图片描述

 

论坛中也有很多优秀的关于x64dbg的使用教程:
https://bbs.pediy.com/user-803227.htm
图片描述

0x04 PE工具

PE查壳工具

PEID 或 exeinfo
这些工具吾爱的xp虚拟机或者吾爱的破解工具包上都自带了,如果要单独下载到win7上的话:
EXEINFO:https://bbs.pediy.com/thread-257082.htm

 

在大多数情况下,exeinfo和peid都被用来进行查壳。当然它们也可以用于查看PE文件的节区信息等。但如果想要查看详细的PE信息,一般情况下可以使用CFF Explorer ,也就是大家常说的"小辣椒"
图片描述

 

和上面两个工具一样,CFF Explorer的使用也十分简单,只需要把待查看的PE文件拖动到CFF Explorer中即可:
图片描述

 

下载链接:
原版下载: https://tool.pediy.com/index-detail-165.htm
​坛友改进:https://bbs.pediy.com/thread-94129.htm

 

当然还有一些其他的比较优秀的工具,比如​LoadPE
​工具下载:https://bbs.pediy.com/thread-161746.htm
练习文章:https://bbs.pediy.com/thread-77120.htm​

 

​Stud_PE:
​v2.6.0.5 https://bbs.pediy.com/thread-125638.htm

编辑工具

以前常用winhex,现在用010Editor
个人感觉010Editor比winhex更人性化。
我们在分析恶意样本的时候,首先需要确定样本的类型,根据不同类型的样本才选择不同的分析方法。
个人感觉最快的方法就是直接使用十六进制编辑工具查看一下文件头。
以010Editor为例,下面是32位的PE文件
图片描述

 

64位的PE文件:
图片描述

 

以doc格式的文档为例,对比一下03 07 13 三个版本的doc文档头部hex数据的区别。
office2003,97到03的office文件本质上来讲是OLE格式,也是二进制的文件,头部hex数据如下
图片描述

 

office2007开始微软提出了一种新的文件格式为OpenXML(OOXML),所以07版本的头部hex数据如下:
图片描述

 

可以看到07版本的office文件,本质上来讲可以理解为压缩包,hex头部可以看到压缩包的标志(PK)

 

office2013格式的文件,头部也和07相同,目前,OOXML就是主流的office格式。
图片描述

 

此外,关于010,之前也有大佬在论坛发了010 Editor 模板开发教程
https://bbs.pediy.com/thread-257797.htm

0x05 网络分析工具

虽然推荐是断网分析,但有时候恶意样本在运行的时候,会先鉴定是否可以连接互联网,如果不能连接互联网则停止运行,此时,要么选择找到判断互联网是否成功连接的地方,更改代码,使其正常运行,要么使用第三方工具,构建一个安全的虚拟网络。
fakenet就是这样一个工具:https://github.com/fireeye/flare-fakenet-ng
fakenet可以在本地构建一个安全的虚拟网络,fakenet运行之后,本机的所有网络请求、流量将不会再发送到互联网,而是发送到fakenet中,并且fakenet还会根据请求模拟服务器返回对应的数据,从而达到欺骗的作用。

0x06 office

个人安装了office2003 2007 2013 三个版本,安装之后,分别拍摄快照,个人常用的几个环境快照如下:
图片描述

 

0x07 总结
总的来说,目前就想到这些。之后如果有其他的就在环境中完善即可。
之后如果遇到有些样本,需要用一些比较少见的工具,再进行详细的介绍。
记得安装好干净的分析环境后存快照~


[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

最后于 2020-8-6 10:27 被jux1a编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (10)
雪    币: 4478
活跃值: (2116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错。跟着学习!
2020-8-5 21:49
0
雪    币: 201
活跃值: (13855)
能力值: ( LV13,RANK:606 )
在线值:
发帖
回帖
粉丝
3
在语雀关注师傅了看到最后快照的图才认出来
2020-8-5 21:57
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
4
yichen115 在语雀关注师傅了[em_76]看到最后快照的图才认出来[em_79]
嘿嘿  感谢大佬关注
2020-8-6 09:35
0
雪    币: 389
活跃值: (565)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
5
自豪哥自豪哥
2020-8-6 15:31
0
雪    币: 204
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
学习了
2020-8-26 06:51
0
雪    币: 3148
活跃值: (244)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
不过按这个快照数量,虚拟机体积会翻好几倍
2020-8-26 09:14
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
8
嗯嗯是的,这样占用体积比较多,很多环境其实是有一个包含关系,可以直接融合在一起 ,我是没有考虑这个成本因素
2020-8-26 09:34
0
雪    币: 6898
活跃值: (3179)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢大佬,写的很系统。
2020-9-22 21:04
0
雪    币: 12868
活跃值: (5553)
能力值: ( LV5,RANK:77 )
在线值:
发帖
回帖
粉丝
qux
10

win7的aslr机制可以这样关掉:

设置如下注册表项并重启系统


Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] "MoveImages"=dword:00000000 


原链接:https://www.52pojie.cn/thread-377450-1-1.html


2021-1-26 13:38
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
haohaoxuexi
2021-1-30 17:10
0
游客
登录 | 注册 方可回帖
返回
//