2017-2018-2 20155225《网络对抗技术》实验四 恶意代码分析

系统运行监控

使用计划任务

先在网上找了篇博客学习一下如何使用schtasks命令。

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:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

Netstat命令详解(windows下)

image

schtasks /end /tn 20155225netstat // 结束定时任务
schtasks /delete /tn 20155225netstat // 结束定时任务

最后发现如下这些应用进程和服务:

image

  • 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工具

  1. 首先写配置文件

怎么写配置文件,参考微软官方文档Sysmon v7.01,里面有用法和例子。

要求监控系统的进程创建文件创建网络连接,如下:
image

<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,进行安装:

安装时出现了一个错误:

image

提示说,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>

修改之后,成功安装。

image

然后去查看日志,通过dos命令eventvwr.exe进入事件查看器,在日志在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational下,可以看到sysmon监控到的各种记录。

image

分析几个具体事件:

  1. 进程终止事件,这是一个关闭QQ的记录
    image

  2. 网络连接监控事件,这是一个火狐浏览器访问117.122.217.19的记录,可以看到这是一个https连接,访问的443端口。
    image

  3. 进程创建事件,这是我创建计划任务的记录,因为配置文件里我指定监控了父进程,所以可以看到父进程是cmd。
    image

恶意软件分析

用systracer工具,抓取后门植入后回连时获取截屏时获取击键记录时,四个阶段的快照如下:

image

对比快照一和快照二,发现以下变化:

  1. HKEY_CURRENT_USER这个根键保存了当前登录的用户信息。这个根键下Key_HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count下有五个值发生了变化。分别是
  • HRZR_PGYFRFFVBA(REG_BINARY)
  • P:\Hfref\Nqzvavfgengbe.CP-20170223YQRU\Qrfxgbc\evire.rkr(REG_BINARY)
  • Zvpebfbsg.Jvaqbjf.Furyy.EhaQvnybt(REG_BINARY)
  • pzq.rkr(REG_BINARY)
  • FlfGenpre.rkr(REG_BINARY)

可以看到修改了三个rkr文件,rkr文件就是windows下的exe文件,是微软采取的顺序加密算法加密的结果。而且这5个值都是REG_BINARY类型的。

image

  1. Key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Reliability Analysis\RAC\ 可靠性分析

  2. Key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\ 联网列表

  3. Key_HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Tencent\QQPCMgr\QMDL\ 腾讯的软件

  4. Key HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ 系统控制

  5. Key HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\ 系统服务

  6. Key HKEY_USERS\QMConfig\
    Key HKEY_USERS\S-1-5-21-2845182390-1485456730-4082423690-500\ 配置

对比快照二和快照三,变化少了很多,只有两个点:

  1. Key HKEY_USERS\S-1-5-21-2845182390-1485456730-4082423690-500\Software\Microsoft\Windows\CurrentVersion\Explorer\

image

  1. Key_HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\ 用户帮助键

image

对比快照三和快照四,多了一些控制键的改变,毕竟截屏和控制键没关系,而获取击键记录就需要一些控制设置了。

image

用wireshark抓包分析一下呢。

可以看到,我的控制端IP是192.168.226.129,靶机IP是192.168.226.135,首先是DHCP服务分配了靶机IP地址,然后是回连控制端,建立了TCP连接,之后我使用dir命令,查看了靶机的当前目录,传输了很多数据过来,如下图所示:

image

问题回答

3.1实验后回答问题

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

监控的操作肯定要跟恶意代码的特征行为相关的啦,但是有一些恶意代码共性的行为,比如修改注册表,连接远程控制端等等,先监控这些共性特征,再分析具体行为后,再缩小监控范围。

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

已经确定某个进程有问题之后,就需要利用各种恶意代码分析工具了。比如systracer。

实验总结与体会

这次实验第一感觉就是信息太多,特别考验我们的信息处理能力,特别是在分析注册表修改的时候,一个点进去又会扯出很多问题,深刻感觉自己知识的缺乏,很多内容看不懂,还需要继续探究学习。

posted on 2018-04-12 20:32  20155225江智宇  阅读(808)  评论(0编辑  收藏  举报