20212422 2023-2024-2 《网络与系统攻防技术》实验四实验报告
1.实验内容
一、恶意代码文件类型标识、脱壳与字符串提取
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
三、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
(2)找出并解释这个二进制文件的目的;
(3)识别并说明这个二进制文件所具有的不同特性;
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
(6)给出过去已有的具有相似功能的其他工具;
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
四、取证分析实践
Windows 2000系统被攻破并加入僵尸网络
问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:
(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
(2)僵尸网络是什么?僵尸网络通常用于什么?
(3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
(4)在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
(5)哪些IP地址被用于攻击蜜罐主机?
(6)攻击者尝试攻击了那些安全漏洞?
(7)那些攻击成功了?是如何成功的?
2.实验过程
2.1 恶意代码文件类型标识、脱壳与字符串提取
2.1.1 使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具
2.1.1.1 查看文件格式
在Kali中进入目标文件夹rada,然后使用
# file命令它通常用于在 Linux 系统上检查文件的类型
file rada.exe
查看文件类型
分析得出,rada.exe是一个32位的PE文件,运行在Intel 80386 GUI上,针对Windows系统。
2.1.1.2 查看运行平台
使用PE Explorer查看RaDa.exe的文件信息
得知运行平台字段为0x014c,说明该文件可运行在Intel386处理器或后续兼容处理器上,也就是32位系统的机器上。
2.1.1.3 查看加壳工具
利用PeiD查看文件是否加壳:
UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo,表示可知该文件加的一个0.89.6版本的UPX壳。
2.1.2 对rada恶意代码样本进行脱壳处理
使用超级巡警虚拟机脱壳机软件,对rada.exe文件进行脱壳处理,处理之后的文件名位RaDa_unpacked.exe。
2.1.3 对脱壳后的rada恶意代码样本进行分析
使用strings命令分析RaDa_unpacked.exe
strings RaDa_unpacked.exe
- 查找关键信息:
由© Raul Siles && David Perez,得知rada恶意代码的编写作者为Raul Siles和David Perez。
2.2 使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息
2.2.1 查看文件信息
- 利用file指令分析一下crackme1.exe和crackme2.exe的信息
二者均为windows系统下运行的32位可执行程序。
2.2.2 分析crackme1.exe
2.2.2.1 试探输入格式
通过多次输入,尝试不同的参数个数,来试探一下crackme1.exe的输入参数的要求
输入1个参数时,回复“Pardon? What did you say?”,猜测其表示参数个数正确,但输入参数错误;参数个数不为1时,输出“I think you are missing something.”,猜测其为参数个数出错。
据此推测,输入参数极有可能要求为1个。
2.2.2.2 IDA分析
- 我们利用IDA,选择“View→Open subviews→strings”,查看字符串。