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中生成后门软件: ...
随机推荐
- 一.JDK版本切换批处理脚本
我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:
- Failed to unregister the JMX name: org.apache.commons.dbcp2:name=xxx,type=BasicDataSource
把datesource的bean的class由 org.apache.commons.dbcp2.BasicDataSource 改成 org.apache.tomcat.dbcp.dbcp.Basi ...
- Java - LinkedList源码分析
java提高篇(二二)---LinkedList 一.概述 LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList ...
- Java - fail-fast机制
Java提高篇(三四)-----fail-fast机制 在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList: 注意,迭代器的快速失败行为无法得到保证,因为一般来说 ...
- MySQL设计之三范式的理解
转自:https://blog.csdn.net/wangqyoho/article/details/52900585 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要 ...
- 【 js 基础 】【 源码学习 】源码设计 (更新了backbone分析)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析 第二部分:unders ...
- avalonjs 实现简单购物车
因为最近有在做购物车,然后我们是用avalon来实现一些模块的,所以顺其自然的用avalon来实现购物车,目前发现avalon还是比较强大的,大大的节约了代码量. 购物车一般具备的功能是加减数量.选择 ...
- web界面 之 登录 (初稿)
web登录一般注意以下几点: 1)拥有元素:用户名,密码(密码字符显示与隐藏功能),登录按钮,忘记密码链接(忘记用户名链接),注册链接 2)用户体验: •页面显示,光标默认停在第一个输入框 利用htm ...
- ubuntu 搭建samba共享方案
1.samba服务安装搭建 sudo apt-get install samba sudo vim /etc/samba/smb.conf workgroup = szsoft 设置用户密码登陆方式s ...
- 【转】vs2010打开qt的.pro文件时错误解决办法
注意:qt creator工程中一般都已经存在*.pro文件,里面存放着一些自己配置的包含头文件和lib库文的信息,最好不要再重新使用qmake -project生成,若重新生成,则可能要重新增加配置 ...