2020-2021 恶意代码 20181230实践作业5.1 简单静态分析

实践目标:

1.将样例代码上传到在线杀毒中心进行分析并查看报告,从报告可以看出什么信息?

2.这个文件是否加壳了?如果加壳了,请进行脱壳;

3.有没有导入函数能够暗示出这个程序的功能?如果有,你认为是哪些函数,从这些函数你可以得到什么信息?

4.有没有什么线索可以被用来在被感染主机上进行该恶意代码的查找?

5.这个文件的作用可能是什么?

实践过程:

问题一:

将Lab01-02.exe文件上传至http://www.VirusTotal.com/进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?

分析报告如下


69家机构有50个显示存在恶意代码,并且显示进行了upx加壳。

下面是该病毒的一些特征:

由上图可以得出该病毒具有一下特征:

Trojan/Win32.StartPage.C26214 修改浏览器主页
Trojan Clicker 木马点击病毒
Trojan Generic:拥有与特洛伊木马病毒疑似功能的代码;
TR/Downloader.Gen 有下载功能
malware.gen 记录键盘输入,并传出

问题二:

是否有这个文件被加壳或混淆的任何迹象?如何是这样,这些迹象是什么?如果该文件被加壳,请进行脱壳,如果可能的话。

通过PEiD的检测,检测结果为Nothing Found。即没有找到壳,这种情况可能有两种原因:1.该程序没有加壳;2.该程序加壳了,但该壳比较新,该软件检测不出来。

但注意到了EP Section中的标识为UPX1,说明这个exe文件很可能用了一个UPX技术的变种,所以PEiD才会识别不出来.

然后我们用Dependency Walker,我们就会发现这个代码的导入表KERNEL32.DLL 中有两个函数LoadLibraryA,GetProcAddress.这两个函数都是加壳的迹象,因为加壳的程序运行时候脱壳是必须要这两个函数的。

下面再使用PE viewer进一步检测:

首先该程序的节部分很奇怪,显示的是UPX0,UPX1,UPX2.而不是常见的.text .data .rdata .rsrc,很明显这是UPX加壳后的表现.下面通过虚拟大小与原始数据大小的对比就能发现端倪。

分节 虚拟大小 原始数据大小
UPX0 00004000 00000000
UPX1 00001000 00000600
UPX2 00001000 00000200

IMAGE_SECTION_HEADER UPX0中可得出Virtual Size00004000 Size of Raw Data00000000, 所以Virtual SizeSize of Raw Data
IMAGE_SECTION_HEADER UPX1IMAGE_SECTION_HEADER UPX2中的也是Virtual SizeSize of Raw Data大,所以可以确定该程序被加壳了.

并通过查资料该程序可能是UPX加壳,所以我们尝试一下脱壳:
使用UPX.exe进行脱壳,过程如下:
Lab01-02.exe复制到upx所在文件夹下

命令行运行upx.exe

执行命令:upx -d Lab01-02.exe进行脱壳,显示成功。

再把已脱壳的文件放到http://www.VirusTotal.com/进行分析并查看报告,可以发现文件以及脱壳了。

问题三:

有没有任何导入函数能够暗示这个程序的功能?如果有,是哪些导入函数,它们会告诉你什么?

现在我们继续对脱壳后的程序分析,使用Dependency Walker对该程序进行分析:

由上图可以看见该程序共有四个动态链接库:

KERNEL32.DLL ADVAPI32.DLL MSVCRT.DLL WININE.DLL

KERNEL32.DLL

SystemTimeToFileTime 是一个进程,即系统时间本地时间。

GetModuleFileNameA 获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。

CreatWaitableTimerA 创建计时器对象

ExitProcess 退出程序

OpenMutex 打开互斥

SetWaitableTimer 启动一个可等待计时器

WaitForSingleObject

CreatMutex 创建一个互斥体

CreatThread 创建一个线程

ADVAPI32.DLL

Advapi32.dll,使用了注册表,提醒我们注意程序中象注册表键值的字符串,还有服务管理.可能会恶意关闭一些服务是某些程序不能运行,或者自动开启一些服务。

CreateServiceA 创建一个服务对象,并将其添加到指定的服务控制管理器数据库

StartServiceCtrlDispatcherA 调用服务程序

OpenSCManagerA 建立一个连接到服务控制管理器并打开它的数据库

WININET.DLL

WININE.DLL使用了网络服务,InternetOpenUrl,可以访问网站,这里值得警惕,该恶意木马可能会通过访问网络下载更多病毒,或者实时监控该主机,InternetOpenA 初始化一个应用程序

问题四:

有没有什么线索可以被用来在被感染主机上进行该恶意代码的查找?

使用Strings.exe查看脱壳的程序,内容如下:

出现可疑的URL: www.malwareanalysisbook.com 还有IE8.0 推测应该是使用IE打开该网站

猜测可以通过查看浏览器浏览记录来推测是否有感染的可能。

问题五:

这个文件的作用可能是什么?

posted on 2021-05-23 19:59  仲夏之森  阅读(240)  评论(0)    收藏  举报