2019-2020-2 20175322周弋鸿 《网络对抗技术》Exp4 恶意代码分析

目录

  • 一、实践目标与内容

    • 1.实践目标
    • 2.实践内容
  • 二、实践步骤
    • 1.使用schtasks指令监控系统
    • 2.使用sysmon工具监控系统
    • 3.恶意软件分析
  • 三、实践报告
    • 1.遇到的问题
    • 2.基础问题回答
    • 3.实验感想

一、实践目标与内容

1.实践目标

  • 监控你自己系统的运行状态,看有没有可疑的程序在运行
  • 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件
  • 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质

2.实践内容

  • 系统运行监控

    • 使用如计划任务每隔一分钟记录电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。目标:找出所有连网的程序的连接和操作,这个操作是否合适合理,并有针对性的抓包做进一步的分析
    • 安装配置sysinternals中的sysmon工具,设置合理的配置文件,监控主机的重点是可疑行为
  • 恶意软件分析
    • 分析该软件在启动回连,安装到目标机及其他任意操作时(如进程迁移或抓屏),该后门软件:

      • 读取、添加、删除了哪些注册表项
      • 读取、添加、删除了哪些文件
      • 连接了哪些外部IP,传输了什么数据(抓包分析)

二、实践步骤

1.使用schtasks指令监控系统

  • 使用schtasks指令添加计划任务nestat5322,命令中的参数分别为:

    • TN是TaskName的缩写,我们创建的计划任务名是netstat5322
    • sc表示计时方式,我们以分钟计时填MINUTE
    • TR是Task Run,要运行的指令是netstat
    • bnb表示显示可执行文件名,n表示以数字来显示IP和端口
    • >表示输出重定向,将输出存放在c:\netstatlog.txt文件中

  • 在C盘中创建一个名为netstat5322.bat的脚本文件,写入以下内容:
date /t >> c:\netstat5322.txt
time /t >> c:\netstat5322.txt
netstat -bn >> c:\netstat5322.txt
  • 开任务计划程序,可以看到新创建的这个任务

  • 双击此任务,点击操作->编辑,将程序或脚本改为我们创建的netstat5322.bat文件,点击确定

  • 常规中勾选不管用户是否登录都要运行使用最高权限运行

  • 等待脚本执行(保持开机联网状态),我等待了两个多小时,可以在netstat5322.txt文件中查看到这段时间内的联网记录
  • 参考学姐的博客将存储的数据导入到excel表中进行整理,得到图表:

  • 从图表中我们可以看出,联网最多的程序有360浏览器、腾讯课堂(上网课时把程序挂着的)和几个系统进程(我没想到win10的Contanar进程没使用时也在联网)等。总体来讲,没有发现什么可疑的程序

2.使用sysmon工具监控系统

  • 下载老师的资源并解压
  • 因为系统是64位的系统所以选择Sysmon64.exe,右键属性详细信息查看产品版本(老师这个有点问题,显示4.12,配置文件要写成3.10才能成功)

  • SysinternalsSuite201608所在目录下创建sysmon20175322.xml,以文本文档方式打开输入代码保存并退出,配置文件如下:
<Sysmon schemaversion="3.10">
  <!-- 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>
    </ProcessCreate>

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

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

    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.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">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>
  • exclude相当于白名单,不用记录。include相当于黑名单。onmatch意为匹配
  • ProcessCreate表示进程创建
  • NetworkConnect是网络连接
  • FileCrete Time是进程创建时间
  • 以管理员身份运行CMDSysmon64.exe目录下执行ysmon64.exe -i sysmon20175322.xml

  • 打开计算机管理,查看事件查看器,在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational中,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别以及详细信息

3.恶意软件分析

  • 使用恶意软件(实验二中的后门程序进行回连),以日志信息和Wireshark捕包信息分析系统进程规律
  • Kali系统与Windows系统Ping通时的ICMP包:

  • MSF反弹连接时的TCP包:

  • dir查看磁盘中后门程序目录下的文件,日志没有更新:

  • 使用webcam_snap进行图片抓取:

wireshark看到有大量数据包传输,可以判断有DATA数据在传输

日志更新了4条,可以看出是虚拟机在调用

  • screenshot截屏,日志更新三条:

从事件属性来看应该是后门程序调用了系统程序进行截屏

  • 使用getuid进行提权操作,日志更新了2条:

SearchFilterHost.exe是桌面搜索引擎的索引程序,主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录

总的来看,在没有针对性地绕过Sysmon监控的情况下,Sysmon也不能完全监控到恶意软件的攻击行为

  • 下载SysTracer并安装(老师资源中同样有)
  • 输入相应端口:

  • 可以根据实际情况只勾选相应的内容以精简分析过程,我没有分盘所以全选

  • 点击右侧的take snapshot,存储快照:

    • 快照一(Snapshot #1):未移植后门程序时
    • 快照二(Snapshot #2):成功回连后
    • 快照三(Snapshot #3):执行MSF相关的操作后
    • 快照四(Snapshot #4):结束回连后
  • 在回连成功后,即快照二中,可以在Running Processes里找到植入的后门程序,并且查看端口号及两端IP:

  • 点击右下角的compare或者View Differences Lists比对各快照
  • 比较#1#2,可以发现加入了大量的注册表值还有相关的进程,可以看到SysTracer程序和虚拟机正在运行:

  • 同时增删了许多的文件,主要都是dll文件:

  • 能够找到运行中的后门程序,查看到的相应IP和相应端口可以知道回连成功:

  • 比较#2#3,没有发现特别明显的相关变化,有一些增删变化:

  • 比较#3#4,相关的进程、文件和键值都有删除:

  • 其他静态分析:

    • 使用PEiD分析恶意软件:
    • PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档的加壳类型和签名
    • 查看加了压缩壳的后门文件:

    • 查看加了加密壳的后门文件:

    • 可以看出,加了压缩壳的后门文件是可以检测出来的,但加了加密壳的后门文件是无法检测出来的
    • 使用VirusTotal检查恶意代码,可以查看MD5、SHA-1、文件类型、文件大小、加壳方式等相关信息:
DETALS

Basic Properties
MD5	eacc284432b24fc3124b446d1a1a4f83
SHA-1	8f4b847e68a7ad96be2cdeff769f73f90b4eb565
SHA-256	ea3ce855bdb1a187b716f730780f8f2239674c03aefb0fa3370274b91c261362
Vhash	01504d0d765d1bz3!z
Authentihash	044e10494d5bd57b239ab605f76809356707af45bd2701701c6d5d8981029507
Imphash	17a4bd9c95f2898add97f309fc6f9bcd
SSDEEP	3072:r85ys92PW2UZp5VR+Dm0aW/MGqvGQQQt:6yTQBVROm0aW/MD7
File type	Win32 EXE
Magic	PE32 executable for MS Windows (GUI) Intel 80386 32-bit
File size	113.50 KB (116224 bytes)

History
Creation Time	2020-03-31 07:05:50
First Submission	2020-03-31 07:39:54
Last Submission	2020-03-31 07:39:54
Last Analysis	2020-03-31 07:39:54

Names
zyh_upxed_Hyperion.exe

Portable Executable Info
Header
Target Machine	Intel 386 or later processors and compatible processors
Compilation Timestamp	2020-03-31 07:05:50
Entry Point	439788
Contained Sections	4

Sections
Name	Virtual Address	Virtual Size	Raw Size	Entropy	MD5
.bss	4096	319488	0	0	d41d8cd98f00b204e9800998ecf8427e
.data	323584	99872	100352	7.99	c5a811b729b12a4315252ff04f82d4fb
.text	425984	14057	14336	5.17	0db3da594560fbdee7cab4ec727c9f7b
.idata	442368	136	512	1.29	260d24d41289a4ffd343ab548a3e76cc

Imports
KERNEL32.DLL

ExifTool File Metadata
CodeSize	14336
EntryPoint	0x6b5ec
FileType	Win32 EXE
FileTypeExtension	exe
ImageFileCharacteristics	No relocs, Executable, No line numbers, No symbols, 32-bit
ImageVersion	0.0
InitializedDataSize	100864
LinkerVersion	1.71
MIMEType	application/octet-stream
MachineType	Intel 386 or later, and compatibles
OSVersion	1.0
PEType	PE32
Subsystem	Windows GUI
SubsystemVersion	4.0
TimeStamp	2020:03:31 08:05:50+01:00
UninitializedDataSize	0

三、实践报告

1.遇到的问题

  • 1.老师资源中给的sysmon程序安装时显示出错,显示版本与实际不符:

  • 解决方案:修改配置文件第一行标签为3.10,再次安装。
  • 2.以管理员身份运行CMD时,无法转换到放在桌面的sysmon64.exe程序文件夹。
  • 解决方案:网上查询后,windows系统下使用命令cd /d %userprofile%\desktop可以转移到桌面:

  • 3.将文本导入excel时,使用的是Power Query编辑器,没有找到连续分隔符号视为单个处理选项,以空格为分隔符会产生多列空白列。
  • 解决方案:网上查询无果后,选择主页->替换值,将两个空格、三个等等依次替换为一个空格,再进行分隔符分列。

2.基础问题回答

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

    答:使用schtasks定时监听,一段时间后统计数据;使用Sysmon编写配置文件监视相应的进程情况,记录相关的日志文件分析疑似恶意代码;使用Systracer进行快照对几次系统状态进行比较,系统是否有有可疑的增删注册表行为。

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

    答:使用wireshark进行捕包分析,查看它连接到了哪些IP、与外部进行了哪些通信;使用Systracer进行分析,查看其对注册表、文件和进程内容的修改;使用VirusTotal(对一些非官方渠道下载的软件)进行检查。

3.实验感想

  • 通过本次实验,我学会了如何让计算机周期性执行一个任务,生成事件日志的并利用excel对数据加以分析。通过参考一些学长学姐的报告,对查出来陌生文件、进程或是注册表有了一些了解,但还有很多需要在网上逐一查询。这个结果让我明白自己对计算机知识还是相当匮乏,今后需要继续学习。通过自己动手实践,对恶意代码有了初步的理解。

原文地址:https://www.cnblogs.com/zyh5322/p/12704506.html

时间: 04-15

2019-2020-2 20175322周弋鸿 《网络对抗技术》Exp4 恶意代码分析的相关文章

20145239杜文超《网络对抗技术》- 恶意代码分析

20145239杜文超<网络对抗技术>- 恶意代码分析 实验后回答问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (1)使用计划任务schtasks指令动态监控系统运行 (2)使用sysmon工具动态监控系统运行 2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. (1)使用systracer工具进行快照分析注册表信息.文件行为等信息的变化 (2)把程序放在vir

20145225唐振远《网络对抗》Exp4 恶意代码分析

20145225唐振远<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放.注册表信息等等: 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件便可以查看: 使用Process Explorer工具,监视进程执行情况,查

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

20155317<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 我首先会选择看任务管理器,查看系统下有什么进程,都在干些什么,不懂得就去网上搜索相关关键词. 我会开启360安全卫士,利用360监控是否有恶意程序. 2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. 利用Process Explorer去分析进程在连接什么地址

20145207李祉昂《网络对抗技术》恶意代码分析

实验内容 schtasks.Sysmon对电脑进行系统检测,并分析. 对恶意软件进行静态分析,直接上传到网上,或者利用peid等软件. 对恶意软件进行动态分析,使用systracer,以及wireshark分析. 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. schtasks,Sysmon监控 (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. wi

20145235李涛《网络对抗技术》- 恶意代码分析

基础问答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 可以通过计划任务,来建立一个定时更新的日志来查看 通过sysmon来监控. 通过Process Explorer工具,查看是否有程序调用了异常的dll库 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. 可以通过抓包工具,进行分析. 通过systracer工具分析某个程序执行前后,计算机注册表.文件.端口的一些变化情况.

2015306 白皎 《网络攻防》Exp4 恶意代码分析

2015306 白皎 <网络攻防>Exp4 恶意代码分析 netstat [Mac.Linux.Win] sysinteral [MS]:1 2 3 一.系统监控--Windows计划任务schtasks 1.创建计划任务,使系统每5分钟自动检测到哪些有哪些程序在连接我们的网络. 注:任务将创建于当前登录的用户名文件夹下. C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\

20155334 《网络攻防》Exp4 恶意代码分析

<网络攻防>Exp4 恶意代码分析 一.实验问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 可以使用工具监测系统,之后进行下一步分析. 在windows下建立一个监测本机连接ip地址的任务计划程序. 通过sysmon监控重要操作,并找到日志查看. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. PEiD工具,可以查看程序有没有被常用的加壳软件加壳. PE expl

2019-2020-2 20175310奚晨妍《网络对抗技术》Exp4 恶意代码分析

目录 1 基础知识 1.1 恶意代码的概念与分类 1.2 恶意代码的分析方法 1.3 实践目标 2 实践内容及步骤 2.1 系统运行监控 2.1.1 Windows计划任务schtasks 2.1.2 sysmon 2.2 恶意软件分析 2.2.1 静态分析 2.2.2 动态分析 3 实验中遇到的问题 3.1 实验二生成的后门文件一直不能成功回连 3.2 实验中需要用到的软件 4 问题回答 4.1 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下

20175322 周弋鸿 2018-2019-2 《Java程序设计》第八周学习总结

20175322 周弋鸿 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 泛型类 泛型(Generics)是在JDK1.5中推出的,其主要目的是可以建立具有类型安全的集合框架 可以使用"class 名称"声明一个泛型类,泛型列表中可以是任何接口或对象,但不能是基本数据类型 泛型类声明和创建对象时,类名后多了一对"<>",而且必须要用具体的类型替换"<>"中的泛型 泛型类中的泛型变量

2018-2019 20165208 网络对抗 Exp4 恶意代码分析

目录 2018-2019 20165208 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) 报告评分(1分) 基础问题回答 实践过程记录 1. 系统运行监控--计划任务 2. 系统运行监控--利用Sysmon 3. 恶意软件分析-- virscan网站 4. 恶意软件分析--Threatbook 5. 恶意软件分析--Systracer 实验中遇到的问题及解决方法 实验感想 2018-2019 20165208 网络对抗 Exp4 恶意代码分析 实验内