20155232《网络对抗》Exp4 恶意代码分析
20155232《网络对抗》Exp4 恶意代码分析
1.实践目标
1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。
1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
使用schtasks指令监控系统运行
- 每5分钟记录一下有哪些程序在连接网络,输入以下命令,每五分钟就会监测哪些程序在使用网络,并把结果记录在netstatlog.txt文档里,但是不显示记录的时间和日期,这可能不便于我们判断,要是想显示日期和时间,我们可以通过bat批处理文件来实现。
schtasks /create /TN 20155232netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
- 在C盘要目录下建一个文件netstatlog.bat
下面是如何建立一个.bat文件(批处理文件)的过程:
- 首先创建一个.txt文档并且将内容输入进去:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
- 然后将文件另存为并且将名字修改为以.bat为后缀的名称,将保存类型改为所有文件。
-
最后将此文件移到c盘根目录下:
-
双击运行,打开控制面板->任务计划程序,找到我们的任务
- 双击点开,找到操作,点击所有项里的属性选项,击详细信息,修改txt为bat。
- 点击确定.可以看到记录文件netstatlog.txt中的记录有了日期和时间(每五分钟记录一次)
出现在上面的我都查了一下是什么东东!
本机ip:
使用excel工具将之前创建的文本文件导入数据,设置使用分隔符号 ,并勾选全部分隔符号。
对进程使用透视图:
查看外部网络连接:
做成一个条形图更为清晰:
使用sysmon工具监控系统运行
sysmon工具先要配置文件,一开始我直接用的是老师给的配置文件稍作修改:
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<NetworkConnect onmatch="exclude">
<Image condition="end with">WeChat.exe</Image>
<Image condition="end with">360se.exe</Image>
<SourcePort condition="is">137</SourcePort>
</NetworkConnect>
<CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
问题
在cmd中输入安装指令提示错误信息
解决
在安装这个软件的过程中需要以管理员身份运行,在win10中点击
选中以管理员身份运行
在安装过程中出现,输入安装指令
Sysmon.exe -i C:\Sysmoncfg.txt
对sysmon进行安装:
出现错误提示
发现我的配置文件和Sysmon.exe在同一个文件夹中所以不需要加路径。
注意如果配置文件与sysmon.exe不在同一目录,需要输入配置文件的目录!!
安装成功~~:
启动sysmon之后可以在"运行"窗口输入eventvwr命令。打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。
打开感兴趣的是事件进行分析:
-
这个是事件3:运行有道云笔记在写博客哈哈哈啊~
-
事件一是进程创建,在网上搜索了一下是个什么进程
- 运行360浏览器:
-
运行vm上的虚拟机:
-
还找到了启动的自己制作的后门程序:
-
这个是在cmd中使用命令打开了Windows事件管理器
使用virscan分析恶意软件
- 在virscan网站上查看上次实验所做的后门软件的文件行为分析:
点进去文件信息不知道为什么什么都没有????
于是打开英文那个版本的试验一波~
好像也分析不出来什么呀。。。。。~就是文件的一些基本信息。。。
使用systracer工具分析恶意软件
安装好systracer后进行快照,分别进行三次快照
- 未安装后门
- 植入后门后进行回连
- 回连之后使用dir命令
进行了三次系统快照,结果如下:
对比1.2两种:
第一种情况下搜所不到我的后门软件:
将恶意软件植入到目标主机后,可以通过快照发现文件中多了一个20155232.exe文件,
第三种情况:启动回连时,新建了20145236_backdoor.exe应用,可以看见它启用了许多DLL文件
再观察可以看到 本地地址是我windows的地址,而远程地址是植入后门的虚拟机的ip地址,端口号是当时设置的5232:
使用wireshark抓包分析
我用wireshark捕获了我的某个后门程序回连时的数据。
这个是我的虚拟机IP和主机IP建立TCP连接抓的包:
虚拟机ip是192.168.128.133
主机ip是192.168.128.1
这里显示了目的端口号是我的学号~:5232
先进行了TCP的三次握手,之后再进行数据的传输,
如下图带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包:
通过
netstat -n
看到5232端口已经打开,并且可以看到主机和虚拟机的ip地址:
使用PE explorer
我们使用PEexplorer打开我们的后门程序,界面如下:
可以看到程序的一些数据:
我觉得在pe这个软件比较偏向于程序内部的分析,而且更多的是静态的分析,没有动态的分析更为透彻,更为全面。
实验后问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
可以通过查看网络连接、端口使用情况进行分析。
还有本次实验中学到的隔一个固定时间运行一次控制台的netstat命令。
通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
启动程序,利用systracer及wireshark动态分析程序的执行过程。
还可以使用process explorer工具,查看该进程的网络连接情况,以及线程、执行等信息。
实验总结与体会
这次实验主要是需要学会看懂各个监控,分析工具中数据的代表意义,从而分析和判断恶意程序,实验本身不难,主要就是分析有难度,所以需要继续加强对恶意代码各种类的特点进行学习,从而能够更容易发现系统中所存在的一些异常行为,才能将理论运用在现实中嘛~哈哈