实验环境:
实验设备环境:windows XP
实验所需工具:PEID,process monitor,process explore,strings,wireshark,regshot.
实验思路
1、静态分析dll中的特征信息
2、安装dll中的恶意代码
3、监控并分析恶意程序的特征
实验过程
首先我们在进行动态分析之前可以进行一些基础的动态分析,使用PEID软件,将dll文件拖入PEID操作如下:
我们可以发现其导出了五个函数,特别是第二个和第三个都是针对服务方面的,所以我们可以认为其dll文件可能创建了一个服务。同样可以点击输入表获取导入信息。
我们还可以使用strings进行静态分析如下:
将strings和要检测的程序放置在同一个目录下,然后输入strings lab03-02.dll:
此时我们可以发现其打印出了有关于注册表信息的内容。
再向上我们可以观察到svchost.exe路径的打印,此程序是一个宿主程序,正常来说dll文件是不可以运行的,所以就需要调用宿主程序(svchost.exe)进行dll文件的调用。
再向上我们可以观察到一个网址如下:
可以猜测可能是一个网络特征。
1、你怎样才能让这个恶意代码自行安装?
我们windows系统中存在一个rundll32.exe程序是专门用来运行dll程序的,现在我们就可以利用这个程序使dll文件运行起来,命令如下,输入之后不要马上按回车。
输入以上以后我们还想看一下恶意代码对注册表进行了哪些操作,所以先用regshot软件进行查看以后再回车
进入到regshot后建立快照,这时我们就把恶意代码运行之前的全部注册表进行了快照现在我们进行回车操作。之后我们可以用process explore看rudll32.exe是否运行完毕,如果进程列表里面没有rundll32.exe,就说明已经运行完毕了。
现在我们运行安装完了恶意代码,现在可以再一次建立第二次快照即b快照,通过对比快照我们发现其启动了IPRIP服务,所以可以通过net命令启动恶意代码程序。
2、安装之如何让恶意代码运行起来?
可以使用命令行启动恶意代码程序,但是在启动之前我们需要使用wireshark,process monitor以及process explore进行监控,全部打开之后欧就可以使用命令行nei命令进行启动了:
命令如上。
3、怎么可以找到这个恶意代码在哪个进程下运行的?
因为我们分析的是一个dll文件,而process explore是检测exe程序的,所以我们需要在explre程序中进行寻找如下:
输入dll后点击search之后可以看到:
现在我们可以确定其是附着在了scvhost.exe程序上了。
4、你可以再process explore中设置什么样的过滤器,才能收集到这个恶意代码的信息?
在问题3中我们确定了dll附着在了svchost程序中,在process explore中我们可以找到这个程序如下:
我们点击这个程序的时候也可以观察到下方确实有Lab03-02.dll,并且我们确定了此程序的PID值为:1284(不同人的电脑可能是不一样的)
现在我们可以使用process monitor进行过滤如下:
点击add以及ok之后我们就可以获得此PID下的所有监控信息。
5、此恶意代码是否存在一些有用的网络特征码?
此问题我们可以使用wireshark进行捕捉。
这时我们可以发现这个域名就是解析的域名。
向下我们可以找到HTTP数据包,点击之后我们发现其会利用get请求获取server.html。
实验心得
实验主要参考i春秋学院发布的免费恶意代码分析实战课程。