20145206邹京儒_恶意代码分析

一、实践过程记录

恶意代码

本次实验分析的对象是《20145206邹京儒_后门原理与实践》中的5206.exe

恶意代码分析之静态分析

通过VirSCAN.org平台进行分析如下:

点击“文件行为分析”,可以详细地察看是否有敏感行为,可以发现该文件会有网络连接的行为,自行删除注册表键值的行为

静态分析之PE套件使用

PE explorer

通过PE explorer打开文件5206.exe,可以查看PE文件编译的一些基本信息,导入导出表等

我们点击“导入表”,可以查看该文件依赖的dll库:

WSOCK32.dllWS2_32.dll,看了同学的博客,了解到它们是用来创建套接字的dll库
ADVAPI32.dll库:是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关。
还有两个库MSVCRT.dllKERNEL32.dll属于一般程序在win下都会调用的dll库

PEiD

PEiD是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档的加壳类型和签名。
接下来就通过PEiD这款工具分析一下5206.exe看看是否带壳:

在界面左下部分我们可以看到没有查出来他用什么加的壳,哦?一般没有加壳的软件会在那里都会直接显示编译器名称,没有找到可能是PEiD版本原因
与此同时,我们可以查看他反汇编之后的代码:

Dependency Walker

Dependency Walker是一款Microsoft Visual C++中提供的非常有用的PE模块依赖性分析工具,可以查看PE模块的导入模块,查看PE模块的导入和导出函数,动态剖析PE模块的模块依赖性,解析C++函数名称
接下来就用这款工具分析一下5206.exe:

我们从中看见了,该可执行文件可以对注册表进行删除操作,这也与VirSCAN.org查杀结果保持一致。

系统运行监控

TCPView查看恶意代码回连前后情况:
该工具可以帮我们实时分析正在联网的进程,所以我们可以通过查看每个进程的联网通信状态,初步判断其行为,例如一个程序应该是单机运行的,如果有网络行为,就显得很可疑了

netstat

我们可以通过建立一个windows计划任务程序查看本机有哪些ip连接:


这个时候每隔5分钟就会更新一次netstatlog文件,我们可以查看当病毒回连的时候发生了什么:

sysmon工具

首先我们在C:\windows\system32\文件夹下找到cmd.exe,右键以管理员身份运行:

进行配置:

设置好上述,可以进入Applications and Services Logs/Microsoft/Windows/Sysmon/Operational查看日志:

准备好kali,打开木马5206.exe,查看日志,可以通过搜索功能找到:

创建进程:木马很可能伪装成电脑自带的explorer.exe进程:

恶意代码分析之动态分析

SysTracer

想捕获快照时出现如下问题,问了也出现过同样问题的同学,她说要卸载重装,于是我照做了。。。

之后开始操作步骤:
Step0:准备两台虚拟机,kali攻击机,Win7靶机,SysTracer2.10分析软件
Step1:打开攻击机msfconsle,开放监听;win7下对注册表、文件、应用情况进行快照,保存为Snapshot #3

Step2:win7下打开木马5206.exe,回连kali,win7下再次快照,保存为Snapshot #4
回连成功:

启动回连时注册表发生变化:

启动回连时,新建了5206.exe应用,可以看见它启用了许多DLL文件:

启动回连时开放端口发生变化,如下图所示,因为本地木马5206.exe会连接远程端口443,所以先关闭了443端口,再开放了443端口:

Step3:kali中对win7靶机进行屏幕截图,win7下再次快照,保存为Snapshot #5
截屏时注册表发生了一些变化:

wireshark抓包分析

回连成功:

设置IP过滤格式:ip.src192.168.199.128 or ip.dst192.168.199.128如下图所示,捕捉到了靶机回连kali时通过TCP的三次握手协议过程:

二、回答问题

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
应该监控注册表、使用端口信息等
利用软件对这些方面进行监控
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
可以使用SysTracer工具进行查看对注册表的修改情况以及端口使用情况。

三、实验总结与体会

通过本次实验,我使用了一些工具软件来监控程序,了解到它们具体使用情况,包括端口、联网信息等等,恶意代码分析主要是分析它们的行为,这次实验通过静态、动态分析的综合应用基本可以确认一个代码的行为,以后我们可以对怀疑的程序自己进行排查,决定是否查杀。

posted on 2017-04-05 16:38  20145206邹京儒  阅读(185)  评论(0编辑  收藏  举报