20145330 《网络攻防》恶意代码分析
一、基础问题回答
(1)总结一下监控一个系统通常需要监控什么、用什么来监控。
通常需要监控注册表信息的增删添改、进程、端口、服务、ip地址、数据流还有文件的行为记录以及权限。
可以用:
- TCPview工具查看系统的TCP连接信息
- wireshark进行抓包分析,查看网络连接
- sysmon用来监视和记录系统活动,并记录到windows事件日志,提供文件、进程等的详细信息
(2)如果在工作中怀疑一台主机上有恶意代码,请设计下你准备如何找到对应进程、恶意代码相关文件。
- 去专业网站扫描可疑进程,查看测评分数与信息
- 使用快照分析进程对系统做了哪些改变,新增文件
- 使用抓包软件分析进程网络连接传输的数据
- 查看该程序是否获取我们主机权限
二、实验总结与体会
对于恶意软件,我们有很多方法可以分析,可以静态分析也可以动态分析。其实分析恶意软件并没有我们想象的那么晦涩难懂,在操作与分析过程中我也在理解与学习。遇到不会的东西要多独立思考与尝试,可能就会有意想不到的收获呢。
三、实践过程记录
1 恶意代码静态分析
特征库比对
- 通过VirScan(http://www.virscan.org/)的行为分析来分析恶意代码:
在扫描文件后等待片刻出现文件行为分析
后点击查看分析:
查看网络行为、注册表行为和其他行为:
查看发现文件会有建立到一个指定套接字连接的行为,自行删除注册表键和值的行为,检测自身是否被调试的行为。
1.2 PE explorer
我没有PE explorer
所以直接下载了一个在自己的win7上,用PE explorer
打开文件test_swx.exe
,查看PE文件编译的一些基本信息,导入导出表等(啊我下载的是英文的...所以就边比对别人中文的对照着看)
可以看文件编译时间、链接器版本等信息:
点击“导入表”(import),可以查看该文件依赖的dll库:
MSVCRT.dll
和KERNEL32.dll
属于一般程序在win下都会调用的dll库。
ADVAPI32.dll
库是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关。(注册表操控可疑了啊...)
WSOCK32.dll
和WS2_32.dll
,是用来创建套接字的dll库,如果这个程序所介绍的功能中没有网络连接部分,那么这两个库就有些尴尬的可疑了...
1.3 PEiD
PEiD是一款著名的查壳工具,我电脑上没有这个软件于是先下载了一个。
一般正常的软件是不会为自己加壳的,如果下载了一个带壳软件,那就需要三思而后行了...现在通过PEiD分析一下test_swx.exe
是否带壳。
Nothing found [Debug]
什么都没找到,这样显示说明可能不识别该编译器
2 恶意代码分析之动态分析
2.1 sysinternals工具集
下载老师在项目附件的SysinternalsSuite201608
,里面有我们需要用的应用程序
- 2.1.1 Tcpview
Tcpview用于查看进行tcp连接的进程(有sogou、QQ等),可以看到端口、目的ip等信息。
- sysmon工具
查看老师给的[使用轻量级工具Sysmon监视你的系统](https://edu.cnblogs.com/campus/besti/NetSec2017/homework/390),新建一个5330test.xml
文件(文件内容参见指导博客)
指定配置文件,第一次尝试比对版本号。我这个是3.20的,提示建议3.10,进行修改。
又试了一次发现提示sysmon未安装,应该先一键安装:
sysmon -accepteula –i -n
然后指定配置文件:
sysmon -c 5330test.xml
配置成功:
使用sysmon -c
查看配置:
但是打开服务失败了:
2.2 SysTracer工具
在附件中下载SysTracer
这个工具的安装包,默认安装即可。
分析选择shellcode5330.exe
,还是由虚拟机Kali作为攻击方进行监听,自己的主机作为靶机进行回连。
我们会使用这个工具中快照工具Take snapshot
,点击进入后我们可以选择想扫描快照的部分
1、在正常情况下,我们在靶机下快照保存为snapshot #1
2、回连靶机成功,进行第二次快照。snapshot #2
对比1&2:传输后文件新增了本恶意代码
3、Kali对靶机进行截图(screenshot)后,在靶机下快照保存为snapshot #3
对比2&3:注册表信息又发生变化
4、Kali对靶机进行一些权限操作后(get system),在靶机下快照保存为snapshot #4
对比3&4:在进行一些权限操作后,进程信息显示后门程序有联网诉求
2.3 wireshark
Kali方打开监控,对回连过程进行抓包:可以看到靶机与攻击机三次握手建立连接(有许多次)
而且可以看出端口是我们的443端口但是数据加密,双方建立多次三次握手连接为了什么呢...想想都怕
2.4 任务计划
进入控制面板-管理工具-任务计划程序-创建任务-触发器-新建触发器,创建一个任务计划,命名为netstat5330(在常规
界面命名)
触发器我们选择每天每隔5分钟执行一次
在C盘下创建一个文件夹:5330,在5302下创建一个netstat5330.txt,内容如下:(让网络记录可以显示我们连接的网络的时间和日期信息)
date /t >> c:
etstat5330.txt
time /t >> c:
etstat5330.txt
netstat -bn >> c:
etstat5330.txt
保存后我们将文件的后缀改为bat,即netstat5330.bat
在操作选项栏设置:参数为>>c:5330 etstat5330.txt
创建完成,运行netstat5330.bat,,点击管理员权限运行,我的会停留一秒闪退,但在这个过程中我迅速看清了netstat5330.txt的路径,直接在c盘下(这很费眼...),打开文件即可查看。