一、实践目标

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

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

二、实践内容

 1.系统运行监控

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

  参考:schtask与sysmon应用指导

 2.恶意软件分析

  • 分析恶意软件在(1)启动回连,(2)安装到目标机,(3)及其他任意操作时
  • 读取、添加、删除了哪些注册表项
  • 读取、添加、删除了哪些文件
  • 连接了哪些外部IP,传输了什么数据(抓包分析)

三、实践过程与步骤

(一)系统运行监控

1)输入命令:

schtasks /create /TN netstat4314 /sc MINUTE /MO 2 /TR "cmd /c netstat -bn > c:\netstat4314.txt"

实现每2分钟记录一下有哪些程序在连接网络

(忘记截图了···)

其中,TN是TaskName的缩写,这里计划任务名是netstat5330;sc表示计时方式,以分钟计时填MINUTE;TR=Task Run,要运行的指令是netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。

(2)在C盘要目录下建一个文件c:\netstat4314.bat(可以先在桌面新建txt文本文件,使用记事本写入后在修改后缀为.bat,复制到C盘中),写入内容如下:

 date /t >> c:\netstat4314.txt
 time /t >> c:\netstat4314.txt
 netstat -bn >> c:\netstat4314.txt

Exp4 恶意代码分析 20164314 随笔 第1张

(3)通过“Windows->控制面板->管理工具->任务计划程序”,找到我的任务

Exp4 恶意代码分析 20164314 随笔 第2张

(4)双击这个任务,点击操作-编辑,将其中的程序或脚本改为我们创建的netstat4314.bat批处理文件,参数可选项为空,点击确定。

Exp4 恶意代码分析 20164314 随笔 第3张

注意一定要勾选使用最高权限运行,否则可能导致文件不能自主更新或者记录里出现权限问题)

Exp4 恶意代码分析 20164314 随笔 第4张

(5)打开记录文件netstatlog.txt记事本,可以看到每隔2分钟记录并且能够显示日期和时间

Exp4 恶意代码分析 20164314 随笔 第5张

 (6)统计分析数据(两小时的数据信息)

   导入数据:

  • 数据选项卡-获取外部数据-来自文本,选择文本netstatlog.txt
  • 在 数据类型 中选择 分隔符号
  • 导入过程中选择分隔符号,分隔符号都选上,列数据格式选择常规,完成导入

 Exp4 恶意代码分析 20164314 随笔 第6张

选择一部分数据,使用数据透视工具分析得到直观的数据透视图

 第一个选取了程序接入网络的次数:

Exp4 恶意代码分析 20164314 随笔 第7张Exp4 恶意代码分析 20164314 随笔 第8张

上网查询了解了以下几个联网次数较多和我不熟悉的进程:

 dlna_player.exe应该是音乐播放器的程序;

 upc.exe应该是uplay平台的一个程序;

 sesvc.exe是360浏览器的广告程序;

 svchost.exe 是从动态链接库(DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。

 第二个选取了程序接入网络的IP:

 

 

 

Exp4 恶意代码分析 20164314 随笔 第9张

看到最多的是127.0.0.1即本机地址,后来经查询得知,127.0.0.1是绑定在loopback接口上的地址没如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。

上网查了一些IP:

Exp4 恶意代码分析 20164314 随笔 第10张

 Exp4 恶意代码分析 20164314 随笔 第11张

Exp4 恶意代码分析 20164314 随笔 第12张

不知道这个美国的IP是个什么情况·······

 Exp4 恶意代码分析 20164314 随笔 第13张

(二)使用Sysmon工具

  Sysmon是微软Sysinternals套件中的一个工具,首先进入微软官网下载sysmon(下好后我把文件放到了D盘)

1)确定监控目标为网络连接。

2)配置文件:

<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.exe</Image>
</NetworkConnect>

<NetworkConnect onmatch="include">     
  <DestinationPort condition="is">80</DestinationPort>      
  <DestinationPort condition="is">443</DestinationPort>
  <DestinationPort condition="is">4314</DestinationPort>    
</NetworkConnect>

<FileCreateTime onmatch="exclude" >
      <Image condition="end with">chrome.exe</Image>
</FileCreateTime>

<ProcessCreate onmatch="exclude" >
      <Image condition="end with">chrome.exe</Image>
</ProcessCreate>

<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>

 相关释义:

  • exclude相当于白名单,不用记录。include相当于黑名单。
  • Image condition这里要根据自己的情况更改,这里写“chrome.exe”和“360tray.exe”就是不记录由浏览器和360安全卫士创建的进程。
  • 进程创建时间类似。
  • 网略连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。
  • 137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。
  • 127.0.0.1表示本机IP。
  • 远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。
  • explorer.exe是Windows程序管理器或者文件资源管理器
  • svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
  • winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
  • powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

 (3)把配置文件放入c盘;

 (4)以管理员身份运行cmd,执行命令

Exp4 恶意代码分析 20164314 随笔 第14张

接着输入命令:

sysmon.exe -i c:\sysmon20164314.xml

Exp4 恶意代码分析 20164314 随笔 第15张

提示版本不同,将“20164314.xml”文件中 <Sysmon schemaversion="3.10"> 改为 <Sysmon schemaversion="4.20"> 

Exp4 恶意代码分析 20164314 随笔 第16张

输入上一步中的命令,执行,此时会弹出一个窗口,点击agree;

安装成功如下:

 Exp4 恶意代码分析 20164314 随笔 第17张

(5)在事件查看器里查看日志

  依次点开应用程序和服务日志→Microsoft→Windows→Sysmon→Operational。

 Exp4 恶意代码分析 20164314 随笔 第18张

(6)分析实验二生成的后门程序,按步骤进行回连

 Exp4 恶意代码分析 20164314 随笔 第19张

查找事件

Exp4 恶意代码分析 20164314 随笔 第20张

找到事件

 Exp4 恶意代码分析 20164314 随笔 第21张

打开详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等

 Exp4 恶意代码分析 20164314 随笔 第22张

(三)恶意软件分析

 (1)静态分析

   使用VirusTotal分析恶意软件

  • 将实验三中生成的加壳后门在VirusTotal进行扫描Exp4 恶意代码分析 20164314 随笔 第23张
  • 查看这个恶意代码的基本属性:可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果Exp4 恶意代码分析 20164314 随笔 第24张
  • 算法库支持Exp4 恶意代码分析 20164314 随笔 第25张

  • 加壳情况Exp4 恶意代码分析 20164314 随笔 第26张

   (2)动态分析

     安装SysTracer工具,监听端口选择4314

Exp4 恶意代码分析 20164314 随笔 第27张

     使用SysTracer工具动态分析我是在两台虚拟机上进行的,一台是win10虚拟机,一台是Linux的虚拟机

     (1)点击右侧的take snapshot,存储快照

  • 快照一:未移植后门程序,保存为Snapshot #1
  • 快照二:运行后门程序并在kali中实现回连,保存为Snapshot #2
  • 快照三:在kali中使用 dir 指令,保存为Snapshot #3
  • 快照四:在kali中使用 record_mic 指令,保存为Snapshot #4

   Exp4 恶意代码分析 20164314 随笔 第28张

(2)通过右下角的 compare 键或者 View Differences Lists 比对各快照,可以选择 Only Difference 只查看不同的项

  ①对比快照一和快照二(后门启动前与启动后):

Exp4 恶意代码分析 20164314 随笔 第29张

  •   可以看到新增的后门进程,而且可以详细看到其的目的IP和端口号、源IP和端口号以及连接的协议

 Exp4 恶意代码分析 20164314 随笔 第30张

  • 而且该后门程序生成了很多文件、目录和键值

 Exp4 恶意代码分析 20164314 随笔 第31张

  • 在C盘增加了相关的文件

Exp4 恶意代码分析 20164314 随笔 第32张

如上图所示,一些Systracer未授权的地方我们是没法查看的

  •  对HEKY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE和HKEY_USER无法查看

 Exp4 恶意代码分析 20164314 随笔 第33张

②对比快照二和快照三:Linux上执行 dir 指令

 Exp4 恶意代码分析 20164314 随笔 第34张

不是很懂为啥又是查看不了·····(难道因为是虚拟机?)

③ 对比快照三和快照四:Linux上执行 record_mic 指令

  •  新建了很多连接,其中有与后门程序相关的Apache HTTP Server

Exp4 恶意代码分析 20164314 随笔 第35张

  • 进程中增加了这些

Exp4 恶意代码分析 20164314 随笔 第36张

  • 又是不可访问·····

Exp4 恶意代码分析 20164314 随笔 第37张

四、实验后回答问题

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

  • 我认为需要监控端口连接情况,注册表信息,文件信息,我想可以通过设置任务计划定时的,通过启动一个记录系统连接情况的程序实现监控端口连接情况。然后通过使用SysTracer等类似软件,定时拍照,查看注册表信息,文件信息等信息。

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

  • 可以通过火绒剑实时监控这个程序或进程在做的事以及对外的连接,还可以通过SysTracer在执行该进程前后进行拍照,查看端口连接情况,注册表信息,文件信息的变化,还可以通过process monitor查看在该进程启动后执行的具体的操作,还可以将这个程序上传到virscan网站上通过多个杀毒引擎进行判断。

五、实验感想

       在当了多次的“小偷”后,我们这次实验终于到了一次“警察”,对过去自己的所作所为进行分析,知道了不少小却十分方便的工具,也知道了Windows自带的一些很方便的服务。通过这些工具,可以查看“小偷”对我们的电脑做了些什么,从而对“小偷”进行管理。

 ( 就是感觉好多Systracer未授权的地方呀·······

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄