恶意代码分析实战 Lab 3-2 习题笔记

来源:互联网 发布:无限制搜索工具mac 编辑:程序博客网 时间:2024/06/07 05:47

Lab 3-2

问题

1.你怎样才能让这个恶意代码自行安装?

解答: 这个看书上解答是

利用rundll32.exe工具,使用命令rundll32.exe Lab03-02.exe, installA,来运行恶意代码导出installA函数,便可将恶意代码安装为一个服务

这是怎么发现的呢

先使用静态分析技术

PEview找到这么五个导出函数

导出

然后再用Dependency Walker查看依赖,会发现一些有趣的函数

一些

说明代码会创建进程,线程

一些

说明代码会操作服务,还有操作注册表

一些

然后这个恶意代码还使用网络连接等等

然后我们看看字符串列表

字符串
字符串中我们可以发现譬如域名

practicalmalwareanalysis.com

还有函数

ServiceMain
UninstallService
installA
uninstallA

还有一个网页

serve.html

还有譬如下载文件的

getfile

运行文件的

cmd.exe /c

还有一些注册表操作的语句

其实一般的DLL是没有这个.rdata

因为

比如我们随便找个系统dll打开

advapi32.dll

regapi.dll

我们也可以尝试用install这个导出函数来安装恶意代码,试试

这里有个小技巧,就是windows下用cmd切换目录感觉很饭的样子,其实cmd.exe本身就是放在c:\windows\system32\cmd.exe,可以把它拷贝出来,放桌面,然后你要切换到哪个目录,就直接把这个exe又复制到那个目录,然后点击打开就切换到了,当然,这是歪门邪道

做好一切的必要准备,注册表快照存储,process explorer打开,输入

rundll32.exe Lab03-02.dll,install

然后查看注册表对比,发现

新建

这个DLL创建了一个叫IPRIP的服务

然后我们发现这么几个新建的注册表值很有意思

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Parameters] "ServiceDll"=hex(2):43,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,\ 00,74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,\ 6e,00,67,00,73,00,5c,00,36,00,34,00,5c,00,4c,68,62,97,5c,00,42,00,69,00,6e,\ 00,61,00,72,00,79,00,43,00,6f,00,6c,00,6c,00,65,00,63,00,74,00,69,00,6f,00,\ 6e,00,5c,00,43,00,68,00,61,00,70,00,74,00,65,00,72,00,5f,00,33,00,4c,00,5c,\  00,4c,00,61,00,62,00,30,00,33,... 

翻译

install这个函数基本就是干这些事的,没见任何可疑的,然后我们还原在试试installA

然后和刚才那个一样,所以我们可以得出这个结论installinstallA是一样

然后我们开始分析

这里有个可以注意的地方ImagePath

分析

值分析过来就是下面这个

%SystemRoot%\System32\svchost.exe -k netsvcs

然后可以分析得出就是这个DLL会将自己安装成为一个服务IPRIP,然后由于这个恶意代码是个DLL文件,它就依赖一个可执行文件来执行它,然后它依赖的就是svhost.exe这个可执行文件来启动


2.在安装之后,你如何让这个恶意代码运行起来?

解答: 用windows启动服务的方式来启动

net start IPRIP

3.你怎么能找到这个恶意代码是在哪个进程下运行的?

解答: 用Process Explorer

Find菜单-> Find Handle or DLL...

Find

然后

寻找我们那个DLL文件

发现

然后点search就行了

结果

结果我们会发现这个pid为1100(在不同电脑上这个值会不同)

然后我们去查找这个pid为1100,名字叫svchost.exe的进程

找到

然后就找到了


4.你可以在procmon工具中设置什么样的过滤器,才能收集这个恶意代码的信息?

解答: 书中的答案是

用发现的PID就行过滤

我们试试

我这个虚拟机同时开procexp和procmon会崩溃-_-)

然后我是看svchost.exe启动那个exe来找这个svchost.exe

然后我发现一个有趣的东西

ReadFile

去看看这是啥

INDEX.BTR是这样的

看不到

唯一一个能看懂明文的是这个

记事本

然后里面记录了本机的一些基本信息

CIM是啥

CIM


这个恶意代码在主机上的感染迹象是什么?

解答: 感染迹象就是会有创建一个服务叫IPRIP


这个恶意代码是否存在一些有用的网路特征码?

解答: 我们先去看看DNSChefINetSim服务器上的 记录

先检查一下dns的解析记录,用DNSChef虚拟机看

DNS

和我们前面发现的恶意域名是对应的

然后我们在看看INetSIm虚拟机上的记录,记录在log/service.log里面

记录

我们可以注意到这个解析

放大

这个DLL从我们的fake服务器下载一个serve.html,而我们伟大的INetSim返回了sample.html作为serve.html

其实这里就不需要用netcat来监听本地80端口了

所以这个网络特征就是那个漫长的恶意域名的解析,和对恶意域名请求一个serve.html

本文完

原创粉丝点击