2017-2018-2 20155225《网络对抗技术》实验四 恶意代码分析
系统运行监控
使用计划任务
先在网上找了篇博客学习一下如何使用schtasks命令。
我们需要用到的参数如下:
schtasks /create /tn TaskName /tr TaskRun /sc MINUTE [/mo {1 - 365}]
/tn TaskName
指定任务的名称。
/tr TaskRun
指定任务运行的程序或命令。
/sc schedule
指定计划类型,有效值MINUTE表示指定计划的单位时间为分钟。
/mo modifier
指定任务在其计划类型内的运行频率,默认值为1。
为了记录日期和时间,需要用到bat批处理文件
又学习了一下如何写批处理文件dos 命名大全 .bat文件的写法
批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令
>、>>二者都是输出重定向命。
>命令在清除掉原有文件中的内容后才把新的内容写入原文件
>>命令会另起一行把新的内容追加到原文件中。
time,显示和设置DOS的系统时间。[格式] time [hh[:mm[:ss[.cc]]]
date,显示和设置DOS的系统日期。[格式] date [MM-DD-YY]
netstat,显示与IP 、TCP 、UDP 和ICMP 协议相关的统计数据
-b显示包含于创建每个连接或监听端口的可执行组件
-n以数字形式显示地址和端口号。
所以,最后bat文件如下:
date /t >> c:
etstatlog.txt
time /t >> c:
etstatlog.txt
netstat -bn >> c:
etstatlog.txt
schtasks /end /tn 20155225netstat // 结束定时任务
schtasks /delete /tn 20155225netstat // 结束定时任务
最后发现如下这些应用进程和服务:
-
kbasesrv.exe是,金山WPS Office内置静默自动安装的,劫持主页。
-
HaozipSvc.exe网上说这是好压暗装的挖矿进程,难道我的电脑被利用来挖矿了?
-
SGPicFaceTool这是搜狗输入法表情辅助工具,据说有bug。
-
svchost.exe这个系统进程总是在不停的下载数据。以为是中毒,其实这只是微软的一个服务而已,作用是使用空闲的宽带在后台传送文件。
-
taskhost.exe进程是Windows7/8/10自带的一个进程,负责Windows运行计划任务。
-
发现有wuauserv这个进程,网上有人说wuauserv.exe
进程文件是病毒,也有人说wuauserv是window update自动更新服务。 -
diagtrack是诊断跟踪服务,用于收集Windows组件的功能性问题数据。
使用sysmon工具
- 首先写配置文件
怎么写配置文件,参考微软官方文档Sysmon v7.01,里面有用法和例子。
要求监控系统的进程创建、文件创建、网络连接,如下:
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude"> //监控除microsoft和windows签名的进程创建。
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</ProcessCreate>
<FileCreateTime onmatch="include"> //监控cmd创建文件的时间
<Image condition="end with">cmd.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="include"> //监控火狐和IE浏览器的网络连接
<Image condition="end with">firefox.exe</Image> //火狐浏览器
<Image condition="end with">iexplorer.exe</Image> //IE浏览器
</NetworkConnect>
</EventFiltering>
</Sysmon>
2.写好配置文件后,用指令Sysmon.exe -i C:Sysmoncfg.txt,进行安装:
安装时出现了一个错误:
提示说,ProcessCreate里的Signature是意外元素,并且要求是其他一些与进程创建相关的元素,修改为监控由cmd作为父进程创建的进程,如下。
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="include"> //监控由cmd作为父进程创建的进程。
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate>
<FileCreateTime onmatch="include"> //监控cmd创建文件的时间
<Image condition="end with">cmd.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="include"> //监控火狐和IE浏览器的网络连接
<Image condition="end with">firefox.exe</Image> //火狐浏览器
<Image condition="end with">iexplorer.exe</Image> //IE浏览器
</NetworkConnect>
</EventFiltering>
</Sysmon>
修改之后,成功安装。
然后去查看日志,通过dos命令eventvwr.exe进入事件查看器,在日志在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational下,可以看到sysmon监控到的各种记录。
分析几个具体事件:
-
进程终止事件,这是一个关闭QQ的记录
-
网络连接监控事件,这是一个火狐浏览器访问117.122.217.19的记录,可以看到这是一个https连接,访问的443端口。
-
进程创建事件,这是我创建计划任务的记录,因为配置文件里我指定监控了父进程,所以可以看到父进程是cmd。
恶意软件分析
用systracer工具,抓取后门植入后,回连时,获取截屏时,获取击键记录时,四个阶段的快照如下:
对比快照一和快照二,发现以下变化:
- HKEY_CURRENT_USER这个根键保存了当前登录的用户信息。这个根键下Key_HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssist{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}Count下有五个值发生了变化。分别是
- HRZR_PGYFRFFVBA(REG_BINARY)
- P:HfrefNqzvavfgengbe.CP-20170223YQRUQrfxgbcevire.rkr(REG_BINARY)
- Zvpebfbsg.Jvaqbjf.Furyy.EhaQvnybt(REG_BINARY)
- pzq.rkr(REG_BINARY)
- FlfGenpre.rkr(REG_BINARY)
可以看到修改了三个rkr文件,rkr文件就是windows下的exe文件,是微软采取的顺序加密算法加密的结果。而且这5个值都是REG_BINARY类型的。
-
Key HKEY_LOCAL_MACHINESOFTWAREMicrosoftReliability AnalysisRAC 可靠性分析
-
Key HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles 联网列表
-
Key_HKEY_LOCAL_MACHINESOFTWAREWow6432NodeTencentQQPCMgrQMDL 腾讯的软件
-
Key HKEY_LOCAL_MACHINESYSTEMControlSet001Control 系统控制
-
Key HKEY_LOCAL_MACHINESYSTEMControlSet001services 系统服务
-
Key HKEY_USERSQMConfig
Key HKEY_USERSS-1-5-21-2845182390-1485456730-4082423690-500 配置
对比快照二和快照三,变化少了很多,只有两个点:
- Key HKEY_USERSS-1-5-21-2845182390-1485456730-4082423690-500SoftwareMicrosoftWindowsCurrentVersionExplorer
- Key_HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssist 用户帮助键
对比快照三和快照四,多了一些控制键的改变,毕竟截屏和控制键没关系,而获取击键记录就需要一些控制设置了。
用wireshark抓包分析一下呢。
可以看到,我的控制端IP是192.168.226.129,靶机IP是192.168.226.135,首先是DHCP服务分配了靶机IP地址,然后是回连控制端,建立了TCP连接,之后我使用dir命令,查看了靶机的当前目录,传输了很多数据过来,如下图所示:
问题回答
3.1实验后回答问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
监控的操作肯定要跟恶意代码的特征行为相关的啦,但是有一些恶意代码共性的行为,比如修改注册表,连接远程控制端等等,先监控这些共性特征,再分析具体行为后,再缩小监控范围。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
已经确定某个进程有问题之后,就需要利用各种恶意代码分析工具了。比如systracer。
实验总结与体会
这次实验第一感觉就是信息太多,特别考验我们的信息处理能力,特别是在分析注册表修改的时候,一个点进去又会扯出很多问题,深刻感觉自己知识的缺乏,很多内容看不懂,还需要继续探究学习。