实践内容
任务一:使用schtasks指令监控系统(使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果)
任务二:使用sysmon工具监控系统(安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。)
任务三:恶意软件分析
实践过程
任务一:使用schtasks指令监控系统(使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果)
-
使用系统自带的schtasks监控系统,并将其输出存放到一个文件当中。输入命令
schtasks /create /TN netstat5206 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:20175206 etstatlog.txt"
-
TN是TaskName的缩写,本次实验任务名是netstat5206;
-
sc表示计时方式,以分钟计时填MINUTE;
-
TR是Task Run,要运行的指令是netstat
-
bn,b表示显示可执行文件名,n表示以数字来显示IP和端口;
-
>
表示输出重定向,将输出存放在c:20175206 etstatlog.txt文件中 -
在C盘中创建一个名为netstat5206.bat的脚本文件,写入以下内容:
date /t >> c:20175206
etstat5206.txt
time /t >> c:20175206
etstat5206.txt
netstat -bn >> c:20175206
etstat5206.txt
-
右键
此电脑-管理
调出任务计划程序,找到对应的计划
-
选中任务,找到操作,点击属性选项,找到操作选项卡,双击详细信息,把框中原本的cmd改成c:20175206 etstat5206.bat
-
在常规 栏勾选不管用户是否登录都要运行、使用最高权限运行,并等待脚本执行一段时间(保持联网)
-
在
netstat5206.txt
中即可找到联网信息,并进行整理。
-
数据透视化得
从数据中我们可以分析,排名第一的是TCP,因为我们一直处于联网状态,其次则是360se.exe,sesvc.exe和excel表格,因为我们刚才在做数据透视图,并且同时在写博客,除此之外,还有360安全卫士以及微信,百度网盘等程序在运行,因为没有开启其他程序的缘故,其他进程并没有占据多少进程,任务一分析完毕。
任务二:使用sysmon工具监控系统(安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。)
- 首先要安装对应的sysmon工具,其工具以强大的监控功能受到多数人的推荐
- 在Sysmon所在的目录下创建相应的配置文件sysmon20175206.xml
- 在这里我的配置文件借用了学长们的配置文件,更改了相应的sysmon版本
<Sysmon schemaversion="10.42">
<!-- 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>
<ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</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">firefox.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
其中
exclude——白名单。
include——黑名单。
onmatch——匹配
ProcessCreate——进程创建
NetworkConnect——网络连接
CreateRemote——远程线程创建。
FileCrete Time——进程创建时间
这里我们分析explorer.exe、svchost.exe、firefox.exe、winlogon.exe和powershell.exe 的远程线程:
explorer.exe是Windows程序管理器或者文件资源管理器
svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。
- 安装sysmon:执行命令
sysmon.exe -i E:网络对抗软件网络对抗Sysmonsysmon20175206.xml
,成功安装结果如下:
- 打开计算机管理,点开事件查看器,选定我们使用的工具sysmon可以发现如下日志监控:
- 打开最后一条,我们可以看到是
sysmon20175206.xml
创建成功的字样,这同样是我们做的最后一步操作
我们可以看到sysmon可以用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息,那么我们可以使用这些信息来查看电脑上是否有恶意软件作祟,并对此做出相应的处理和防护。
任务三:恶意软件分析
(1)读取、添加、删除了哪些注册表项
(2)读取、添加、删除了哪些文件
(3)连接了哪些外部IP,传输了什么数据(抓包分析)
- 先安装systracer分析恶意软件
- 这里由于拍摄快照时主机的程序过多不方便拍摄,所以就使用了虚拟机win7进行实验,拍摄快照如下:
1.没有经过任何操作的系统
2.放入后门程序的系统
3.在后门中启动监控后的系统
-
这里先给出一个截图证明后门已经启动成功,获取文件信息
-
对比快照一和快照二
我们直接调到最后方,那里是文件修改最明显的地方,即我们将后门程序移入,其中某些注册表已经遭受到改动,但还没有启动 -
对比快照二和快照三(启动后门程序)
我们可以看到20175206.exe这个后门程序已然运行,其对注册表和文件进行了多个修改,有一些DLL进程我并不知道是不是这个后门带来的,也就无法进行分析。 -
抓捕运行后门程序时的网络包
我们可以看到,在三次握手结束之后,开始了数据的传输,这个过程即是获取文件信息的过程,以TCP方式的包进行传播,kali后门系统不断向后门主机发送请求,后门主机win7响应信息。
(PS:192.168.64.144为kaliIP,192.168.64.148为win7 ip)
Wireshark显示【TCP ZeroWindow】,这个时候,对方不能再发送数据。意为我后门主机可以随时决定你的信息能否传达,这也是一个防止反向控制的保证措施。 -
使用一些软件分析这个后门程序(静态)
-
PEID
我们可以直接看到其属性是yoda's Protector v1.02 (.dll,.ocx) -> Ashkbiz Danehkar (h) [Overlay] *
,显然其是一个记录在案的后门程序 -
Explorer
我们使用程序分析我们之前的后门程序得到了警告,发现其正向其他文件进行输入,我们可以从中看到其后门的生成时间和后门系统的控制权限以及版本,这对我们进一步处理系统更为重要。
实践问题
基础问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 只是怀疑就已经足够让我们进行监控来避免造成损失,我们可以使用电脑的schtasks工具对电脑进行监监控,在一段时间后整理信息,分析可疑举动。
- 使用Sysmon对事件进行记录,检查是否有不安全的连接及请求。
- 使用Systracer拍摄多个快照进行比较,分析是否有注册表启动项进程等修改,如有修改则对其修改原因进行分析
- 定期打开进程分析器如process explorer等,观测是否有异常进程,如有则追踪分析。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用systracer工具进行监控,观察其进程的动向,其是否对注册表,启动项等方面进行了修改,在确定其举动后,找出其文件存储的位置。鉴于其有可能是以进程的方式进行操作,我们可以使用之前在学习信息安全技术时老师提供的工具,如冰剑sword(进程及线程),process explorer(进程的查看及终止)等工具进行及时的处理。
实验总结与体会
- 总结与体会
本次实验就是对电脑的文件进程等进行监控,寻找其是否有可疑的程序或进程运行并进行分析,其实在软件都有的情况下是很好做的,在操作上并没有什么特别困难的问题,但是在软件下载上面出现了一些令人费解的情况,有一些软件并不是非常好用,再有就是版本的不同,有些软件出现的结果也不尽相同,在看了之前学长学姐的报告及询问了同学之后,使用了他们推荐的软件,试验才得以进行,在实验中也有了相当的收获,对恶意代码的分析的理解更深一步。