实验要求

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 恶意代码分析的更多相关文章

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

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

  2. 20145226夏艺华 网络对抗技术EXP4 恶意代码分析

    20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...

  3. 20155302《网络对抗》Exp4 恶意代码分析

    20155302<网络对抗>Exp4 恶意代码分析 实验要求 •是监控你自己系统的运行状态,看有没有可疑的程序在运行. •是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工 ...

  4. 20145208 蔡野 《网络对抗》Exp4 恶意代码分析

    20145208 蔡野 <网络对抗>Exp4 恶意代码分析 问题回答 总结一下监控一个系统通常需要监控什么.用什么来监控. 监控一个系统通常需要监控这个系统的注册表,进程,端口,服务还有文 ...

  5. 20145215《网络对抗》Exp4 恶意代码分析

    20145215<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...

  6. 20155227《网络对抗》Exp4 恶意代码分析

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

  7. 20155232《网络对抗》Exp4 恶意代码分析

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

  8. 20155239 《网络对抗》Exp4 恶意代码分析

    20155239 <网络对抗>Exp4 恶意代码分析 使用schtasks指令监控系统运行 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到nets ...

  9. 20155304《网络对抗》Exp4 恶意代码分析

    20155304<网络对抗>Exp4 恶意代码分析 实践内容 1.系统运行监控 1.1使用schtasks指令监控系统运行 我们在C盘根目录下建立一个netstatlog.bat的文本文件 ...

  10. 20155308《网络对抗》Exp4 恶意代码分析

    20155308<网络对抗>Exp4 恶意代码分析 实践说明 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件: ...

随机推荐

  1. Java基础——数组

    一.大数据 如果基本的整型和浮点型精度不能够满足需求,那么可以使用java.math包含中的两个类:BigInteger和BigDecimal. 这两个类处理包含任意长度数字序列的数值.BigInte ...

  2. 最新版本Bootstrap样式很奇怪(4.1版本)

    下载最新版4.1版的Bootstrap编译好的CSS,引入的样式及其怪异. 这种情况重新下载3.3.7低版本就可以了.

  3. javascript如何获取URL参数的值

    function getUrlParameter(strParame){ var args = new Object( ); var query = location.search.substring ...

  4. Codeforces292D(SummerTrainingDay06-L 前缀并查集)

    D. Connected Components time limit per test:2 seconds memory limit per test:256 megabytes input:stan ...

  5. javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException PK

    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building f ...

  6. promise的理解和应用

    老铁们,我又满血复活了,今天我准备来吹一波我对promise,如有错吴请直接指出,明白了吗?话不多说开始吧 首先我们需要知道啥叫promise,我问了问大佬,他说这个东西是 异步操作的同步代码(but ...

  7. HTTP 协议入门-笔记

    原文参考http://mp.weixin.qq.com/s/czx0AHaItrJ-c49XDboIUg  HTTP是基于TCP/IP协议的应用层协议,规定了客户端和服务端之间的通信格式,默认使用80 ...

  8. 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)

    最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...

  9. MyBatis与JDBC连接数据库所使用的url之间的差异

    在Windows7 系统上安装了MySQL 8.0,然后创建Maven工程,配置pom.xml文件,添加了如下依赖: <dependency> <groupId>org.myb ...

  10. 防范跨站脚本攻击(XXS)的关键手段

    1:加强对提交信息和页面显示信息的过滤,让非法提交内容无处施展: 2:让存储在cookie中的sessionid 无法被js 读取到. 如今的xss 相比网上很多资料中,在技术上已经发生了很大变化.由 ...