目录
一、实践内容
系统运行监控
(1)使用schtasks指令监控系统(使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果)
在命令行中输入以下命令,创建任务计划netstat1315
schtasks /create /TN netstat1315 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > d:\netstatlog.txt
在D盘中创建一个脚本文件 netstat1315.bat
因为不能直接写入.bat文件,所以我在D盘创建了一个netstat1315.txt文本文件,并写入以下内容,并修改后缀名为.bat
date /t >> d:\netstat1315.txt
time /t >> d:\netstat1315.txt
netstat -bn >> d:\netstat1315.txt
在Windows的任务计划程序中,可以查看到新创建的任务:
双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的 netstat1315.bat 批处理文件的位置,点击确定。
在"条件"选项卡中可以看到,电源选项中默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。为了我们统计足够多的数据,这个选项取消掉。
勾选上这个脚本“使用最高权限运行”。然后再右键点击运行
生成文件netstat1315.txt
在wps的Excel表格中分析记录的数据
导入文本数据:新建excel文件->选择上方“数据”->选择“导入数据”->选择“导入数据”->选择“直接打开数据文件”
选择数据源文件:在D盘中(这里按照自己生成的位置)选中netstat1315.txt
依次选择其他编码、分隔符号,然后将分隔符号的所有选项都选中,点击完成即可
创建数据透视图
选中我们所要分析的列,选择“插入”——数据透视图——新工作表
在新的工作表中,在右侧字段列表中筛选我们不需要的字段
将字段列表拖到下方的行和值中,就生成了我们所需的数据透视图
分析:
最多的是TCP,大多为http和https连接;
第二个多的就是vmware.exe,此时我的kali虚拟机正在运行。
三个多的是wpscloudsvr.exe,与Wps.exe相同都是wps相关进程。
其他的就是一些系统进程,firefox.exe也正在运行
(2)使用sysmon工具监控系统(安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。)
明确要监控的目标。
进程创建ProcessCreate
进程创建时间FileCreatTime
网络连接NetworkConnect、远程线程创建CreateRemoteThread。
编写xml配置文件:
在sysmon所在的文件夹下:
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
</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(要以管理员的身份运行命令行)
输入命令Sysmon64.exe -i sysmon20201315.xml,安装sysmon,结果如下
使用事件查看器分析进程
查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、级别、任务类别、详细信息等。
运行我们在实验三中生成的后门程序20201315_veil_upx.exe,并启动回连到kali虚拟机中。
打开事件查看器 ,根据运行时间可以很容易地找到刚刚运行的后门的相关信息。
在事件查看器中查看了如下信息:
恶意代码分析
静态分析——VirusTotal网站扫描恶意软件
· 使用VirusTotal分析恶意代码基本信息如下:
查看恶意代码的基本属性,可以看出它的SHA-1、SHA-256、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。
静态分析——PEiD软件分析恶意软件
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。
扫描模式
正常扫描模式:可在PE文档的入口点扫描所有记录的签名;
深度扫描模式:可深入扫描所有记录的签名,这种模式要比上一种的扫描范围更广、更深入;
核心扫描模式:可完整地扫描整个PE文档,建议将此模式作为最后的选择。PEiD内置有差错控制的技术,所以一般能确保扫描结果的准确性。前两种扫描模式几乎在瞬间就可得到结果,最后一种有点慢,原因显而易见。
查看实验二中生成的普通后门文件
发现显示:yoda's Protector v1.02 (.dll,.ocx) -> Ashkbiz Danehkar (h)*
上网查了资料以后,该信息说明没有加壳,作者加了花指令,伪装成yoda's Protector v1.02 (.dll,.ocx) -> Ashkbiz Danehkar (h)
查看经过压缩壳的后门程序,可以查看到压缩壳的版本
查看加了压缩壳之后又添加加密壳的文件
分析:说明了该软件无法检测到加密壳。证明了加密壳一定程度上有着绕过安全检测、隐藏恶意代码后门程序的作用,但这也可能由于该检测软件的功能缺失。
静态分析——使用PE Explorer分析恶意软件
PE Explorer是一款资源编辑器,它支持直接查看、修改软件的资源,包括菜单、对话框、字符串表等,软件还具备有W32DASM 软件的反编译能力和PEditor软件的PE文件头编辑功能。
我们用它打开20201315_backdoor.exe,我们可以看到这个软件的文件头信息(基本信息),比如节对齐粒度、文件对齐粒度、时间戳、映像基址ImageBase等等
我们通过视图还可以查看数据目录、节头等详细信息
通过视图——引入可以查看此软件引用的dll
动态分析——使用systracer分析恶意软件
点击右侧的take snapshot,拍摄快照。点击start开始,不用点击stop,当拍摄完毕会自动停止。
截了以下五张快照:
· 快照一:未移植后门程序,保存为Snapshot #1
· 快照二:运行后门程序并在kali中实现回连,保存为Snapshot #2
· 快照三:在kali中使用dir指令,保存为Snapshot #3
· 快照四:在kali中使用screenshot和record_mic指令,保存为Snapshot #4
· 快照五:在kali中使用getuid指令,保存为Snapshot #5
接下来我们对比快照,分析恶意软件在执行过程中系统有哪些变化
对比快照1和快照2(后门程序运行前后)
选中要对比的两个快照,点击右下角compare,在view mode中选择only differences方便查看。
点击application,在opened ports中能看到后门 20201315_veil_upx.exe ,连接的本地地址和目标地址以及端口号
在opened handles中,增加了一些文件,也删除了一些文件,以及键值的变化
在loaded dll中,查看启动后门程序后增加和删除的dll文件
在running processes中,点击 20201315_veil_upx.exe 显示为SysTracer no registered
对比快照2和快照3
对根键中的内容进行修改,对注册表中的配置信息进行了修改
在opened ports中看到两次操作间的虚拟机vmnet8间的交互
在running processes中,查看多出来的 conhost.exe
Conhost.exe全称是Console Host Process, 即命令行程序的宿主进程。简单的说他是微软出于安全考虑,在windows 7和Windows server 2008中引进的新的控制台应用程序处理机制。
对比快照3和快照4(4使用了screenshot和record_mic指令)
多出来了svchost程序,删除了之前建立的调用许多DLL的过程
对比快照4和快照5(5使用了getuid指令)
可以发现注册表有变化
发现根键中的内容进行了修改,同时,也增加了很多dll文件
使用wireshark抓包分析恶意软件
运行后门20201315_door.exe,在kali中回连。把过滤规则设置为ip.addr == 192.168.136.129,只留下与kali机有关的包
我们可以看到前三个包为TCP连接的三次握手
在kali中输入dir,发现wireshark又捕获到了许多PSH+ACK包,可以判断有数据在传输
二、实验后回答问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
使用windows自带的schtasks指令设置一个计划任务,发现网络连接异常;使用Sysmon记录有关的系统日志;使用Process Explorer工具,监视进程执行情况;使用Process Monitor工具,监视文件系统、注册表、进程/线程的活动;使用Systracer拍摄快照,对比不同快照,查看是否有可疑的增删注册表、启动项的行为;使用wireshark查看自己计算机的端口开放情况,查看未知端口进行可疑的数据传输。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
使用systracer工具分析恶意软件,查看其对注册表和文件的修改;使用Wireshark进行抓包分析,监视其与主机进行的通信过程;使用PEiD查看程序是否加壳,加的什么壳;使用Process Explorer工具或Process Monitor工具,监视文件系统、注册表、进程/线程的活动。
三、遇到的问题
用wireshark抓包时抓不到对应的包
问题解决:发现之前抓的都是WLAN ip的包,但kali回连后用于通信的ip并不是WLAN对应的ip,根据kali的提示,对正确的ip进行抓包后成功抓到了相应的包。
四、实验总结与体会
本次实验我们尝试使用了许多种方式对系统进行了监控、对恶意软件进行了分析,这对平时主机的使用和保护都有着重大的实际作用。从前几次实验中,我们已经了解了一部分恶意软件进行攻击的方式,而这一次我们学会了如何对抗他们。对抗,就要有功有防,这些都是我们这门课程的重要组成部分,我将在未来学习中将这部分知识做到活学活用。
标签:分析,exe,快照,查看,恶意代码,恶意软件,Exp4,使用 From: https://www.cnblogs.com/moonyecho/p/17294069.html