20145215《网络对抗》Exp4 恶意代码分析

20145215《网络对抗》Exp4 恶意代码分析

基础问题回答

  1. 若是在工做中怀疑一台主机上有恶意代码,但只是猜测,全部想监控下系统一每天的到底在干些什么。请设计下你想监控的操做有哪些,用什么方法来监控。
    • 使用Windows自带的schtasks指令设置一个计划任务,指定每隔必定时间记录主机的联网记录或者是端口开放、注册表信息等等;
    • 经过sysmon工具,配置好想记录事件的文件,以后在事件查看器里找到相关日志文件即可以查看;
    • 使用Process Explorer工具,监视进程执行状况,查看是否有程序调用了异常的dll库之类的。
  2. 若是已经肯定是某个程序或进程有问题,你有什么工具能够进一步获得它的哪些信息。
    • 使用Wireshark进行抓包分析,查看该程序联网时进行了哪些操做;
    • 使用systracer工具分析某个程序执行先后,计算机注册表、文件、端口的一些变化状况。

实践内容

目录

使用schtasks指令监控系统运行

  1. 先在C盘目录下创建一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  1. 打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"指令建立一个每隔两分钟记录计算机联网状况的任务:
    html

  2. 以后查看一下netstatlog.txt文件,大部分都是正常联网的应用,一开始不知道LMS.exe是用来干吗的,后面百度了一下,是英特尔本地管理服务的一个进程:
    chrome

  3. 隔了一天以后,再次查看了这一天当中记录的主机联网日志,没有发现什么异常,除了当时打开后门软件回连时reverse.exe程序的联网记录:
    shell

使用sysmon工具监控系统运行

  1. sysmon微软Sysinternals套件中的一个工具,能够从码云项目的附件里进行下载,要使用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">chrome.exe</Image>
      <Image condition="end with">iexplorer.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>
  1. 配置好文件以后,要先使用Sysmon.exe -i C:\Sysmoncfg.txt指令对sysmon进行安装:
    windows

  2. 启动以后,即可以到事件查看器里查看相应的日志:
    api

  3. 我查看了其中一部分事件的详细信息,好比这个事件是以前作计划任务时所建立的:
    浏览器

  4. 例以下面的事件是搜狗浏览器对文件的建立时间进行了更改,应该也就是更新:
    安全

  5. 还有以前reverse.exe程序运行时所建立的事件:
    网络

  6. 以后,我对Sysmoncfg.txt配置文件进行了修改,重点是监视80和443端口的联网状况,没有发现什么异常状况,关于配置文件的编写能够参考使用轻量级工具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">SogouExplorer.exe</Image>
    </NetworkConnect>
 
    <NetworkConnect onmatch="include">     
      <DestinationPort condition="is">80</DestinationPort>      
      <DestinationPort condition="is">443</DestinationPort>    
    </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>

使用virscan分析恶意软件

  1. virscan网站上查看上次实验所作的后门软件的文件行为分析:
    函数

  2. 能够看到其启动回连主机的部分IP地址以及端口号,还有对注册表键值进行了删除:
    工具

  3. 还有反调试和建立事件对象的行为:

使用systracer工具分析恶意软件

  1. 使用systracer工具创建了5个快照,分别是在主机中没有恶意软件时、将恶意软件植入到目标主机中后、恶意软件启动回连时、恶意软件执行dir命令进行查看时以及使用恶意软件获取目标主机的摄像头时:

  2. 将恶意软件植入到目标主机后,能够经过快照发现文件中多了一个reverse.exe文件,恶意软件启动回连时,能够查看到其所创建的TCP链接以及其打开的句柄:

  3. 执行dir命令时,恶意软件较于以前的操做好像并无作太多更改,可是在获取主机摄像头时,能够发现,它对注册表信息进行了修改,而且也新增了不少个句柄:

使用wireshark分析恶意软件回连状况

  1. 在恶意软件进行回连操做时,在Windows主机上用netstat命令能够查看TCP链接的状况,其中就有后门程序reverse.exe所创建的TCP链接:

  2. 使用wireshark进行抓包后能够看到,其先进行了TCP的三次握手,以后再进行数据的传输,如图所示,带有PSH,ACK的包传送的即是执行相关操做指令时所传输的数据包:

使用Process Monitor分析恶意软件

  1. 使用Windows XP系统上的Process Monitor对恶意软件进行分析时能够看到不少Explorer.exe进程,应该是恶意软件对其进程进行的假装:

使用Process Explorer分析恶意软件

  1. 使用Process Explorer对恶意软件进行分析时能够看到启动回连时在运行的后门程序:

  2. 点开查看其详情会发现远程主机的IP地址和端口号:

  3. 以及其调用的advapi32.dll库,该库中所包含的函数与对象的安全性,注册表的操控以及事件日志有关:

使用PEiD分析恶意软件

  1. 使用PEiD软件能够查看恶意软件的壳的相关信息,以及其所使用的编译器版本:

实验总结与体会

  • 随着这几回实验对恶意代码的分析,能够看出目前的恶意代码愈来愈有隐蔽性,不少时候单纯靠杀软已经不能实现对恶意代码的查杀了,这也就要求咱们要学会利用一些工具来对系统中的软件进行监控并分析。此次的实验即是很好的一个例子,虽然目前我并无发现个人计算机里存在着什么可疑的程序,可是这并不表明系统里不存在恶意代码,可能只是它隐藏的更深,更难被发觉,以后我也会继续增强对恶意代码各类类的特色进行学习,从而可以更容易发现系统中所存在的一些异常行为。
相关文章
相关标签/搜索