20145328 《网络对抗技术》恶意代码分析
------看到这句话说明还没写完--------
实践内容:
- 使用schtasks指令监控系统运行
- 使用sysmon工具监控系统运行
- 使用virscan分析恶意软件
- 使用systracer工具分析恶意软件
- 使用wireshark分析恶意软件回连情况
- 使用Process Monitor分析恶意软件
- 使用Process Explorer分析恶意软件
- 使用PEiD分析恶意软件
基础问题回答
(1) 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 监控的方式还是挺多的,使用Win自带的Schtasks指令可以设置一个计划任务来记录主机的程序联网等情况
- 通过sysmon工具,配置自己想要记录的文件,然后通过事件查看器查看日志
(2) 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用Wireshark进行抓包分析,查看该程序联网时进行了哪些操作;
- 使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。
- 使用Process Explorer工具,对可疑的程序进行分析,查看其从一些dll中调用的函数来猜测程序功能。
实验总结与体会
- 这次是开学到现在完成时间最长的实践,拖了这么长时间并不是因为实践内容有多难,而是因为本次实践内容基本上都是一些分析的东西,相对来说就枯燥很多了,特别是对着屏幕上一大堆数据的时候整个人都快疯了。但实际上静下心来慢慢梳理,还是比较简单的,因为数据相似性很高,把一些经常出现的重复项去掉,分析起来就方便了很多。但是还存在一个问题就是可能你分析了半天发现电脑里好像一切正常,但可能只是恰好电脑里的恶意软件没有搞事情而已,越说心越累
实践过程记录
使用schtasks指令监控系统运行
-
打开Windows下命令提示符,输入指令C:schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c: etstatlog.txt"指令创建一个每隔五分钟记录计算机联网情况的任务:
-
在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
-
再打开计划任务将其中每5分钟执行的指令从"cmd /c netstat -bn > c: etstatlog.txt"替换为“c: etstatlog.bat”,打开C: etstatlog.txt:
-
时隔一天,netstatlog.txt文件已经达到两百多K了,里面的记录内容也是相当的长,图中可以看到记录内有显示我的浏览器正处于联网的状态
-
中间开启过一次上次实验所做的后门软件进行回连,但在该指令记录之前就已经关闭了,因此文档中并没有找到,说明也不能完全的就信任该指令对于系统运行的监控记录,有可能我的系统里面确实是存在恶意软件的,只是刚好在监控进行记录的时候它没有搞事情,这样一来就不会被记录在案了,解决方法只能是减小记录时间的间隔,但这样一来所带来的的问题就是需要分析的数据内容会随着记录时间间隔减小而增多
使用sysmon工具监控系统运行
-
sysmon微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使用sysmon工具先要配置文件,直接用的老师给的配置文件,这里虽然是复制粘贴就行了但还是要注意xml配置文件是大小写敏感的,在对配置进行修改的时候要注意:
-
配置好文件之后,要先使用Sysmon.exe -i C:Sysmoncfg.xml指令对sysmon进行安装:
-
启动之后,便可以到事件查看器里查看相应的日志,比如这个事件是之前做计划任务时所创建的
-
例如下面的事件是在实践过程中截图时创建文件:
使用virscan分析恶意软件
-
在virscan网站上查看上次实验所做的后门软件的文件行为分析:
-
可以看到其启动回连主机的部分IP地址以及端口号,还有对注册表键值进行了删除:
-
还有反调试和创建事件对象的行为:
-
如图是计算机病毒课程中需要分析的示例软件中的dll文件在Virscan.org上的文件行为分析:
使用systracer工具分析恶意软件
使用wireshark分析恶意软件回连情况
使用Process Monitor分析恶意软件
使用Process Explorer分析恶意软件
使用PEiD分析恶意软件
- 使用PEiD软件可以查看恶意软件的壳的相关信息,以及其所使用的编译器版本,这里所查看的两个软件是计算机病毒课程中老师所给的示例软件,我们可以很直接的看见在图中是直接显示了软件所使用的编译语言,因此这两个软件是无壳的