Lab01-04.exe
问题及分析
第一问
将Lab01-04.exe文件上传至http://www.virusTotal.com/进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?
通过上面的信息可得下面的特征:
-
TrojanDownloader 木马下载程序
-
Trojan.Heur.RP.E9A4ED 木马程序,是计算机网络变慢甚至崩溃,是计算机运行速度变慢等等
分析结果显示很大部分的引擎显示这很可能是一个木马下载后门软件
下面是更多细节信息:
第二问
是否有这个文件被加壳或混淆的任何迹象?如何是这样,这些迹象是什么?如果可能的话,能否脱壳?
首先是用PEiD进行检测:
可以看到这里并没有加壳
再使用PE View查看节的信息
这里可以看出虚拟大小小于实际数据大小,是正常的状态,而且分节正常的,所以可以确定该程序没有加壳
第三问
这个文件是什么时候被编译的?
然后这个其实virustotal已经告诉我们了
TimeStamp 2019:08:30 23:26:59+01:00
我们也可以通过Dependency Walker
来看,也是这个值
第四问
有没有任何导入函数能够暗示这个程序的功能?如果有,是哪些导入函数,它们会告诉你什么?
这个函数导入了CreateFileA
和MoveFileA
这个函数,说明它可以创建一个文件和移动一个文件
还有CreateRemoteThread
说明这个函数会在一个远程进程(Remote Process)里面创建一个自己的远程线程(Remote Thread)来运行恶意代码
还有FindResourceA、LoadResource
和SizeofResourse
这个函数,说明它再查找资源节的内容
GetCurrentProcess
和OpenProcess
这个是获得想要获得进程的文件描述符,也是为了操作远程的进程
值得注意的是GetTempPathA
这个函数,这说明这恶意代码可能会使用Temp目录
WinExec
说明这个程序可以运行另一个程序代码
然后在ADVAPI32.DLL
中呢,我们可以看到这几个导入函数
AdjustTokenPrivileges
说明这个函数可以通过令牌的方式确保只运行一个进程在系统中
LookupPrigilegeValueA
说明这个程序可以去查找用户的登录信息等系统敏感信息
第五问
哪些基于主机或基于网络的迹象,可以被用来确定被这个恶意代码所感染的机器?
我们打开ida看看
可以看出这个程序会有一个\system32\wupdmgr.exe、\winup.exe的程序和psapi.dll、sfc_os.dll的动态链接库,我们可以根据这个来查找
下面是我使用Winhex 查找到的网址:http://www.practicalmalwareanalysis.com/updater.exe
可以通过这个http://www.practicalmalwareanalysis.com/updater.exe来断定这是下载木马的程序,木马就是updater.exe,在网络中的位置就是www.practicalmalwareanalysis.com,
第六问
这个文件在资源段中包含一个资源。使用Resource Hacker工具来检查资源,然后抽取资源。从资源中你能发现什么吗?
这个也是比较隐蔽的一种藏恶意代码的方式,我们先用Resource Hacker来看看这个文件
可以看出在BIN目录下有个101:1033
我们用一个资源节没用藏东西的程序看看会是什么样的
可以看出这里什么都没有
然后我将这个资源节里的代码导出来保存,再用ida来分析
保存为一个exe文件格式之后
再用ida打开
可以看到标黄的就是我们导出的东西
然后我们就可以发现这个导出的恶意代码里面包含了一个网址,和我们刚刚分析主程序时候的那个wupdmgrd.exe和winup.exe
然后这时候我们也可以通过这个http://www.practicalmalwareanalysis.com/updater.exe来断定这是下载木马的程序,木马就是updater.exe,在网络中的位置就是www.practicalmalwareanalysis.com,当然,回答上一问,我们也可以通过这个网络流量数据来分析判断受感染的机器的特征
关键提示和要求:
1、使用virustotal.com查看程序,分析报告;
2、用PEview和PEiD分析是否加壳(注意该程序的节的名称);导入表叫什么名字?
3、根据PEview,导入表中有哪些动态链接库?导入函数偶哪些?advapi32.dll使用的函数做什么事情?结合kernel32.dll使用了writeFile和WinExec函数,这个程序能够做什么事情?
4、仔细查看资源节,看看资源节的格式是否熟悉?
5、用strings查看字符串;字符串中有URL和路径信息吗?是什么信息?结合第3步,思考这个程序要做什么事情?
6、根据第4步的结果,使用Resource Hacker将资源节的内容保存为一个二进制文件。(注意文件保存的路径;注意,是保存资源节的内容。将二进制文件改为可执行文件。
7、用PEview继续分析这个新文件。查看导入表、调用的函数,查看这些函数的功能,再思考这个程序能够做什么事情?
引用
1.《 Practical Malware Analysis 》 By Michael Sikorski, Andrew Honig · 2012
2. 以及网上前辈的一些作品,由于查阅过多过细,这里就不一一例举。