20155201 网络攻防技术 实验四 恶意代码分析
一、实践内容
- 监控你自己系统的运行状态,看有没有可疑的程序在运行。
- 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
- 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
二、报告内容:
1. 基础问题回答
1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控?
- 最简单的,使用第系统监控
schtasks
创建计划任务,记录主机连接的外部IP和开放的异常端口。 - 通过修改配置文件,使用
sysmon
工具,查看相应日志 - 使用
Process Monitor
监视进程情况,观察进程调用的.dll
2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息?
- 命令行中使用
netstat
查看进程连接的外部IP和端口,并追踪 - 使用
Wireshark
捕获分析,查看info - 通过
systracer
快照对比,观察文件、注册表等的修改
2. 实践总结与体会
本次实验重在操作之后的分析、比对,也是之前几个实验的总结,之前的实验更注重的是操作,但是都没关注过进行操作之后我们的电脑究竟发生了什么样的变化,不是说死机、蓝屏、电脑崩了这种才叫操作,攻击机通过操作记录你击键记录从而获取密码之类的你根本没法意识到的也是操作,通过本次实验我们可以看到恶意软件对电脑的更细微的操作,我们应该提高我们的安全防范意识,不要泄露自己的信息。
3. 实践过程记录
- 使用schtasks指令监控系统运行
- 使用sysmon工具监控系统运行
- 使用wireshark分析恶意软件回连情况
- 使用systracer工具分析恶意软件
- 使用Process Monitor分析恶意软件
- 使用PEiD分析恶意软件
使用schtasks指令监控系统运行
- 先在Win7中桌面目录下建立一个
netstatlog.txt
date /t >> c:
etstatlog.txt
time /t >> c:
etstatlog.txt
netstat -bn >> c:
etstatlog.txt
然后打开显示文件扩展名
选项,把netstatlog.txt
修改为 netstatlog.bat
脚本文件,之后拖动到C盘根目录。
再新建一个空的netstatlog.txt
文件,拖动到C盘根目录
2. 打开命令行,输入如下指令:
schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "c:
etstatlog.bat"
建立一个每两分钟记录计算机联网情况的任务
3. 过几分钟查看一下netstatlog.txt
,如果出现“请求的操作需要提示”的情况,可以选择在管理员模式下运行命令行,如果还是不行的话,使用Administrator
用户登录,可以参考同学的博客中的教程。
-
监控一段时间后,在“控制面板——>任务计划程序”中结束活动,就可以开始分析记录了。
-
在Office Excel中,导入文本文件,分隔符全选,就可以看到我们的记录一格一格的躺好在Excel里面了~这一步很多操作参考的助教学姐的博客,无奈对Excel不那么熟悉,能做的尽量做了
-
建立数据透视表,可以看到具体联网的
exe
和外部地址的计数。
想看计数的,制作柱形图后,把想看的选项同时拖到“行标签”和“值”,就可以看到柱形图和计数表格了;想排序的降序或者升序都是在透视表格里面设置。
- 分析部分:
先看联网程序,这个归类到协议里面了,没关系我们可以把协议都隐藏,显示程序即可。
wmpnetwk.exe 是WidowMediaPlayern内置网路共享组件进程名称
svchost.exe 是一个属于微软Windows操作系统的系统程序,微软官方对它的解释是:Svchost.exe 是从动态链接库 (DLL)中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。
qmdl.exe 好像与腾讯管家有关
CompatTelRunner.exe 是微软兼容性检测
查了几个我不太认识的exe,QQ和UC啥的不想查了,一样流氓。。
183.232.103.218 移动。。
125.39.52.123 联通。。来自美丽的天津。。
140.205.29.234 杭州阿里云。。马爸爸 \有点奇怪,我好像没在虚拟机里淘宝啊?
120.241.2.167 移动。。
182.254.21.27 腾讯。。(在北京)
140.207.189.119 联通。。
125.39.247.226 联通。。
真的lei了,主要是监控的是虚拟机,我也不太用虚拟机干啥,监控期间也没回连。。但起码四学习到了一种系统监控的方法
使用sysmon分析恶意软件
sysmon
是微软Sysinternals套件
中的一个工具,可以从码云项目的附件里进行下载,要使用sysmon
工具先要配置文件,我直接用的是老师给的配置文件
<Sysmon schemaversion="3.10">
<!-- 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>
<SourcePort condition="is">137</SourcePort>
</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>
将这个配置文件先存在桌面的Sysmoncfg.txt
里面,还是拖到C盘里
2. 命令行模式进入sysmon.exe
的目录里,运行指令Sysmon.exe -i C:Sysmoncfg.txt
安装
事件查看器——>的Sysmon——>Operation
3. 查看事件日志
命令行中记录联网状态的命令:
UC浏览器更新文件。。
kali回连时的日志也被记录下来了,kali的ip:10.211.55.5
,端口5201
使用wireshark分析恶意软件回连情况
- 在恶意程序进行回连时,使用Wireshark抓包看到:
可以看到进行了TCP三次握手,带有PSH,ACK
的包传送的是执行相关操作指令时的数据包捕获
使用systracer工具分析恶意软件
-
使用
systracer
工具建立了3个快照,分别是在主机中有恶意软件时、恶意软件启动回连时、恶意软件执行dir
命令进行查看路径时
-
对比未回连和回连时,看到了建立的TCP连接和端口:
可以看到修改的文件或目录等
修改的注册表
- 执行dir命令时,关闭了服务接口
使用Process Monitor分析恶意软件
-
使用Process Monitor对恶意软件进行分析时可以看到很多
Explorer.exe
进程,是恶意软件对其进程进行的伪装:
-
查看恶意软件运行时的状态
可以看到调用的.dll
文件等等
这个ntdll.dll是相当重要的Windows内核级文件,描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
恶意软件进行的操作还是令人瑟瑟发抖。
使用PEiD分析恶意软件
- 使用
PEiD
软件可以查看恶意软件的壳的相关信息