恶意代码分析实战 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
本文完
相关文章推荐
- 恶意代码分析实战 Lab 1-3 习题笔记
- 恶意代码分析实战 Lab 9-3 习题笔记
- 恶意代码分析实战 Lab 1-2 习题笔记
- 恶意代码分析实战 Lab 3-3 习题笔记
- 恶意代码分析实战 Lab 3-1 习题笔记
- 恶意代码分析实战 Lab 6-4 习题笔记
- 恶意代码分析实战 Lab 5-1 习题笔记
- 恶意代码分析实战 Lab 10-2 习题笔记
- 恶意代码分析实战 Lab 6-1 习题笔记
- 恶意代码分析实战 Lab 7-2 习题笔记
- 恶意代码分析实战 Lab 8 习题笔记
- 恶意代码分析实战 Lab 7-3 习题笔记
- 恶意代码分析实战 Lab 4 习题笔记
- 恶意代码分析实战 Lab 1-4 习题笔记
- 恶意代码分析实战 Lab 9-1 习题笔记
- 恶意代码分析实战 Lab 7-1 习题笔记
- 恶意代码分析实战 Lab 6-2 习题笔记
- 恶意代码分析实战 Lab 10-1 习题笔记
- 恶意代码分析实战 Lab 9-2 习题笔记