2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析
Exp4 恶意代码分析
一、基础问题
问题1:
如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控?
答:
- 利用系统命令查看系统各项状态,并将查看结果保存为日志。使用计划任务为命令设置执行间隔,通过监控系统一段时间的运行状态来监控系统。
- 使用具有监控系统功能的可靠软件来实现系统监控。
问题2:
如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息?
答:
- 使用systracer工具对确定的恶意软件进行行为分析。
- 使用wireshark网络嗅探工具对该软件的网络通信情况进行分析。
二、系统监控
1. 系统命令监控
恶意软件的目的大多都是希望通过非正常手段进入你的计算机系统,然而这个过程避免不了的就是需要进行数据的网络传输,因此,我们只要把握好网络的实时状态就可以有效防止大部分恶意软件的入侵。
Windows下为我们内置了查看网络状态的命令netstat,通过它我们可以随时查看当前计算机所有的网络连接状态,包括当前状态下的联网应用,所有网络服务的源目的IP和端口。具体功能如图:

由上图我们可以判断,我们主要使用的参数为
-a -b -n -o
但是输入一次命令我们只能看见一次结果,这时我们需要让命令可以自动运行,并且将运行结果写到文件中,方便我们统计和查看,这时就需要用到我们的计划任务了。
在设置计划任务之前我们需要将命令写为脚本,如下:
date /t >> C:\Users\Administrator\Desktop\netstat_162329.txt
//获取系统日期 追加至桌面的 netstat_162329.txt文件中
time /t >> C:\Users\Administrator\Desktop\netstat_162329.txt
//获取系统时间 追加至桌面的 netstat_162329.txt文件中
netstat -abon >>C:\Users\Administrator\Desktop\netstat_162329.txt
//获取当前网络状态信息 追加至桌面的 netstat_162329.txt文件中
为了方便查看我们还添加了获取系统日期和时间的命令,方便查看多时间的网络状态。我们需要将以上代码写入一个空白的批处理文件中,结果如下图:

然后为该批处理文件设置计划任务
Win10系统下:控制面板-->系统和安全-->管理工具-->计划任务
进入后界面如下:

点击创建任务进入创建界面:

名称可以随意取一个,然后进入操作选项卡点击新建设置执行操作。

在触发器选项卡中设置执行间隔和时间。

查看监测结果。

2. 使用Windows系统工具集sysmon监控系统状态
首先先下载软件,sysmon官方下载地址
下载解压后再文件夹中进入命令行,准备安装该工具。
根据官方说明,该工具的运行需要一个配置文件的支持,该配置文件中可表明监测内容,我的文件如下:
<Sysmon schemaversion="4.20">
<!-- 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">QQBrowser.exe</Image>
<SourcePort condition="is">137</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命令的主要参数有三个,功能如下:
-i : 需要指定配置文件安装(启用)该工具
-c : 需要用指定文件更新当前运行状态下的配置文件继续运行
-u : 不需要参数值,卸载(停止)该工具运行
由于我们下载的工具是最新版,而老师给出的配置文件版本设置较低,所以直接运行会出现版本不匹配的问题,需要在配置文件的第一行将Schemaversion的值修改为相应版本。
安装执行,输入命令sysmon -i config_20162329.txt如图:

查看监控信息
控制面板-->系统和安全-->管理攻击-->查看事件日志
界面如图:

如图转到以下目录可以查看监控信息:
应用程序和服务日志-->Microsoft-->Windows-->sysmon-->Operational
可以点开任意事件查看其详细信息,如图:

三、恶意软件分析
1. virustotal分析恶意软件
实验使用程序为上次实验制作的后门程序,文件名为20162329_backdoor_vile1
将文件上传至virustotal网站,可以看到对该程序的行为分析如下:
2. 用wrieshark分析软件网络行为
首先用程序测试回连,成功:

打开wrieshark软件,选择当前使用的网卡,我使用的是有线所以选择以太网。

重新回连,然后找到wrieshark对应连接结果:
Windows IP为:172.16.3.212
kali IP为:172.16.3.36
只需要在源目的地址中找到相应IP就可以了,如下图:

根据wrieshark结果,我发现光是连接就发送了有480个以上TCP数据包,连续从NO.1310开始到NO.1790结束全都是,之前还有一些不连续的。
我们可以打开一个看看其中的内容:

从图中可以看到,这是一个携带数据的TCP数据包,但从数据上我们还看不出是什么,但是他足有687个字节。
接下来我们获取一下他的摄像头看看会有什么结果

可以看到他们是有一个通信过程的,而且是有数据传递的。
四、实验总结和体会
本次实验中最大的特点就是重在防御,并不再像之前几次实验一样,需要作出一个能控制或查看别人计算机的程序,而是要检测自己的计算机有没有被别人注入恶意程序,也就是老师说的从一个坏人变为了一个害怕被攻击的好人。
通过本次实验,我们学会了使用多种工具来对计算机系统进行状态分析,从而抓出我们系统里可能存在的恶意程序或软件。这些工具不仅有最基础的命令这样的“土工具”,也有像wrieshark、sysmon这样的系统工具和网络工具,既拓宽了我们的知识面又学到了一项新的技能,真的是受益匪浅。
2018-2019-2 网络对抗技术 20162329 Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 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是哪里.运行一 ...
随机推荐
- [BZOJ 4152][AMPPZ 2014]The Captain
这道题对费用的规定是min(|x1-x2|,|y1-y2|).如果暴力枚举所有的点复杂度O(n²),n <= 200000,显然爆炸.于是我们要考虑加“有效边”,一个显然的事实是对于两个点,如果 ...
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL ...
- Intelij idea 版本控制工具窗口
1. 在菜单栏vcs中启用版本控制 2. 然后调出工具窗口,view-tools window-version control
- MySql 从SQL文件导入
1. 运行cmd进入命令模式,进入Mysql安装目录下的bin目录(即mysql.exe所在的目录): cd c:\"program Files"\MySQL\"MySQ ...
- 419 JQuery and BootStrap
把葵花宝典剩下的知识讲完了 又学习了bootstrap <link rel="stylesheet" href="css/bootstrap.css"&g ...
- iView -- TimePicker 自定义修改时间选择器选择时间面板样式
iView官方组件展示效果: 期望的最终效果: 为什么要修改期望效果? 项目需要只选择小时,分钟跟秒的不需要,而官方并没有直接相关的小时组件或者是设置显示成小时或分钟或秒的时间选择器,因为自己直接修改 ...
- GIt -- fatal: refusing to merge unrelated histories 问题处理
今晚碰到这个问题-- fatal: refusing to merge unrelated histories 想了一下,为什么就这样了? 因为我是先本地创建了仓库,并添加了文件,然后再到github ...
- 基于spark-streaming实时推荐系统
基于spark-streaming实时推荐系统(一) 基于spark-streaming实时推荐系统( 二) 基于spark-streaming实时推荐系统(三)
- Django 之 流程和命令行工具
一.一个简单的web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所 ...
- Python3学习笔记(urllib模块的使用)
转载地址:https://www.cnblogs.com/Lands-ljk/p/5447127.html 1.基本方法 urllib.request.urlopen(url, data=None, ...