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

实验过程
一、系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
第一步:在windows命令行下输入命令:schtasks /create /TN 20165308netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
TN是TaskName的缩写,我们创建的计划任务名是20165308netstat
sc表示计时方式,我们以分钟计时填MINUTE
TR=Task Run,要运行的指令是 netstat
bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
c:\netstatlog.txt类似于Linux中的重定向,输出将存放在C盘下的netstatlog.txt文件中
创建成功结果如下:

第二步:在C盘目录下建一个文件c:\20165308netstat.bat
编辑文件内容如下:

第三步:编辑任务操作:
1.进入任务计划程序 找到任务20165308netstat,双击点开

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

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

第四步:等待

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

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

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

2.由上图所示,联网的有浏览器对应的程序“chrome.exe”,有“360tray.exe”,它是360安全卫士的进程。还有QQ.exe和cloudmusic.exe(因为是用网易云听着音乐做的实验)那我就分析QQ和网易云音乐,就是连续连接外网然后实现数据的交互吧。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
第一步:确定监控目标。我感兴趣的是进程创建ProcessCreate、进程创建时间FileCreatTime、网络连接NetworkConnect、远程线程创建CreateRemoteThread。
第二步:写配置文件。
我的创建配置文件20165308.txt内容如下:

解释:
exclude相当于白名单,不用记录。include相当于黑名单。
Image condition这里要根据自己的情况更改,这里写“chrome.exe”和“cloudmusic.exe”就是不记录由浏览器和网易云音乐创建的进程。
进程创建时间类似。
网略连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。
137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。
127.0.0.1表示本机IP。
远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。
explorer.exe是Windows程序管理器或者文件资源管理器
svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。
3.把配置文件放在C盘下。
第三步: 启动sysmon。
进入sysmon.exe的目录,执行命令sysmon.exe -i C:\20165308.txt,这里弹出的窗口点击agree:

成功安装的结果如下:

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

利用Sysmon具体分析日志的例子我选择了自己实验二中生成的后门zhangsy_backdoor.exe进行分析。
第一步:启动回连、安装到目标主机。
可找到运行后门文件zhangsy_backdoor.exe相对应的日志如下:

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

相对应的观察日志文件发现有这样几条记录:
有一个启动了SearchFilterHost.exe的事件:

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

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

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

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

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

②在快照界面“Snapshots”右下角点击“Compare”,比对一下回连前后计算机发生的变化:
所有蓝色标注的地方,就是前后发生变化的地方。
发现对注册表中System子键进行了修改,修改内容如下:

我们可以发现攻击机获取主机权限后修改了什么。
6.此外我们可以通过查看后门软件的“opened handles”(打开的句柄)来对比他们都做了什么:
回连成功时:

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

第二步:用wireshark抓包分析连接了哪些外部IP,传输了什么数据
在抓包结束后将过滤规则设置成筛选虚拟机的IP之后,发现啥也没有。但我觉得应该会有windows向kali的请求包和kali返回windows的回复确认包。

基础问题回答

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
需要监控的有:
可以看网络连接,以及有没有新进程忽然出现,再看注册表项目系统日志,或者看看有没有连接一些莫名其妙的未知IP。
监控方法:
定时让主机执行netstat,分析。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
抓包工具将捕获的包进行分析,也可以用Systracer拍摄快照,比对前后区别。

问题!


这个问题刚开始让我挠头,后来用管理员权限运行之后,发现可以正常出现,但是在正常记录了几次之后,还是会出现这样的问题(没解决)。

这个问题让我有点尴尬,我以为是因为360防火墙啥的没关才这样,后来关了之后也是这样,最后换了个路径就行了。

实验总结与体会

本次实验中,我学会了如何让计算机周期性执行一个任务、如何利用Sysmon监控事件、如何对恶意代码进行分析。更全面的对恶意代码有了更深入的理解。虽然过程出现点问题,但最后都解决了。自己的分析能力有点差,需要提高,好多出分析都是参照了学长学姐的分析思路才分析出来。

2018-2019-2 网络对抗技术 20165308 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 20165205《网络对抗技术》Exp4 恶意代码分析

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

随机推荐

  1. Oracle数据库 Synonym和DBLink

    1.1数据库创建同义词(synonym) Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.它可以节省大量的数据库空间,对不同用户的操作同一张表没 ...

  2. python的列表生成式

    列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, ...

  3. Python机器学习(基础篇---监督学习(支持向量机))

    支持向量机(分类) 支持向量机分类器根据训练样本的分布,搜索所有可能的线性分类器中最佳的那个.我们会发现决定其直线位置的样本并不是所有训练数据,而是其中的两个空间间隔最小的两个不同类别的数据点,而我们 ...

  4. Unity ECS 初探

    1.安装 安装两个包 2.初探 实例化 注:实例化的实体并不会在Hierarchy视图里面显示,可在EntityDebugger窗口里面显示,因此需要显示的话需要添加Rendermeshcompone ...

  5. 2016/12/22 dplの课练

    1.sort -nk 1 -t - 3 2.sort -nk 1 -t - 2 3.sort -nk 2 -t - 1 3./etc/passwd根据用户id的大小排序,从小到大的排序输出 sort ...

  6. python基础知识总结(二)

    基础数据类型初始: int(数字):+ 加     - 减 *  乘 /  除 % 取余数 str(字符串):python中凡是用引号引起来的都是字符串 可以相加,用来表示字符串的拼接 可以相乘,只能 ...

  7. 自学python之路(day5)

    一.文件操作1. 只读1) r 以str形式 f = open('d:\文件操作.txt',mode='r',encoding='utf-8') # r是默认的 content=f.read() pr ...

  8. L343 中译英

    爱显摆的人遇事总喜欢标新立异.Showoffs never miss an opportunity to draw attention to themselves by some outrageous ...

  9. php的array数组 -------方法foreach循环时候,利用数组里值的引用地址(& )从而改变数组里的值

    /* * 把每个数组值后面都加个SQL然后返回数组 * foreach循环时候,直接用引用(&)的方式就能改变之前的数组 */public function array_foreach(){ ...

  10. 使用 <embed> 标签显示 flash文件(swf)格式 ,如何设置 width 和 height 宽度,高度.

    1. embed 标签 支持  .swf 格式.     .flv 的不支持. 2. 通常情况下, 网站中上传 多个 flash文件. 它的默认大小是不一样的. 而且 可以 宽度 大于 高度(横向的) ...