一、实践目标

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

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

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

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

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

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

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

导入数据:

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

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

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

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

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

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

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

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

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

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

上网查了一些IP:

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

(二)使用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"></DestinationPort>
<DestinationPort condition="is"></DestinationPort>
<DestinationPort condition="is"></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,执行命令

接着输入命令:

sysmon.exe -i c:\sysmon20164314.xml

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

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

安装成功如下:

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

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

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

查找事件

找到事件

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

(三)恶意软件分析

(1)静态分析

使用VirusTotal分析恶意软件

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

  • 加壳情况

(2)动态分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 进程中增加了这些

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

四、实验后回答问题

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

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

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

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

五、实验感想

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

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

Exp4 恶意代码分析 20164314的更多相关文章

  1. 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...

  2. 2018-2019 20165237网络对抗 Exp4 恶意代码分析

    2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...

  3. 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析

    2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...

  4. 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析

    - 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...

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

    Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...

  6. 2018-2019 20165235 网络对抗 Exp4 恶意代码分析

    2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...

  7. 2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析

    目录 Exp4 恶意代码分析 一.基础问题 问题1: 问题2: 二.系统监控 1. 系统命令监控 2. 使用Windows系统工具集sysmon监控系统状态 三.恶意软件分析 1. virustota ...

  8. 20155312 张竞予 Exp4 恶意代码分析

    Exp4 恶意代码分析 目录 基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (2)如果 ...

  9. 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311

    2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...

随机推荐

  1. MySQL存储引擎简单介绍

    MySQL使用的是插件式存储引擎. 主要包含存储引擎有:MyISAM,Innodb,NDB Cluster,Maria.Falcon,Memory,Archive.Merge.Federated. 当 ...

  2. 【转】分享JavaScript监听全部Ajax请求事件的方法

    若Ajax请求是由jQuery的$.ajax发起的,默认情况下可以使用 jQuery的Global Ajax Event Handlers监听到Ajax事件,然而我遇到的却是用原生JavaScript ...

  3. P1090 合并果子 题解

    那么,我们开始吧, 堆 堆是一个完全二叉树,而且是每层都有规律的二叉树 规律大概是: 小根堆:最上层数的大小最小,往下每层结点都比父亲结点大,比两个儿子结点小 大根堆:最上层数的大小最大,往下每层结点 ...

  4. 毕业设计(4):基于MicroPython的超声波倒车雷达系统

    前言 倒车雷达是汽车驻车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员驻车.倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊 ...

  5. [解读REST] 2.REST用来干什么的?

    衔接上文[解读REST] 1.REST的起源,介绍了REST的诞生背景.每当笔者遇到一个新事物的想去了解的时候,总是会问上自己第一个问题,这个新事物是干什么用的?在解释我所理解的REST这个过程中也不 ...

  6. windows环境中JDK环境变量配置

    一.环境准备 Windows10 jdk-9.0.1 二.下载并安装JDK 到Java的官网下载JDK安装包,地址:http://www.oracle.com/technetwork/java/jav ...

  7. VMware Workstation 14安装VMware Tools

    1 单击虚拟机,选择安装VMware Tools 2 此时会在桌面出现VWware Tools 3 双击进入 4 把*.tar.gz压缩文件cp到/home下 5 sudo tar -zvxf  *. ...

  8. laravel 开启定时任务需要操作

    1.在xshell 中 crontab -e //编辑任务crontab -l //查看执行中的任务列表 2.在打开的任务中: /home/wwwroot/default 换为自己项目的根路径 vag ...

  9. 小程序 canvas画本 地图片

    ctx.drawImage('../../../../page/home/resources/pic/che_logo.png', 10, 435, 50,50); 本地图片要根路径

  10. springboot实现简单的文件上传

    承接上一篇,这里记录一下简单的springboot文件上传的方式 首先,springboot简单文件上传不需要添加额外的jar包和配置 这里贴一下后端controller层的实现代码 补一份前台的HT ...