type
status
date
slug
summary
tags
category
icon
password
实验一要求
指纹识别,云沙箱分析特征
微步云沙箱
Virustotal (国外访问)
VirSCAN(代替上一个,国内访问)
市面上绝对部分杀毒软件都能查杀并报毒, 所以我们可以判定这个文件是恶意软件
查看恶意软件编译时间
学过 PE 文件格式的都知道,在个
结构体里面就有存放文件编译时间戳的变量 TimeDateStamp
大家平时做逆向分析和恶意代码分析,备一点详细的 PE 文件结构图,毕竟 PE 文件格式里面的细节东西非常多,平时我们记住能知道通过 mz 文件头判断 PE 结构,还有一些常见的段信息,比如代码段
, 数据段
,还有一些. bss 等等段这里不一一列出来了,还有一些导入导出表需要知道的等等许多知识
所以像我这样多备几张详细的 PE 文件结构图
其实现在很多分析的 PE 工具都会有一个分析时间戳的功能,比如我最喜欢的 DIE
我们可以看到编译时间戳是这个时间
2010-12-20 00:16:19
查壳
在上面这个图中还能看到其他非常有用的信息,比如没有壳,用 vc6++编译的等等等等
如果用其他 PE 分析工具,有可能看到显示了 E Language -> WuTao
因为易语言的底层是用 VC6++进行编译的,所以这个程序就是用 vc6++开发的 (~~可能说的有些勉强 ~~)
导入表
点击 die 的导入表功能
分析恶意软件的时候,着重注意下面这些 api 函数
- CreateFileA //创建文件或打开文件
- FindNextFileA //这两个都是用来遍历指定目录所有文件的,特别需要注意因为像勒索软件就需要遍历全盘
- FindFirstFileA //这两个都是用来遍历指定目录所有文件的,特别需要注意因为像勒索软件就需要遍历全盘
- CopyFileA //拷贝文件,恶意软件往往喜欢将自己拷贝到系统目录
接下来同样分析一下 Lab01-01. dll
引用 KERNEL32. dll 中的两个 API 函数
- CreateMutex //创建互斥量
- OpenMutex //打开互斥量 这两个都是互斥量函数,恶意程序往往喜欢创建或打开一个互斥量,因为创建了互斥量后再同一时间只允许一个程序访问其资源。 除此之外我们还可以看到还有一个 api 是创建操作系统进程资源的 api 函数,这个一般程序都会有,可以选择略过
我们在导入动态链接库中看到这个. dll 文件导入了
,这是一个网络通讯的动态库,所以我们可以确认这个恶意程序会有网络通信的操作
我们在沙箱分析报告中也可以验证这个猜想
Strings 查看敏感可疑字符串信息
可以用 ida 查看,但没有 strings 全,专业的事留给专业的工具
值得注意的地方有两处 首先第一处他这里不是 kernel32. dll 而是 kerne132. dll 是 1234 的 1, 然后第二处是 Lab01-01. dll 再结合我们上面分析的导入表,分析出他有个 CopyFile 的 api 函数 所以可以得出结论: 这个 exe 程序想把 Lab01-01. dll 文件拷贝到系统目录并且伪装成系统文件"kernel32. dll"
继续分析,我们刚才知道 Lab01-01. dll 文件有网络通讯功能
所以我们同样查找一下这个. dll 文件的可疑字符串
所以最后的结论是:Lab01-01.exe调用Lab01-01.dll对"127.26.152.13"进行连接,此ip可能是黑客用来控制的主控端ip,程序还会将Lab01-01.dll拷贝到系统目录伪装成"kernel32.dll",以此达到一个持久化的目的。
实验一总结
我们只用了 die 和 strings 就完成了实验一,全程静态分析完成了实验一的所有要求
实验二要求
丢进三个云沙箱分析
查壳
Upx 壳,看一下工具能不能直接脱掉,不能的话再手脱
工具直接就脱掉了
我们将脱掉的恶意程序,再次丢进 die 分析看一下
此时已经没有壳了,说明我们脱壳成功,我们像上面一样继续分析
编译时间戳如下
2011-01-20 00:10:41
我们继续查看一下导入表,导入的 api 如下
同样我们用 strings 查一下字符串
我们看到一个可疑网址
额,没错,就是恶意代码分析实战那本书的官网....,现在变成了卖电子书的网站
实验三要求
丢进云沙箱
云沙箱说,可能有加壳,我们按上面流程再来一遍
查壳
时间戳
1970-01-01 08:00:00
是 FSG 壳,似曾相识,又不咋熟悉,之前在吾爱工具包里面看到过这个壳加壳与脱壳
在我的宝贝库里面翻到了脱壳器
看了一波 ui 实在是看不下去,还是附件给的通用脱壳器吧
点击壳特征脱壳(脱壳成功)
源程序目录下生成了一个脱完壳的附件(die 分析已经没有壳了)
导入表如下
这个实验没看明白,可能就是简单的脱壳吧.....
Strings 也没有分析出啥
不死心的我,丢进 ida 就找了,可疑域名
实验四要求
丢进云沙箱
和上面的流程一样的
查壳
时间戳
2019-08-31 06:26:59
没有壳,导入表也都是可疑 api
Strings 可以查找到可疑域名
难道实验四就这么简单吗??
Nononono
回头看上面的导入表里面的有一个 api 是 winexec
WinExec //这个api主要是用来进行执行程序、命令操作。
并且下面这个软件保护壳我们并没有发现
winexec说明这是一个可执行文件打包了两次,我们需要解包解出来
我们用附件提供的那一个工具,记得读一下那个 txt 文件,再注册,否则你所有的 exe 文件都打不开了
我们进去后发现是 mz 文件头,是 pe 文件,我们右键导出为所有文件,然后名字和后缀改成 bin. exe
改完后,丢进 die 分析
我们发现时间戳变了,上面那个时间戳应该是打包这个恶意软件的时间,时间戳如下
2011-02-27 08:16:59
我们还在导入表中发现这么一个 api
URLDwonloadToFile //这个 api 是从网络上下载文件并保存到本地的一个操作。
很多木马都会用这个病毒从网上持续的下载病毒文件,然后复制到电脑各个地方
总结
其实这个静态分析只是停留在表面,我们只宏观的知道和验证了恶意软件,但一些细致的操作,比如从网上下载什么软件,下多少,网络通讯难道就一个 ip 和域名等等之类的细节,这些细节就需要后面真正的静态分析 ida 分析,这篇文件我简单的使用了 Ida 的查找字符串的功能,更强大的反编译功能我们还没有使用