2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
1.实践目标
- 监控你自己系统的运行状态,看有没有可疑的程序在运行。
- 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
- 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2.实践内容概述
- 系统运行监控
- 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。
- 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
- 分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
- 读取、添加、删除了哪些注册表项
- 读取、添加、删除了哪些文件
- 连接了哪些外部IP,传输了什么数据
基础问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 定时让主机执行netstat然后分析,发现异常
- 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
- 每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用Systracer拍摄快照,比对前后区别,分析改变的注册表及文件等信息
- 使用Wireshark查看是否存在可疑连接
实验过程
一、系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
第一步:在windows命令行下输入命令:
schtasks /create /TN 20165232netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
- TN是TaskName的缩写,我们创建的计划任务名是20165307netstat
- sc表示计时方式,我们以分钟计时填MINUTE
- TR=Task Run,要运行的指令是 netstat
- bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
c:\netstatlog.txt
类似于Linux中的重定向,输出将存放在C盘下的netstatlog.txt文件中

第二步:在C盘目录下建一个文件
c:\20165232netstatlog.bat
- 在其中写入以下内容:
date /t >> c:\20165232netstat.txt
time /t >> c:\20165232netstat.txt
netstat -bn >> c:\20165232netstat3.txt
第三步:编辑任务操作:
- 进入任务计划程序 找到任务20165232netstat,双击点开

- 点击操作并编辑,将“程序或脚本”改为我们创建的20165307netstat.bat批处理文件,确定即可。

- 用
schtasks /create /TN 20165307netstat /sc MINUTE /MO 1 /TR "c:\20165232netstatlog.bat"
指令创建一个任务,记录每隔两分钟计算机的联网情况。这里和之前不同的是将记录的情况输入到了.bat后缀的文件中

- 执行此脚本一定时间(如8小时),就可以在20165232netstat.txt文件中查看到本机在该时间段内的联网记录:

第五步:用excel分析数据。
- 导入文本数据:新建excel文件->选择上方“数据”->选择“获取外部数据”->选择“自文本”

- 选择记录连接情况的文本20165307netstatlog.txt,点击“导入”
- 进入文件导入向导第一步,选中“分隔符号”,点击“下一步”
- 进入文件导入向导第二步,选中全部分隔符号,点击“下一步”
- 进入文件导入向导第三步,列数据格式选择常规,点击“完成”。
- 鼠标选中左上角第一个单元格,然后点击“确定”
待分析数据如下:

第六步:对数据进行统计学分析:
- 首先查看所有联网程序的联网次数,具体excel操作如下:
①首先选中我们要分析的列(第二列):
②其次点击上方“插入”->“数据透视表”->“数据透视图”
③默认选择在一个新工作表中生成
④在右侧“选择要添加到报表的字段”中点击对应字段右侧的小箭头->取消选择那些没有意义的字段,然后点击“确定”
②将该字段拖动到下方的“轴字段”和“数值”两个区域中
⑥然后就可以看到我们的统计图进行分析了:

- 由上图所示,联网最多的是程序“Tim.exe”和“Youdaonote.exe”
样我们就分析一下Tim.exe
连了哪里,大约干了什么吧:通过查看表格,发现他连接了许多外部IP地址,可以推断出他接收了很多外部的消息(就是聊天记录)。
二、使用sysmon工具监控系统
- sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。根据老师的要求,最少要记录
Event 1,2,3
三个事件。即进程创建、进程创建时间、网络连接
- 写配置文件。
我的创建配置文件
20165232Sysmoncfig.txt
放在C盘下,内容如下:

1. exclude相当于白名单,不用记录。include相当于黑名单。
1. Image condition这里要根据自己的情况更改,这里写“chrome.exe”和“360tray.exe”就是不记录由浏览器和360安全卫士创建的进程。
1. 进程创建时间类似。
1. 网略连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。
1. 127.0.0.1表示本机IP。
1. 远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。
1. explorer.exe是Windows程序管理器或者文件资源管理器
- 启动sysmon。
进入sysmon.exe的目录,执行命令s
ysmon.exe -i C:\20165232Sysmoncfig.txt
,这里弹出的窗口点击agree:

成功安装的结果如下:

- 在事件查看器里查看日志
- 点击左侧“系统工具”->“事件查看器”

- 点击“事件查看器”右侧小箭头,选择日志的位置:应用程序和服务日志/Microsoft/Windows/Sysmon/Operational。

- 利用Sysmon具体分析日志的例子我选择了自己实验二中生成的后门
hydupxed.exe
进行分析。
- 第一步:启动回连、安装到目标主机。

可找到运行后门文件wangzhe_backdoor.exe相对应的日志如下:

- 第二步:Linux执行了截获音频、截获照片、记录击键记录、获取当前用户等操作。

有一个启动了SearchFilterHost.exe的事件:

SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。
- 第三步:既然上述行为暂时分析不出什么,我们试试下面这些操作:dir、shell、getuid、getpid、ps等
运行shell后,我们可以观察到一个和我们后门所在文件夹有关的C:\Windows\SysWOW64\cmd.exe程序如下图所示

这是kali回连获取的windows的cmd程序。其他几个命令分析方法类似,一般Kali中执行指令,Windows日志中就会记录这个C:\Windows\SysWOW64\cmd.exe。
二、恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(1)读取、添加、删除了哪些注册表项
(2)读取、添加、删除了哪些文件
(3)连接了哪些外部IP,传输了什么数据(抓包分析)
第一步:下载安装Systracer。
- 首先下载完成后进行安装,步骤为:agree->选第二个)

设置监听端口号(我设成了后门生成时利用的端口)

安装完成 - 在打开后门前先快照一下,点击“take snapshot”,如图,按照以下步骤进行:


完成后显示Snapshop #1 - Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后,拍摄快照:

完成后显示Snapshop #2 - 进行分析:
①点击上方“Applications”->左侧“Running Processes”->找到后门进程“hydupxed.exe”->点击“Opened Ports”查看回连地址、远程地址和端口号:

②在快照界面“Snapshots”右下角点击“Compare”,比对一下回连前后计算机发生的变化:

所有蓝色标注的地方,就是前后发生变化的地方。

发现对注册表中System子键进行了修改,修改内容如下:

5. 此外我们可以通过查看后门软件的“opened handles”(打开的句柄)来对比他们都做了什么:
①回连成功时:

②获取权限进行相关操作后,跟只是回连相比,多了很多内容:

- 用wireshark抓包分析连接了哪些外部IP,传输了什么数据
1.在回连之前,开始捕获;
2.回连完成后结束捕获,并把过滤规则设置为
ip.addr == 192.168.11.128
,这里我只想查看和虚拟机IP有关的数据包,所以把没用的包过滤掉:

然后可以看看它连接了哪些外部IP:发现自己的Windows主机IP:

实验遇到的问题
- 安装sysmon失败
解决办法:换了个代码
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...
- 2018-2019-2 网络对抗技术 20165317 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165317 Exp4 恶意代码分析 实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...
- 2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp ...
- 2018-2019-2 网络对抗技术 20165336 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165336 Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或E ...
- 2018-2019-2 20165236 《网络对抗技术》Exp4 恶意代码分析
2018-2019-2 20165236 <网络对抗技术>Exp4 恶意代码分析 一.1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行; 1.2是分析一个恶意软件, ...
- 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...
- 2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...
- 2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析 实验过程 一.系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一 ...
- 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
2018-2019-2 20165205<网络对抗技术>Exp4 恶意代码分析 实验要求 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中 ...
随机推荐
- C# 文件绝对路径与相对路径的转换
class Program { const string CONFIG_PATH = @"C:\SoftWare\Config.xml"; const string IMAGE_P ...
- 荣耀7.0系统手机最简单激活Xposed框架的步骤
对于喜欢玩手机的小伙伴来说,很多时候会使用到Xposed框架及各类功能彪悍的模块,对于5.0以下的系统版本,只要手机能获得Root权限,安装和激活Xposed框架是比较简便的,但随着系统版本的不断更新 ...
- 测者的测试技术手册:Java中的null类型是测试不可超越的鸿沟
null是一个非常非常特殊的类型,对于每一个测试人员都要十分小心null的存在的可能性.同时null也让很多RD头疼,甚至连Java的设计者都成人null是一个设计失误.这篇文章,测者想聊聊这个让很多 ...
- SQL高级查询基础
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...
- 【内容】MVP 三剑客活动
最近微软搞了一个活动,叫做三剑客,主旨就是“Cloud+AI本地化社区活动,为微软产品本地化做出自己的贡献”,虽然已是rMVP,但也同样收到的社区经理的来信,本人也报名参加了这个活动,同时给了我三个小 ...
- 一个 C# 文件权限的帮助类
直接贴代码了: FilePermissionHelper.cs using System.Collections.Generic; using System.IO; using System.Secu ...
- Pyinstaller 打包exe
安装 pip insatll Pyinstaller 参数 pyinstaller -Fw main.py 参数 概述 -F,-onefile 打包一个单个文件,如果你的代码都写在一个.py文件的 ...
- jeecg入门操作—树型表单开发
树表类型表单 表单创建,基础配置如下: 1.设置表单类型为:单表; 2.是否树选择:是; 3.设置特殊字段:[树形表单父id][树开表单列] 结果测试
- [kuangbin带你飞]专题二十二 区间DP-E-POJ - 1651
区间DP模板题 做区间DP的题目的时候,我们考虑DP[i][j]的含义是什么? 由题意大概是这样的,我们可以从n个数中每次选一个我们以前没选过的数字拿走,需要消耗a[i]*a[i+1]*a[i-1]的 ...
- zoj 3602
链接 [https://vjudge.net/contest/293343#problem/C] 题意 给你两棵树.为有多少对子树是同构的 分析 就是简单的哈希吧.对于不同结构的树对应不同的哈希值 先 ...