2018-2019-2 20165331《网络对抗技术》Exp4 恶意代码分析

2018-2019-2 20165331《网络对抗技术》Exp4 恶意代码分析

实验收获与感想

本次实验相较于之前的实验繁琐程度较小,难度也不算很高,主要内容就是了解可以通过哪些方式在一个不确定是否被植入恶意代码的主机上进行监控以及学会使用各种工具对恶意代码进行分析(比如查看数据流向的地址、哪些文件被修改等等)。不过本次实验也有很多收获,比如学会了多种多种对恶意代码行为进行监控以及分析的工具的使用方法。

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

可以通过使用windows自带的schtasks指令设置计划任务;使用Sysmon,编写配置文件,记录有关的系统日志;使用systracer对不同时刻的系统快照进行分析等方式对系统的网络连接、进程、系统日志、注册表项等进行监控。

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

可以使用wireshark进行抓包分析从而获取恶意程序与主机的通信

实验流程

Ⅰ使用schtasks指令监控系统

(1)首先建立计划任务,在Windows命令行中输入schtasks /create /TN netstat5331 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt",表名创建一个名称为netstat5331、每隔一分钟运行一次、输出重定向到netstatlog.txt的计划任务

0

(2)然后在C盘中创建一个netstat5331.bat文本文档,在其中输入

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

然后使用“另存为”将该.txt文件以.bat批处理文件形式保存

(3)之后在计划任务项中编辑netstat5331,选中“操作”一栏,将“程序或脚本”改为上面创建的批处理文件,并将“添加参数”一栏置空(图中未置空,导致输出文件netstatlog.txt中为无意义数据,之后进行了改正),一路确定保存

1

(4)可以打开netstatlog.txt文件看到输出结果

2

(5)通过将存储的数据通过excel表进行整理,可以进行统计

3

Ⅱ使用sysmon工具监控系统

(1)首先下载sysmon,解压缩后在Windows命令行中进入sysmon文件夹,输入命令sysmon -accepteula -i -n以自动安装sysmon,下图为安装成功例子

附:sysmon命令格式为:sysmon.exe -* 。“*”号可替换为各种参数,如-c更新或显示配置;-h指定hash记录的算法;-i安装,可用xml文件来更新配置文件;-l记录加载模块,可指定进程;-m安装事件清单;-n记录网络链接;-r检测证书是否撤销;-u卸载服务和驱动

4

(2)之后编辑.xml配置文件,注意修改版本号,并添加自己想要监控的事件。.xml文件的创建方法类似于上文提到的.bat文件

附:可选择的事件过滤器有ProcessCreate 进程创建;FileCreateTime 进程创建时间;NetworkConnect 网络链接;ProcessTermina 进程结束;DriverLoad 驱动加载;ImageLoad 镜像加载;CreateRemoteTh 远程线程创建;RawAccessRead 驱动器读取;ProcessAccess 进程访问;FileCreate 文件创建;RegistryEvent 注册表事件;FileCreateStre 文件流创建

<Sysmon schemaversion="9.01">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <ProcessCreate onmatch="exclude">     
      <Image condition="end with">chrome.exe</Image> 
      <Image condition="end with">firefox.exe</Image>
    </ProcessCreate>

    <ProcessCreate onmatch="include"> 
      <ParentImage condition="end with">cmd.exe</ParentImage>
    </ProcessCreate>

    <FileCreateTime onmatch="exclude" >
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">firefox.exe</Image>
    </FileCreateTime>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">firefox.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </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">firefox.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

5

(3)在Windows10系统下,右键开始菜单并选择事件查看器,顺序选择应用程序和服务日志->Microsoft->Windows->Sysmon->Operational,就可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等

6

(4)之后打开kali,在Windows系统下运行后门文件回连kali(步骤同前几次实验)

7

(5)刷新事件查看器,查找即可找到本次回连事件,并可以从详细信息中得知后门映像文件的具体位置、源IP和端口、目的IP和端口等信息

8

Ⅲ使用systracer分析恶意软件

(1)首先下载并安装Systracer软件,在安装界面的此步骤选第二个选项

9

(2)在此步骤选择并更改端口号为5331

10

(3)安装完成后打开,选择“Take snapshot”选项生成一份系统当前状态快照Snapshot #1

11

(4)之后打开kali,在Windows系统下运行后门文件回连kali,并在回连完成后使用与上述步骤相同的方式生成一份系统当前状态快照Snapshot #2

12

(5)点击systracer界面右下角的“Compare”选项,对两个快照进行比较,在上方选项卡里可以选择比较注册表情况、链接情况等,发生变动的地方以蓝色标出,并且可以查看到反弹链接的目的IP、端口等信息

13

14

15

原文地址:https://www.cnblogs.com/violence/p/10666609.html