2018-2019 网络对抗技术 20165226 Exp4:恶意代码分析

目录


一、实验内容说明及基础问题回答

二、实验过程

三、问题与思考

四、实验总结



一、实验内容说明及基础问题回答

****
实验内容
- 系统运行监控(2分)

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

- 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
参考:schtask与sysmon应用指导
实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
  • 恶意软件分析(1.5分)

分析该软件在

  • 启动回连
  • 安装到目标机
  • 及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。

该后门软件

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

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

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

 该实验重点在“分析”,不是“如何使用某软件”。组长、课题负责人要求写细一点,其他人可以重点放在分析上。

基础问答

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

  • 使用windows自带的schtasks指令设置一个计划任务,每隔一定的时间对主机的联网记录等进行记录。

  • 使用sysmon工具,通过配置想要监控的端口、注册表信息、网络连接等信息,记录相关的日志文件。

  • 利用wireshark查看数据包

  • 用TCPView也行,不过能得到的进一步信息较少

  • 用Process Explorer或者Process Monitor

2、如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

  • 使用Wireshark进行抓包分析,监视其与主机进行的通信过程。

  • 使用systracer工具分析恶意软件,进行快照的对比(注册表、文件等).

  • 使用Process Explorer查看调用的程序库等等

  • 使用PE explorer

  • 也可以用PEid查看的加壳情况

返回目录



二、实验过程

Task1 系统运行监控

结合windows计划任务与netstat命令

- 为实现每5min记录下有哪些程序在连接网络,输入以下命令:`schtasks /create /TN netstat5226 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"`创建计划任务
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190402154447011-1518575739.png)

其中,TN是TaskName的缩写,我们创建的计划任务名是netstat5226;sc表示计时方式,我们以分钟计时填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。
  • 在C盘中创建一个netstat5226.bat脚本文件(可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)

  • 在其中写入以下内容

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

  • 打开任务计划程序(在计算机管理中),可以看到我们新创建的这个任务

  • 双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat5226.bat批处理文件,确定即可。

  • 任务还有其他属性,点击“条件”选项卡,可以更改相关的设置。比如默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。这点需要格外注意,如果没有修改默认操作,任务无论如何都无法执行可能只是因为拔掉了电源。

  • 执行此脚本一定时间,就可以在netstat5226.txt文件中查看到本机在该时间段内的联网记录

  • 等记录项目够多了再用xlsx进行分析:点击数据选项卡,获取外部数据,选择之前记录连接情况的文本netstat5226.txt

    • 选择分隔符号

    • 分隔符号全部选上

    • 列数据格式选择常规

    • 完成生成表

    • 当记录的数据足够丰富时,停止任务,将所得数据在excel中进行分析(详细操作参考学姐的博客

    • 将其做成饼状图(发现tcp最活跃)

    • 用折线图来表示

使用sysmon监视系统

> `sysmon`微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使用`sysmon`工具先要配置文件:
> ```


*


microsoft
windows

chrome.exe
iexplorer.exe
137

explorer.exe
svchost.exe
winlogon.exe
powershell.exe

> ```

  • 配置好文件之后,要先使用Sysmon.exe -i C:\Sysmoncfg.txt指令对sysmon进行安装:

  • 启动之后,便可以到事件查看器里查看相应的日志:

  • 查看了其中一部分事件的详细信息,比如这个事件是之前做计划任务时所创建的

  • 打开kali,运行木马文件,使其回连kali攻击机。查看日志,通过搜索关键字可以找到相关的后门文件

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


Task2 恶意软件分析

在线检测——virustotal

- 把生成的恶意代码放在VirusTotal进行分析
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190402174314366-453527866.png)

  • 查看这个恶意代码的基本属性

可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。)
  • 可以看到加壳情况

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

动态分析1——使用TCPView工具

- 通过TCPView工具可以获取后门程序的网络连接信息,发现实验环境下攻击机的IP地址
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190405101017250-1048927685.png)

  • 但双击后只能获取少量信息,因此此软件不适合用来分析具体数据传输过程

动态分析2——使用Process Explorer

- Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。

  • 靶机运行木马,回连攻击机时,我们可以看到Process Explorer对其进行的记录

动态分析3——使用Process Monitor

- Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。

  • 打开软件,可以看出其对各个进程的详细记录

动态分析4——使用systracer

- 下载SysTracer工具
- 注意在`agreet`后选择第二个进行端口号的设置
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190404213930362-818576201.png)

  • 点击take snapshot分别存储以下快照:

    • Snapshot #1:未植入后门程序的自然状态
    • Snapshot #2:将木马植入靶机,对靶机注册表、文件等进行快照
    • Snapshot #3:打开kali的msfconsle,靶机运行木马,回连kali,win7下再次快照
    • Snapshot #4:在kali中对靶机使用ls指令,win7下再次快照
    • Snapshot #5:在kali中对靶机使用getuid然后getsystem进行提权操作,win7下再次快照





  • 分析

    • 快照一和快照二:增加的后门程序,以及增减的键值、dll文件



    • 快照二和快照三:除了增减很多键值、dll文件外,还能查找到后门程序的回连(能看到端口号,攻击方IP地址以及靶机IP地址)



    • 植入后门并回连进行权限提取或其他操作



      我们能在双击此快照的基础上通过查看applications中的Runnig Processes找到后门程序,能清楚地看到本机地址和端口以及远程攻击方kali的地址及运行端口号

动态分析4——使用wireshark

- 通过上一步的操作得知攻击方以及受控方IP地址以及端口号之后使用wireshark进一步分析
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190405100129389-189072039.png)

  • 三次握手







    从序列号、确认号等能判断出三次握手过程,同时还能查看传输的数据

静态分析1——使用PEid查看加壳情况

- 未加壳时进行扫描
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190405111822689-423852170.png)

  • 加壳后再次进行扫描

缺点是不能获取其他更多的信息

静态分析2——使用PE Explorer

- PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。

  • 刚打开PE Explorer我们就会看到后门程序的头部信息。

  • 同时还能查看其依赖项

返回目录



三、问题与思考

- 问题1:在安装sysmon时报错
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190402165947311-391675925.png)

  • 问题1解决方案:以管理员身份运行cmd,重新执行命令进行安装,成功。

  • 问题2:在进行数据收集时,出现一些问题,如无法自启动在文件中录入数据、能定时触发但只显示时间没有数据、不能定时触发但通过管理员运行bat文件能输出、不能生成txt文件、能定时触发但只显示结果没有日期和时间。。



  • 问题2解决方案:

    • 在C盘中将bat文件的属性中所有权限更改为完全控制

    • 在任务管理中点开bat的属性,在常规中将只在用户登录时运行更改为不管用户是否登录都要运行,并在下面的框中打钩

  • 问题3:导入表格时出现如图所示问题

  • 问题3解决方案:使所选单元格从D31开始即可

  • 问题4:在进行systracer中出现下图所示情况

  • 问题4解决方案:将改程序卸载后重装即可

返回目录

四、实验总结

- 本次实验所需要使用的工具相比前几次更丰富,通过运用不同的工具,结合之前信息安全及本期计算机病毒的一些知识,进一步熟练操作监控主机,能更好的辅助我们发现并及时处理恶意行为。
- 恶意代码的分析方法主要分为静态分析方法和动态分析方法。这两种方法在本次实验中都有所涉及。静态分析方法是指在不执行二进制程序的条件下进行分析,如反汇编分析等;而动态分析方法是指在恶意代码执行的情况下,利用调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程,以便作进一步分析。
- 实验过程中,遇到各种奇怪问题,不过通过不断尝试,能得以解决,但目前对于恶意行为的监测中并不可控,不能做到百分百的检测,这也是我们今后研究的方向。

返回目录



2018-2019 网络对抗技术 20165226 Exp4:恶意代码分析的更多相关文章

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

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

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

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

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

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

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

    2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp ...

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

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

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

    2018-2019-2 20165236 <网络对抗技术>Exp4 恶意代码分析 一.1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行; 1.2是分析一个恶意软件, ...

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

    2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...

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

    2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...

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

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

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

    2018-2019-2 20165205<网络对抗技术>Exp4 恶意代码分析 实验要求 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中 ...

随机推荐

  1. 什么是 dynaTrace Ajax

    随着 jQuery.Dojo.YUI 等框架的兴起让构建 Web2.0 应用更加容易,但随之带来的定位等应用问题也越来越难,尤其是与性能相关的.dynaTrace Ajax Edition 是一个强大 ...

  2. DevExpress v17.2新版亮点—WPF篇(七)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WPF v17.2 新的Hamburger Menu.Sched ...

  3. 对Repository模式误用的反思和纠正

    一直以来想自己做一套开发框架,在其基础上进行快速开发,自从接触微软的MVC框架和Entityframework以来,阅读了大量园子里的相关的技术文章,也进行了不少摸索和尝试,中间经历了多次大刀阔斧的重 ...

  4. 基于资源名的MVC权限控制

    在程序复杂程度不断上升的过程中,无可避免需要触碰到权限控制,而权限控制又与业务逻辑紧紧相关,市场上出现了大量的权限控制产品,而程序的开发,讲究去繁化简的抽象,在我的开发过程中,逐渐发现程序的权限控制核 ...

  5. pl/sql中误删表中数据并提交恢复办法

    最近在操作表中数据时,删除了表中数据,但是又想恢复,后来查到了官方的一篇文档,发现还蛮有用的,如下: 在pl/sql中运行,select * from A as of TIMESTAMP to_tim ...

  6. django2 删除图片或其他

    首先从数据库中获取图片的名称,然后拼接图片的物理地址,最后就是删除. # 物理删除图片 d = os.path.dirname(os.path.dirname(os.path.abspath(__fi ...

  7. 那些年,追寻JMeter的足迹,免费送……

    ​我们测试技术部武汉团队自16年引入jmeter以来,利用jmeter做了很多事情.首先运用jmeter进行接口测试,后续实现jmeter自动化冒烟测试,顺带也实现了线上环境的巡检,节省了大量人力.j ...

  8. HDU 1853

    http://acm.hdu.edu.cn/showproblem.php?pid=1853 和下题一模一样,求一个图环的并,此题的题干说的非常之裸露 http://www.cnblogs.com/x ...

  9. C++ 内存拷贝函数 memcpy

    在C/C++中经常会遇到对一段固定的连续内存进行拷贝操作,   这时候我们就需要用到   <cstring>  头文件  中的  memcpy  函数. 具体使用如下: 其中   ,   ...

  10. 第十章 企业项目开发--分布式缓存Redis(2)

    注意:本章代码是在上一章的基础上进行添加修改,上一章链接<第九章 企业项目开发--分布式缓存Redis(1)> 上一章说了ShardedJedisPool的创建过程,以及redis五种数据 ...