2018-2019-2 20165302 《网络对抗技术》Exp4 恶意代码分析
实验要求
1.监控你自己系统的运行状态,看有没有可疑的程序在运行
2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件
3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质
实验内容
1.系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
2.恶意软件分析
(1)分析该软件,读取、添加、删除了哪些注册表项
(2)分析该软件,读取、添加、删除了哪些文件
(3)分析该软件,连接了哪些外部IP,传输了什么数据(抓包分析)
实验问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用windows计划任务schtasks,每隔几分钟查看联网记录,对数据进行分析
- 使用sysmon工具,通过修改配置文件,记录相关的日志文件
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 可以使用wireshark查看
- 使用systracer工具对恶意软件的信息进行具体分析
实验步骤
1.windows计划任务schtasks
- 在d盘创建一个txt文件,输入以下内容后另存为bat文件
date /t >> d:\20165302.txt
time /t >> d:\20165302.txt
netstat -bn >> d:\20165302.txt
- 输入schtasks /create /TN 20165302netstat /sc MINUTE /MO 1 /TR “d:\20165302.bat”,实现每1分钟记录一下有哪些程序在连接网络

- 通过“Windows->控制面板->管理工具->任务计划程序”,找到我的任务,右键运行

打开记录文件20165302.txt记事本,可以看到每隔1分钟记录并且能够显示日期和时间(一开始没有注意到管理员权限)

以管理员身份运行批处理文件后

- 复制到excel中
导入数据:数据选项卡-获取外部数据-来自文本,选择文本20165302.txt,导入过程中选择分隔符号,分隔符号都选上,列数据格式选择常规,完成导入


2.使用sysmon工具监控系统
- 在官网下载sysmon工具
- 创建配置文件sysmon20165302.txt

- 内容为
<Sysmon schemaversion="4.20">
<!-- 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>
(Sysmon schemaversion要根据sysmon的实际版本修改,我的是4.20)
- 安装sysmon:执行命令sysmon.exe -i D:\sysmon20165302.xml,成功结果如下


- 查看“事件查看器”,选择日志的位置,应用程序和服务日志
/Microsoft/Windows/Sysmon/Operational,在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等。

- 这个配置文件记录的第一个日志就是打开C:\sysmon20165302.xml配置文件

- 利用Sysmon具体分析日志
启动回连、安装到目标主机

找到运行后门文件相对应的日志,打开这个事件,可以看到其属于“NetworkContect”。查看详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等


还发现了上网的浏览记录

运行dir后,我们发现了一个重要的进程

(Svchost.exe是微软视窗操作系统里的一个系统进程,管理通过Dll文件启动服务的其它进程,一些病毒木马伪装成系统dll文件通过Svchost调用它,试图隐藏自己。每个svchost可以同时调用多个dll文件,启动多个服务。)
恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(1)读取、添加、删除了哪些注册表项
(2)读取、添加、删除了哪些文件
(3)连接了哪些外部IP,传输了什么数据(抓包分析)
1.使用VirusTotal分析恶意软件
- 将恶意代码csj_backdoor.exe放在virscan进行分析

- 使用virustotal扫描

- 点击Details可以查看基本属性以及加壳情况:


- 以及该恶意代码的算法库支持情况

2.使用PEiD分析恶意软件
安装好PEiD后,先检测Exp3中未加壳的后门程序

再检测使用UPX加壳后的

3.使用systracer分析恶意软件
安装SysTracer软件

点击右侧的take snapshot,存储快照
- 快照一:未移植后门程序
- 快照二:移植后门程序
- 快照三:运行后门程序并在kali中实现回连
- 快照四:在kali中使用dir指令
- 快照五:在kali中使用record_mic指令


- 通过右下角的compare键或者View Differences Lists比对各快照,进行分析
- 快照一和快照二:增加了我的后门程序,后面还有很多增加或删减的键值,增加或删减的.dll文件

- 快照二和快照三:增加了后门程序并获取了windows桌面权限,还有很多增加或删减的键值,增加或删减的.dll文件

- 快照三和快照四:对key_local_machine根键中的内容进行了修改

- 对比快照四和快照五:

实验体会
通过这次实验我学会了如何对主机进行监控,学会了windows计划程序的使用和sysmon工具的使用,知道了在确定一个可以的文件后如何使用各种软件进行各种分析,学会了使用peid进行加壳分析,使用virscan和virustotal进行数据分析,和wireshark进行抓包分析,通过各种软件的配合才能确保自己电脑的安全,这次实验在以后的生活中也是一个比较实用的技能,总之,通过这次实验我提高了自己的动手能力和对课程的更深层次的理解,毕竟网络对抗就是一门实践课,要在不断实践中获得知识和技能,希望在以后的学习和实践的过程中我可以不断提高自己的各方面能力,学有所得
2018-2019-2 20165302 《网络对抗技术》Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
- 20145226夏艺华 网络对抗技术EXP4 恶意代码分析
20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...
- 20155302《网络对抗》Exp4 恶意代码分析
20155302<网络对抗>Exp4 恶意代码分析 实验要求 •是监控你自己系统的运行状态,看有没有可疑的程序在运行. •是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工 ...
- 20145208 蔡野 《网络对抗》Exp4 恶意代码分析
20145208 蔡野 <网络对抗>Exp4 恶意代码分析 问题回答 总结一下监控一个系统通常需要监控什么.用什么来监控. 监控一个系统通常需要监控这个系统的注册表,进程,端口,服务还有文 ...
- 20145215《网络对抗》Exp4 恶意代码分析
20145215<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...
- 20155227《网络对抗》Exp4 恶意代码分析
20155227<网络对抗>Exp4 恶意代码分析 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分 ...
- 20155232《网络对抗》Exp4 恶意代码分析
20155232<网络对抗>Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 20155239 《网络对抗》Exp4 恶意代码分析
20155239 <网络对抗>Exp4 恶意代码分析 使用schtasks指令监控系统运行 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到nets ...
- 20155304《网络对抗》Exp4 恶意代码分析
20155304<网络对抗>Exp4 恶意代码分析 实践内容 1.系统运行监控 1.1使用schtasks指令监控系统运行 我们在C盘根目录下建立一个netstatlog.bat的文本文件 ...
- 20155308《网络对抗》Exp4 恶意代码分析
20155308<网络对抗>Exp4 恶意代码分析 实践说明 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件: ...
随机推荐
- Java四中引用
在JDK1.2以后将对象应用分为4中,强引用,软引用,弱引用,虚引用,这样的方式可以更加灵活控制对象的声明周期 强引用 String str = "123"; ...
- Mysql替换两个字段的内容(字符串)
问题:用一条sql来替换两个字段的内容 表内容: 待优化sql: update student set name=CONCAT(name,dname),dname=SUBSTR(name FROM ...
- Slickflow.NET 开源工作流引擎基础介绍(七) -- 并行分支多实例模式实现
前言:并行审批是比较常见的流程模式,在工作流模式介绍中,通常是多个分支通过网关(Gateway)来控制实现.默认的分支类型是静态定义好的.本文扩展了并行网关的控制方式,实现了动态多实例的并行分支网关, ...
- Sql Server分页储存过程
--分页储存过程if exists (select * from sys.procedures where name='Page')drop proc Pagegocreate proc Page@P ...
- Angular 实现Bootstrap ScrollSpy控件
Bootstap是基于JQuery开发,Angular中不支持Bootstrap相关事件逻辑.本文基于Typecript开发了一个Angular可用的ScrollSpy控件.Scrollspy控件主要 ...
- Flutter——设置appBar的高度
使用脚手架Scaffold可以设置AppBar,想要设置高度,在AppBar外包一层PreferredSize,设置preferredSize的属性为想要的高度即可. Scaffold( appBar ...
- AndroidKiller报.smali文件丢失问题解决(关闭Android Studio的Instant Run)
第一节编写一个Android程序里我们生成了一个验证激活码的apk,当我们输入的激活码正确时才能注册成功,输入错误时注册失败. 现在我们想输入错误的激活码也能注册.我们用Android反编译工具进行反 ...
- Asp.Net Core混合使用cookie和JwtBearer认证方案
自己有时捣鼓一些小型演示项目,服务端主要是提供Web Api功能.为了便于管理,需要在服务端加一些简单的MVC网页,用管理员身份登录,做一些简单的操作. 因此需要实现一个功能,在一个Asp.Net C ...
- Prometheus Node_exporter 之 Memory Detail Vmstat Counters
Memory Detail Vmstat Counters 1. Memory Page Active type: GraphUnit: shortLabel: PagesActive_anon - ...
- python的函数(一)
摘要: python的函数(一)主要写函数的基础部分. 1,函数的好处 2,函数的定义与调用 1,函数的好处 函数应该有2个好处: 1,是降低代码的复杂度, 2,是减少代码量,避免重复的写相同的代码. ...