您的位置:首页 > 编程语言

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

2017-09-04 17:42 459 查看

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打开





我们也可以尝试用
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


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

然后我们开始分析

这里有个可以注意的地方
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...




然后

寻找我们那个DLL文件



然后点
search
就行了



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

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



然后就找到了

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

解答: 书中的答案是

用发现的PID就行过滤

我们试试

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

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


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



去看看这是啥

INDEX.BTR
是这样的



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



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

CIM是啥



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

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


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

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

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



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

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



我们可以注意到这个解析



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


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

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


本文完
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码分析 病毒