您的位置:首页 > 理论基础 > 计算机网络

20145301赵嘉鑫《网络对抗》——恶意代码分析

2017-04-02 22:38 253 查看

20145301赵嘉鑫《网络对抗》——恶意代码分析

1.实验后回答问题

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。需要监控什么。

需要监控系统中各种程序、进程、文件的行为变化以及相应的权限。监控注册表的变化。监控端口的开发使用情况,是否有程序使用了不常用的端口。

可以使用Windows自带的schtasks指令设置计划任务,每隔一定时间记录主机的联网记录或者是端口开放、注册表信息;也可以使用Process Explorer监视进程情况。还可以对监控中发现的可疑软件进行静态分析。

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

可以上传至“VirScan”类似网站来借助各种引擎来看其是否可疑,并可以查看文件行为分析。

使用TCPview监控系统中的使用TCP连接的进程;可以使用wireshark进行抓包分析;使用Dependency Walker来分析是否有关于注册表的异常行为等;使用PEiD查看可疑软件是否加壳,采用的什么编译方式; 使用PE explorer或PE Browser professional来反汇编可疑的软件,进行分析。

2.实验总结与体会

这次的对恶意代码进行分析的内容与选修的病毒课有一部分内容交叉,在静态分析环节已经有了一定的经验,动态分析还是第一次。所谓动态分析,是要首先建立在对计算机进行监控分析的基础上。是我们进行防范的主要有效手段,但需要我们付出较大的开销与精力。恶意程序总是隐藏在我们众多的正常程序之中,并且大多已经进行了伪装,比如加上更多正常的行为。当然通过种种工具可以大大降低我们的工作量,但仍需要我们的耐心与细致,才能发现恶意程序留下蛛丝马迹并逐渐剥茧抽丝,最后发现真相。

通过这次实践,我们可以自主的对一个软件、程序、文件做出自己的分析与判断,不必过度依赖在上次试验中已经被我们证明了的十分脆弱的杀软。在下载来源不明的软件时,我们可以将其先放入虚拟机中进行分析,等判断其行为安全时,再在主机上进行解压安装。

3.实践过程记录

恶意代码的静态分析

通过VirScan进行扫描



查看“文件行为分析”,根据扫描结果得知,该文件有网络连接的行为,自行删除注册表键值的行为。

Dependency Walker

Dependency Walker 可以查看PE模块的导入和导出函数并可以知道其相应的功能。我们从中可以发现,该可执行文件可以对注册表的确进行了增删操作,还可以对文件进行复制和创建,还有网络连接的功能



PE explorer

PE explorer可以用查看PE文件编译的一些基本信息,导入导出表等,还可以看到该文件的编译时间、链接器等基本信息。在“导入表”中,可以查看该文件调用的dll文件库。





可以看到PE文件头的信息、文件的编译时间为2009年、链接器的版本号为6.0

WSOCK32.dll和WS2_32.dll,是用来创建套接字的。说明这个程序存在网络连接的功能。ADVAPI32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与注册表的操控以及事件日志都有关。

PEiD

PEiD是一款著名的查壳工具,恶意代码为了伪装自己,其中一种常用方式就是加壳,通过加壳来免杀,结果如下:




还可以查看反汇编后

没有发现,说明PEid未能识别该程序怎么进行编译的,查看详细信息发现可能是用了压缩壳工具。

系统运行监控

TCPView

该工具可以实时查看正在联网的进程,通过查看每个进程的联网通信状态,初步判断其行为,并发现可疑程序。





使用计划任务schtasks

我们进入计算机-管理-任务计划,创建一个任务计划,命名为netstat5301;触发器我们选择每天每隔3分钟执行一次



在C盘中创建一个netstatlog.bat文件



如上内容意在让我们的网络记录可以显示我们连接的网络的时间和日期信息

将任务计划的操作选项栏的启动程序设为netstatlog.bat,参数为
>>c:\5301\netstat5301.txt
,这样我们的网络记录信息就会保存到netstat5301.txt



记录如下,发现可疑程序



Sysmon

在Sysmon.exe同目录下建立文件:test5301.txt,并输入老师指导书中给的XML

以管理员身份运行CMD,输入指令:Sysmon.exe -i test5301.xml,进行安装



输入指令:Sysmon.exe -c test5301.xml,进行配置



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



从上图分析可看出,zealjx.exe存在联网行为,并在ie并未打开的情况,伪装ie联网。

恶意代码的动态分析

SysTracer

步骤如下:

准备两台虚拟机,kali攻击机,Win7靶机,SysTracer分析软件 进行快照,保存为Snapshot #1

打开攻击机msfconsle,开放监听;win7下对注册表、文件、应用情况进行快照,保存为Snapshot #2

win10下打开木马5221.exe,回连kali,win7下再次快照,保存为Snapshot #3

kali中通过msf发送文件给win7靶机,win10下再次快照,保存为Snapshot #4

kali中对win7靶机进行屏幕截图,win10下再次快照,保存为Snapshot #5 通过比较每次快照文件的区别,来判断相应的变化

结果分析



回连时注册表变化



启动回连时,新建了zealjx.exe应用。恶意软件启动回连时,可以查看到其所建立的TCP连接以及其打开的句柄:





通过msf发送文件到到目标机时,文件内容监控发现多了个文件,以及端口使用上的变化







截屏、录音时,网络连接和注册表只有很少变动,依然增加了大量句柄。



wireshark

设置IP过滤格式:ip.src==192.168.1.105 or ip.dst==192.168.1.105

捕捉到了靶机回连kali时通过TCP的三次握手协议过程



捕捉到了靶机kali向虚拟机win7发送文件的数据包

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