恶意代码分析实战解题笔记(一)

LAB01-01.dll和LAB01-01.exe 文件分析

首先拖到www.virustotal.com里面进行在线分析,得到如下结果

image-20191201015128319.png

大多数杀毒引擎分析出这是一个特洛伊木马病毒

分析LAB01-01.exe得到的结果如下

image-20191201015401592.png

和上面的结果类似

然后再虚拟机上进行分析

image-20191201015743894.png

LAB01-01.dll文件没有加壳,就是个普通的VS6编译出的dll,里面的代码区段也很明显,多了个重定位区段。

image-20191201015854401.png

LAB01-01.exe这个文件也没有加壳,就是普通VC6编译出的EXE,代码区段也很明显

通过strings查看LAB01-01.exe里的关键字符串

image-20191201020213238.png

除了基本的KERNEL32.DLLMSVCRT.DLL之外,还看到了调用CreateFileACopyFileA等可疑的API,通过字符分析,猜测是把程序的lab01-01.dll复制到C:\Windows\system32\kernel132.dll,改个名字,然后查找,调用该程序。

这个分析完了之后再看看dll里的字符

image-20191201020523141.png

看到了WS2_32.dll是用于网络套接字编程的一个DLL,然后还有一个私有IP地址,估计是用于通信的IP地址,看到了CreateMutexAOpenMutexA等API,是用于互斥锁的一个原子操作,后面还有创建句柄等等,怀疑是驻留后台的进程

使用Dependency Walker查看DLL里面调用的函数

image-20191201021058507.png

调用了互斥锁打开和关闭句柄创建进程休眠函数,怀疑是驻留后台

然后我们拖进大杀器,IDA里面进行分析

image-20191201021627627.png

一通乱逆之后,证实之前的思路

一开始如果运行的参数不是WARNING_THIS_WILL_DESTROY_YOUR_MACHINE,就不会运行这个程序

LAB01-01.dll伪装成kerne132.dll并复制到原本的kernel32.dll中,然后调用这个dll,进行木马程序

LAB01-02.exe 文件分析

1.放进www.virustotal.com里面观察

image-20191201023013670.png

提示是另一种木马病毒

2.首先看查壳

image-20191201022726924.png

image-20191201023140215.png

说明是加了UPX的壳,这是个很简单的壳,高手用ESP定律就能够手动脱壳,但是我等渣渣就只能够借助工具来脱壳。没有.text等常见的代码段,说明无法正常进行反汇编分析

运行upx -o newFilename -d originalFilename进行脱壳

image-20191201023324229.png

然后再拖进PEiD里面查看

image-20191201023428540.png

7.立竿见影,然后我们查看字符串

image-20191201023535092.png

3. 查看导入函数

我们可以看见一些函数,如WININET.DLL网络编程,获取模块名称,创建进程,创建互斥锁,打开IE浏览器,IE浏览器打开URL,下面还有这个URL的具体内容。

4.感染迹象

猜想,感染迹象就是大概是病毒会控制用户的电脑打开如图所示的网站。

6.使用Study_PE进行分析

image-20191201024237851.png

导入函数有常见的CreatMutexA,SystemTimeToFileTime,ExitProcess,CreateThread等等

wininet.dll是Windows的应用程序网络模块,负责网络通信,比如图中的打开URL

advapi32.dll是负责高级API接口的部分,负责注册表,函数与对象,事件日志等等

7.Malservice字符串的作用

猜测病毒是把自己变成一个服务挂在系统后台,在某个时间一到就运行自己。

在IDA里打开分析

image-20191201025127570.png

果然是把自己变成一个服务然后运行

image-20191201025459146.png

再通过分析调用,更加证实了猜想,并且明白了这个互斥锁的名字是HGL345,然后创建服务之后会弹出20次这个网站。

lab01-03.exe分析

1. 上传分析

image-20191201030147123.png

报了一堆毒,第一个居然就是可疑就打法了,然后后面两个都说是木马病毒

2.查壳脱壳

image-20191201030338150.png

发现没有段名称,然后是一个FSG1.0,立即询问万能的Google

image-20191201030619188.png

网上都是手动脱壳,于是只好实用我收集到的脱壳机进行脱壳

image-20191201031223878.png

脱壳成功。

使用Dependency walker查看导入表,发现两个很奇怪的dll文件

image-20191201031547803.png

查询这两个DLL是干嘛的,发现是用来连接和嵌入对象的,这个就是高级的面向对象编程的一些函数了,查看调用表也没发现什么奇怪的东西,于是查看其他的DLL

image-20191201032031719.png

然而并没有发现什么奇特的函数,无非就是对文件的增删改查,还有蜂鸣报警。通过查看Strings 也并没有发现什么特别之处,除了有一个可疑的网址

image-20191201032228890.png

于是我们使用IDA进行分析

image-20191201032336500.png

大概就是创建一个对象,然后有个SysAllocString()这个函数不知道是干嘛的,翻微软官方文档发现就是个Ole32.dll下的复制操作。

4.感染迹象

大致猜测就是一个在内存中分配这个网站,然后创建一个关于网站的对象的操作。估计是访问这个网站。

在虚拟机中运行,果真如此

lab01-04.exe 分析

1. 上传分析

image-20191201032950875.png

爆了一堆毒,估计是一个木马,还有提示说是一个木马下载器,专门下载其他木马的

2. 查壳脱壳

image-20191201033048021.png

非常幸运,没有壳

3.查看这个文件什么时候被编译的

image-20191201033305211.png

网站上面已经说的很清楚了 2019-08-30 22.26.59被创建的

4.查看导入函数暗示程序的功能

image-20191201113735463.png

对文件增删改查,然后还有创建远程线程,估计是用于远控,还有获取程序地址,获取temp目录等等,没有看出什么奇怪的迹象,但是这个文件获取的权限比较大

通过strings查看文件

image-20191201114110519.png

发现特殊网址和打开URL的一个DLL

5.被感染的迹象

看见了一个网址和URL进程,里面包含了一个EXE,猜测是这个程序会下载这个URL里面的这个程序到电脑的temp目录下面

6. 抽取该资源

使用PEview查看到在.rsrc的一段话里面有一个奇怪的段

image-20191201114642739.png

和前面有一个一样的说明语句,说明是可执行的部分

然后在Resource Hacker拖出来分析

image-20191201115135826.png

刚好就是这个段

然后在PEID里面分析

image-20191201115334824.png

很幸运,也没有加壳

然后我们用strings找关键字符串

image-20191201115449765.png

还是那个网址,说明关键操作就隐藏在这个文件当中,使用IDA分析

image-20191201115701299.png

大致可以看出,是把这个文件下载到系统tmp目录中,然后伪装成为一个\System32\wupdmgrd.exe,并在命令行中执行这个文件。