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

实验要求

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

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

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

实验内容

•系统运行监控

使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

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

实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

•恶意软件分析

分析该软件在以下操作时的行为: 启动回连

安装到目标机

及其他任意操作时

该后门软件

读取、添加、删除了哪些注册表项

读取、添加、删除了哪些文件

连接了哪些外部IP,传输了什么数据(抓包分析)

实验过程

1、系统监控——Windows计划任务schtasks

1.首先我们要先在C盘schtasks /create /TN 20155302! /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"建立一个名为20155302!的事件。

TN代表着事件名称

sc表示计时方式

TR代表运行的指令

b表示显示可执行文件名,n表示以数字来显示IP和端口

2.在C盘根目录下建立一个netstatlog.txt文件然后将后缀名修改成为.bat即可。并在其中编辑以下内容:

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

3.之后我们可以在事件查看器中开启事件20155302!并将触发器编辑时间间隔(此处设置每一分钟一检测),再设置操作将程序或脚本设置为netstatlog.bat(切记此处为.bat)



4.好啦,接下来我们就可以在.txt文件中检查到本机所开启的组件和进行的IP,相关的协议等数据,实施每分钟监控,观察是否有某些不良软件偷偷打开!

使用sysmon工具监控系统

1.首先,我们先来了解一下sysmon是什么:

Sysmon是微软Sysinternals套件中的一个工具,能监控几乎所有的重要操作。不过首先,我们要先配置文件。

2.下载老师所给的资源然后对其进行解压文件。

3.创建配置文件Sysmon20155302.xml以下是我根据网上教程修改的配置文件:

<Sysmon schemaversion="3.10">
<!-- 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>
<Image condition="end with">firefox.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
<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">firefox.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread> <ProcessCreate onmatch="include">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">firefox.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">firefox.exe</Image>
</FileCreateTime> <FileCreateTime onmatch="include" >
<TargetFilename condition="end with">.tmp</TargetFilename>
<TargetFilename condition="end with">.exe</TargetFilename>
</FileCreateTime> </EventFiltering>
</Sysmon>

4.先使用Sysmon.exe -i C:\Sysmon20155302.xml开启Sysmon然后再使用Sysmon.exe -c C:\Sysmon20155302.xml,将Sysmon按照修改好的配置文件进行更新。

5.然后我们打开时间管理器,去应用程序和服务日志找到Microsoft选择Windows再选择Sysmon中的Operational打开查看事件

6.然后开启kali虚拟机生成一个后门软件并传入windows系统进行一下回连,看看是否可以从sysmon中找到它。

7.完全ok,成功找到。

8.由于老师要求找到事件含有Event 1,2,3的三个事件即进程创建、进程创建时间、网络连接,所以下拉继续找到含有这三个的事件:

9.通过分析事件ID我们可以发现不同数字代表着有不同含义:

数字1:进程创建。
数字2:进程创建时间。
数字3:网络连接。
数字4:Sysmon服务状态已变更。
数字5:进程已终止。
数字6 :已载入驱动程式。
数字7 :已载入影像。
数字8 :创建远程线程。
数字9 : RawAccessRead。
数字10 :进程访问。
数字11 :文件创建。
数字12 :注册事件(创建和删除对象)。
数字13 :注册事件(值集)。
数字14 :注册事件(键和值重命名)。
数字15 :文件创建流哈希。
数字255 :错误。

10.这是同一个事件的连续事件ID分别为1,2,3的情况,里面记录有这个事件的详细信息比如用户创建时间,所攻击的目标文件名称及路径,连接网络时的网络协议种类等等。





使用VirusTotal分析恶意软件

在kali虚拟机中生成一个加壳的后门程序,将他上传至virusTotal,观察扫描检测结果

这在66个杀毒软件中有50个可以查出来,这个后门可谓做的相当失败了,加壳也并没有什么效果这在上次实验中已经验证过。

然后打开detail查询一下这个恶意代码的细节内容:

•在基本属性里面我们可以看到他的MD5值,SHA-1值,文件类型以及TRiD文件类型识别结果和文件大小等等

•在历史中我们可以看到这个恶意代码的创建时间,以及攻击靶机的时间和结束回连时间等等

•在文件名以及加壳中我们可以清晰地看到上传文件的名称以及加壳的种类和壳的相关内容

•还可以查看算法库支持情况等内容





使用Process Monitor分析恶意软件

1.什么是Process Monitor?

•Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。

2.将Process Monitor软件打开然后再在kali里面生成一个后门程序,然后传入靶机开始回连,这时候观察Process Monitor中是否能检测到它

使用Process Explorer分析恶意软件

1.什么是Process Explorer?

•Process Explorer让使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。Process Explorer最大的特色就是可以中终任何进程,甚至包括系统的关键进程!

Process Explorer 的显示有两个子窗口所组成,窗口上方会显示出当前活跃的程序进程,包括它们的详细描述,窗口下方则会显示出通过资源管理器模式运行的应用程序的相关信息,以及它们所调用的DLL和打开的句柄,该版本可以运行在windows NT/2K/XP/2003系统平台。

2.同样像上一个软件一样,先打开Process Explorer,然后将后门软件回连靶机,回连成功后,我们观察Process Explorer



使用PEiD分析恶意软件

1.什么是PEiD?

•PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE文档的加壳类型和签名。

●正常扫描模式:可在PE文档的入口点扫描所有记录的签名;
●深度扫描模式:可深入扫描所有记录的签名,这种模式要比上一种的扫描范围更广、更深入;
●核心扫描模式:可完整地扫描整个PE文档,建议将此模式作为最后的选择。

PEiD内置有差错控制的技术,所以一般能确保扫描结果的准确性。前两种扫描模式几乎在瞬间就可得到结果,最后一种有点慢,原因显而易见

2.先用一个未加壳的后门使用PEiD进行检测

3.再对比加壳后的后门我们可以清晰地看到PEiD成功的检测到了所加的upx壳

使用systracer分析恶意软件

1.什么是systracer?

•SysTracer 这是一款可以分析你的计算机文件,文件夹和注册表项目改变的系统实用工具.你可以在任何想要的时间获取无数个屏幕快照.你可以比较任何一对想要的屏幕快照,并且观察其间的不同之处.获取屏幕快照通常会持续几分钟的时间,这取决于文件和文件夹的数量和注册表项目的总数.该软件特别推出一个非常高效的分析算法,比较两张屏幕快照可以瞬间完成

2.我选择在自己的两台虚拟机中做此实验(分别为Windows7以及kali虚拟机)因为虚拟机中东西比较少快照时速度快(但开两个虚拟机真的是太卡了!

20155302《网络对抗》Exp4 恶意代码分析的更多相关文章

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

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

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

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

  3. 2018-2019 20165319 网络对抗 Exp4 恶意代码分析

    基础问题回答 1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控 答:1.使用Windows自带的schta ...

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

    2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...

  5. 20155207 《网络对抗》exp4 恶意代码分析 学习总结

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

  6. 20155207王雪纯《网络对抗》Exp4 恶意代码分析

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

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

    20155338<网络对抗>恶意代码分析 实验过程 1.计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...

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

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

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

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

随机推荐

  1. 敏捷团队的组织与管理--- MPD软件工作坊培训感想(下)

    注:由麦思博(MSUP)主办的2013年亚太软件研发团队管理峰会(以下简称MPD大会)分别于6月15及6月22日在北京.上海举办,葡萄城的部分程序员参加了上海的会议,本文是参会的一些感受和心得. 今年 ...

  2. Android 如何执行java命令

    android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了 ...

  3. mvp在flutter中的应用

    mvp模式的优点mvp模式将视图.业务逻辑.数据模型隔离,使用mvp模式,能使复杂的业务逻辑变得更加清晰,使代码更具有灵活性和扩展性,正是这些优点,使mvp模式广泛应用于原生开发中. flutter使 ...

  4. Python笔记(四):异常处理机制与 open()

    (一)  异常处理机制概述 就像日常生活中会遇到各种意外情况一样(例如:你可能考虑过如果中了500w该怎么做),代码运行过程中也会遇到这种意外情况,python提供了这么一种机制,处理意外情况(就像如 ...

  5. c#经典算法之冒泡排序(Bubble Sort)

    转载于:https://www.cnblogs.com/shen-hua/p/5422676.html 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面, ...

  6. Oracle EBS INV 创建物料搬运单头

    CREATE OR REPLACE PROCEDURE XX_CreateMoveOrderHeader AS -- Common Declarations l_api_version NUMBER ...

  7. Sqlserver数据库中,跨权限执行语句

    问题来源:最近有同事需要执行批量删除语句.根据他提供的业务需求,推荐他使用“TRUNCATE TABLE”语句.但使用该语句需要 ALTER权限,这与执行用户的角色不符. 解决办法:使用EXECUTE ...

  8. java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去

    #java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回: ...

  9. python ddt模块

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: 通常data中包含的每一个值都会作为一个 ...

  10. 在servlet中用spring @Autowire注入Bean

    在servlet中新增init方法: public void init(ServletConfig config) { super.init(config); SpringBeanAutowiring ...