20155208徐子涵 Exp4 恶意代码分析

实践目标

1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

实验开始

(说实话,每次开始实验都很激动,觉得自己又要经历一场战争)

实验一:使用Windows计划任务schtasks监控系统运行

  • 这一步我充分吸取了“前人”的经验,首先先写好netstatlog的配置文件,这一步的完成是通过先在C盘根目录下创建一个.txt文件,在里面写入:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 之后再将文件的后缀名改为.bat,这样就写好了配置文件,然后进行任务的创建:

schtasks /create /TN 20155208netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt

  • 指令的解释:

TN:Task Name,本例中是netstat

SC: SChedule type,本例中是MINUTE,以分钟来计时

TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

设置为1分钟更新一次。
创建成功:

  • 打开计划任务,发现我们刚刚创建的任务正在运行:

  • 在C盘打开netstatlog.txt文件,分析一下检测到的东西,发现并没有什么乱来的:

不过在实验过程中出现了一点点问题,就是刚开始运行.bat文件时,会出现拒绝访问的情况,百思不得其解,就是无法自动创建.txt文件,后来发现了解决问题的方式,就是以管理员身份运行cmd之后就可以了(略微有一点小小的成就感)。

  • 觉得检测的差不多了,就在计划任务里将这个任务关掉就可以了。

实验二: Sysmon监控重要操作

  • 先简要介绍一下Sysmon这一工具:
    Sysmon是微软Sysinternals套件中的一个工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。

  • 相同的时间,相同的做法,先写好配置文件:

Sysmon schemaversion="7.01">
  <!-- 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">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </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>

注意你自己下载的是哪个版本的Sysmon需要在配置文件中将版本号对应修改。

  • 然后安装sysmon:sysmon -accepteula –i -n

  • 在命令行下使用sysmon -c 520.xml命令可以对sysmon进行配置指定配置文件(安装时用-i)

好了,配置成功了,我们来看一看进程服务中有没有Sysmon这一服务,果然发现了他:

  • 在计算机管理工具-事件查看器下可以查看日志信息,日志位置在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational下:

在日志信息中我们捕捉到了几个事件,分别是:

  • 事件1:桌面搜索系统:

  • 事件3:office wps后台进程:

  • 然后我们试着打开回连后门,也找到了这一事件:

实验三 virscan网站分析

  • 我把后门程序放到virscan网站上进行分析了一波,分析的信息如下:

  • 具体信息:

实验四 systracer注册表分析

  • 首先先下载systracer,这个软件很小,只有1M多一点,我这次把他安装在了我的windows7虚拟机里。

  • 这次我拍摄了3个快照,分别是正常情况下,运行后门程序和后门回连并执行dir操作和截屏操作情况下:

  • 之后进行比较,将回连之后和正常状况下进行比较,发现了很多变化:

  • 后面的快照我们会发现一个opened ports,可以清晰看到IP以及端口:

实验五 Process Monitor分析

Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。

  • 首先当然还是对软件进行下载了,软件并不大,一会就安装好了。

  • 安装成功,监视情况如图:

  • 还可以查看进程树:

实验后回答问题

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

就可以用 Sysmon监控和监控系统日志的方法,还可以看一看电脑是否有异常的去连接奇怪的IP地址。

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

  • 可以放到virscan网站上扫描一下。
  • 还可以通过快照对比来发现是哪里出现了问题。

实验心得体会

这次的实验是让我们通过个这种各样的工具或者软件去更好的了解自己的电脑在做着什么,有没有自己偷偷摸摸、悄悄咪咪的干一些我们不知道的事情,同时更重要的也是让我们可以更好的保护我们电脑的安全,这次实验自己下载了很多工具,一点一点去学会使用,有一点点小小的成就感唉。