20155219付颖卓《网络攻防》Exp4 恶意代码分析
一、基础问题回答
- 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
可以用window7自带的schtasks,或者下载Sysmon进行对电脑的监控,不过分析起来,需要每一个都点开看,比较繁琐。或者使用wireshark抓包检测流量等进行分析,对于每一包分析起来有很多数据进行辅助,比如端口信息啦,源ip地址啦;或者使用PE Explore分析恶意软件里的内容,还有就是病毒分析网站自带的文进行文分析报告,我们也可以从哪里读取一些我们需要的数据。
- 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
去网站上扫描分析文件、用Wireshark进行抓包分析、systracer查看具体进程改变的注册表信息、sysmon用来监视和记录系统活动看看日志分析什么的、等等一系列上面的。如果能熟练掌握上述工具,能做到更好的网络攻防了。
实践内容
1.使用schtasks指令监控系统运行
在C盘目录下建立一个netstatlog5219.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
2.在命令行中输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "d:\netstatlog.bat"创建任务,每隔两分钟记录联网内容
得到创建的txt文件
3.打开netstatlog.txt文件查看记录内容,刚开始打开的时候出现以下问题:
可能是权限不够,设置为以管理员身份运行之后仍然无法完成联网记录。出现的问题和上面一样,我去翻学长学姐的博客发现他们并没有很好地解决这个问题。于是我上网搜索,看了很多办法。
给你所需要程序右键属性-兼容性-以管理员身份运行此程序
只在计划任务里设置最高权限运行没用...必须相应的程序也设置
得到了解答。
于是成功了,下面贴上一些主要步骤的图片。
打开计划任务,运行netstatlog这个任务。
右键,属性将如图所示的按钮点亮,问题终于解决了。
下面进行相关分析
进程监控到的有腾讯安全管家
、有道云笔记、
UC浏览器等(其中有一些我也不知道是什么的.exe =_=)。
二 ,安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
先下载好sysmon,地址在这Sysmon v7.01
首先要对软件进行配置,以下是一些说明:记录所有网络连接就可以简单写为 *,不写的不记录。
一般都是写成类似下面的规则,会过滤掉一些。exclude相当于白名单,是那些不用记录的内容。include相当于黑名单。对于一般的使用电脑的人来说使用白名单更安全,凡是不了解都记录。
以下为xml文件
<Sysmon schemaversion="4.00">
<!-- 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">vmware.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">WeChat.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是否在运行。
如图所示,已经在运行中。
打开事件查看器,如下图:
做一些活动后,查看sysmon的一些记录,我有如下发现:
这个是我用IE浏览器的显示
这个是我使用wireshark时的显示:
之后使用kali进行后门回连。
sysmon立即捕捉到后门程序的运动
之后使用查找功能,进行筛选,否则在2000+个选项中选出你想要的是很难的,如下图:
我们可以清楚地看到后门程序是如何一步步潜入我们的电脑中的。
首先是网络连接检测
之后是进程创建,之后再kali端就可以对本机电脑进行操作了。
操作完成后,在kali端退出监听,事件查看器中也显示了进程终止的显示。
由此就完成了一次完整的监视。
三、使用SysTracer工具分析恶意软件
1.使用SysTracer工具建立以下五个快照:
- 1.一开始在目标主机上进行快照保存为Snapshot #1;
- 2.在虚拟机中生成后门软件,将文件传到目标主机后快照保存为Snapshot #2;
- 3.在虚拟机开启监听的情况下,在目标主机运行后门程序后快照保存为Snapshot #3;
- 4.在虚拟机对目标主机进行截图后在目标主机中快照保存为Snapshot #4;
- 5.在虚拟机获取目标主机摄像头后在目标主机快照保存为Snapshot #5.
2.快照结果比对分析:
(1)快照1和快照2:
可以看到在ncat文件夹下多了我们传输的backdoor.exe:
也可以看到在传输过程中有网络诉求
(2)快照2和快照3:
成功回连之后发现增加了一些注册表键
(3)快照3和快照4:
注册表信息又有变化
4)快照4和快照5:
获取目标主机摄像头后快照发现传输过来的程序有网络诉求
四、使用wireshark分析恶意代码文件传输情况
1.通过虚拟机向目标主机发送恶意代码,使用wireshark进行抓包,我们抓到了虚拟机与主机的三次握手包
2.建立连接之后具体看一下数据包的内容,这个包是从虚拟机发到主机的,端口是5219,使用IPv4协议
3.同时wireshark还捕捉到我的虚拟机和其他IP地址的连接情况。
四、使用virscan分析恶意软件
1.在病毒分析网站上分析之前我们自己生成的后门程序
(1)发现有21/39的杀软能够查杀到这个恶意代码
(2)可以根据下图看到这个代码由PACKER:UPolyX v0.5加的壳
(3)此病毒能建立到一个指定的套接字连接,并且能够删除注册表键和注册表键值
五、使用PE Explore分析恶意软件
1.使用PE Explore打开可执行文件,可以看出文件的编译时间是2009年7月7日00:09:45,链接器版本号为6.0
2.看一下这个文件的导入表中包含的dll文件:
(1)ADVAPI32.dll可实现对注册表的操控
(2)WSOCK32.dll和WS2_32.dll用于创建套接字
实验总结与体会
本次实验对自己的主机进行了一些监控,发现有一些恶意代码杀软真的检测不出,一些程序真的是默默地在计算机里搞一些事情,甚至在没有开机的情况下,都可以进行一些连接。以后不能只靠着杀毒软件了,我们学习的还都只是皮毛,有太多的我们不知道的东西潜伏者,我们应该在平时多多提高防范意识,多用老师提供的软件进行实时监测,在以后的学习工作中绝对会受益匪浅的。还是那句话,要靠自己啊。。。
20155219付颖卓《网络攻防》Exp4 恶意代码分析的更多相关文章
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- 2018-2019 20165235 网络对抗 Exp4 恶意代码分析
2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...
- 2018-2019 20165319 网络对抗 Exp4 恶意代码分析
基础问题回答 1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控 答:1.使用Windows自带的schta ...
- 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311
2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...
- 2018-2019-2 20165312《网络攻防技术》Exp4 恶意代码分析
2018-2019-2 20165312<网络攻防技术>Exp4 恶意代码分析 知识点总结 1.有关schtasks schtacks的作用:安排命令和程序定期运行或在指定时间内运行.从计 ...
- 20155326《网络攻防》Exp4 恶意代码分析
20155326<网络攻防>Exp4 恶意代码分析 基础问题回答: 1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...
- 20145236《网络攻防》Exp4 恶意代码分析
20145236<网络攻防>Exp4 恶意代码分析 一.基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些 ...
- 20155310 《网络攻防》Exp4 恶意代码分析
20155310 <网络攻防>Exp4 恶意代码分析 基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些, ...
- 20155318 《网络攻防》Exp4 恶意代码分析
20155318 <网络攻防>Exp4 恶意代码分析 基础问题 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什 ...
- 20155321 《网络攻防》 Exp4 恶意代码分析
20155321 <网络攻防> Exp4 恶意代码分析 计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...
随机推荐
- java第八次课堂笔记
- js判断数组是否有重复值
function isRepeat(arr) { var hash = {}; for(var i in arr) { if(hash[arr[i]]) return true; hash[arr[i ...
- AJax提交表单数据到后台springmvc接收
第一种方法直接用serialize()方法 function insert(){ $.ajax({ type:"POST", url:"${pageContext.req ...
- python 捕获异常顺序
catch 异常的时候,有关的异常(若是抛出子类异常,则父类异常的except也算.反之不算)except的语句是按代码顺序执行, 也就是说,当一个异常发生时,从若干except中若遇见异常类基类,父 ...
- mysql的简单安装方法
准备工作MySQL-Front与mysql-5.5.15-win32 开始安装 选择compelete,完整安装 自动弹出配置界面 选择标准配置 设置root密码 成功界面 MySQL-Front 的 ...
- HDFS优缺点
HDFS解决大数据存储的问题 HDFS优点 高容错性 数据自动保存多个副本 副本丢失后自动恢复 适合批处理 移动计算而非数据 数据位置暴露给计算框架 适合大数据处理 GB.TB.甚至PB级数据 百万规 ...
- my goal
I want to get a good command of a programming language at the university, and I have to pass the tes ...
- python cmd的各种实现方法及优劣
Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput) 目前我使用到的python中执行cmd的方式有 ...
- LIMIT用法
select * from employees order by hire_date DESC LIMIT 0,3; 直接给语句说明:根据hire_date 降序排列,LIMIT 第一个参数表示从第几 ...
- shell中特殊位置参数变量
shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1.. ...