实践目标

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

  • 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

  • 1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

实践内容

  • 2.1系统运行监控
  • (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
  • (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
  • 2.2恶意软件分析(1.5分)
  • (1)启动回连
  • (2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。
  • (3)读取、添加、删除了哪些注册表项
  • (4)读取、添加、删除了哪些文件
  • (5)连接了哪些外部IP,传输了什么数据(抓包分析)

1. 系统运行监控——计划任务

创建计划任务,使系统每1分钟自动检测到有哪些程序在连接我们的网络。

 schtasks /create /TN  /sc MINUTE /MO  /TR "cmd /c netstat -bn > e:\20164305.txt"
  • TN:Task Name,本例中是netstat
  • SC: SChedule type,本例中是MINUTE,以分钟来计时
  • MO: MOdifier
  • TR: Task Run,要运行的指令是 netstat
  • -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

在E盘根目录下新建20164305.bat(重命名更改类型),用于计时

 date /t >>e:\.txt
time /t >>e:\.txt
netstat -bn >>e:\.txt

控制面板->系统与安全->管理工具->任务计划程序,修改 计划属性

  • 一定要使用最高权限运行,否则则会出现请求不成功的情况

选择刚才编辑好的脚本,添加到设置中

一段时间后,记录得到数据(实际上1个小时,电脑没电了自己关机了)

对获得的数据进行分析

发现TCP和360使用网络情况较多,对svhost比较好奇,然后就去查了一下

然后又去搜索了一下Microsoft.Photos.exe

emmm有点慌。。。一会去研究研究能不能了解了它

2. 系统运行监控——利用Sysmon

安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

  • 写配置文件

写与自己想要监控的事件相对应的配置文件。编写20164305.xml,内容如下:

 <Sysmon schemaversion="4.00">
<!-- 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</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourcePort condition="is"></SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</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>

安装Sysmon, .\sysmon.exe -i e:\.xml (win10中要加.\否则会报错)

在控制面板->系统与安全->管理工具->事件查看器->应用程序和服务日志-> Microsoft -> Windows -> sysmon -> Operational中找到日志

然后筛选日志信息,并导出查看

  • 利用Sysmon具体分析日志

这里我选择了自己实验二中生成的后门20164305_backdoor.exe进行分析

  • 先进行回连

  • 然后输入查看目录的命令

  • 然后利用wireshark进行分析

可以看到,其先进行了TCP的三次握手,之后再进行数据的传输。

3.恶意软件分析

  • 网站上查看后门程序的行为分析。

可以看出这个后门程序是利用upx加壳的恶意代码,但功能未知

  • 利用软件分析exe

首先是恶意软件,返回加壳结果

然后对一个安全软件进行检测,发现什么都没发现o(╥﹏╥)o

  • 利用wireshark对恶意软件执行过程进行分析

与前面步骤相同,使用回连程序进行回连

然后监听整个后门过程,对其TCP连接过程进行分析

  • 前一部分为Linux使用mns启动过程所用的网络连接

  • 然后与虚拟机端口(Windows主机)进行tcp三次握手

  • 然后进行指令调用等操作。

试验后回答问题

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

    • 利用sysmon工具,配置好想要监控的端口、注册表信息、网络连接等信息,通过其生成的日志文件进行查看
    • 利用wireshark查看数据包,TCPview也可以,但是没那么全面
    • 利用systracer进行快照,比照注册表、文件等信息
    • 利用Process monitor、Process Explorer
  • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息?
    • 同样采用以上工具,用wireshark查看数据包,systracer进行快照的对比(注册表、文件等),peid查看是否加壳,Process Explorer查看调用的程序库、dll库等

实验总结与体会

杀软有助于普通用户对自己的电脑进行监控,就像图形化界面对于不熟练运用命令行的用户使用方便相同,利用检测工具能从最原始的角度发现系统情况与问题,而不是简单依靠杀软来维护系统安。

20164305 徐广皓 Exp4 恶意代码分析的更多相关文章

  1. 2017-2018-2 20155314《网络对抗技术》Exp4 恶意代码分析

    2017-2018-2 20155314<网络对抗技术>Exp4 恶意代码分析 目录 实验要求 实验内容 实验环境 基础问题回答 预备知识 实验步骤 1 静态分析 1.1 使用virsca ...

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

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

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

    Exp4 恶意代码分析 目录 一.实验目标 (1)监控你自己系统的运行状态,看有没有可疑的程序在运行. (2)分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sys ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [File] to set object on [TF.Log.FileAppender]

    难受,香菇. 大概研究了两个多小时,搜了很多资料都没有很完美的答案,最后突然脑子就一闪一闪,才弄明白咋回事. log4net:ERROR XmlHierarchyConfigurator: Canno ...

  2. ckeditor django admin 中使用

    ckeditor settings配置 ############ # CKEDITOR # ############ MEDIA_ROOT = os.path.join(BASE_DIR, 'medi ...

  3. 揽货最短路径解决方案算法 - V2(增加了时间维度-客户允许的服务时间段,C#/JAVA同步实现,带python作图)

    继上篇,这里改进增加了客户允许服务的时间范围这个维度,并且把C#版本翻译成java,加强了更加形象的图表展示路径(继续是用python的matplotlib作图). 这里的时间范围维度是指:每个客户都 ...

  4. springmvc上传文件错误The current request is not a multipart request

    <1>在jsp页面的<head></head>标签里面加上<meta http-equiv="Content-Type" content= ...

  5. C++中endl和cout语句

    cout是什么?它是一个对象,它代表着计算器的显示器屏幕. 在c++里,信息的输出显示可以通过使用cout和左向‘流’操作符(<<)来完成 这个操作符表面了从一个值到控制台的数据流向! c ...

  6. MyBaits集合的嵌套 Select 查询

    ---恢复内容开始--- <resultMap id="slist" type="com.qujiali.model.AdShareInfo"> & ...

  7. php扩展之Yar

    Yar 是一个轻量级, 高效的RPC框架, 它提供了一种简单方法来让PHP项目之间可以互相远程调用对方的本地方法. 并且Yar也提供了并行调用的能力. 可以支持同时调用多个远程服务的方法. 情况: 有 ...

  8. CMDB(Configuration Management Database)资产管理系统和 运维自动化

    一.传统运维方式和自动化运维的区别 二.CMDB的介绍 三.CMDB的四种方式 四.项目的目录架构介绍以及配置文件的升级编写 五.比较low的项目架构书写 六.可插拔式收集资产 七.对收集的服务器信息 ...

  9. springmvc的前端控制器

    <servlet> <servlet-name>xxx</servlet-name> <servlet-class>org.springframewor ...

  10. git 远程新建分支后,本地查看不到

    使用以下命令同步 git remote # 列出所有远程主机git remote update origin --prune # 更新远程主机origin 整理分支git branch -r # 列出 ...