20192415 2021-2022-2 《网络与系统攻防技术》实验四实验报告
《网络与系统攻防技术》实验四
一、实验内容
1.1、恶意代码文件类型标识、脱壳与字符串提取
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
1.2、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
1.3、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
(2)找出并解释这个二进制文件的目的;
(3)识别并说明这个二进制文件所具有的不同特性;
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
(6)给出过去已有的具有相似功能的其他工具;
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
1.4、取证分析实践
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)那些攻击成功了?是如何成功的?
二、实验过程
任务一:恶意代码文件类型标识、脱壳与字符串提取
首先我们在kali中对下载好的测试文件RaDar.exe使用file指令查看它文件类型
然后,为了进一步获取该文件的相关信息,我们使用下载好的PEiD打开RaDa.exe。
可以发现,RaDa.exe使用了0.89.6版本的UPX压缩壳。
接下来我们先尝试着使用strings命令对目标文件进行分析
我们发现结果是一堆乱码
所以我们要使用下载好的脱壳工具对其进行脱壳处理
然后再用strings对脱壳后的文件进行分析
我们发现分析的东西可以看懂一些了,然后我们找出了这个程序作者的名字↑
任务二:使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
首先我们在终端测试运行一下这个crackme1.exe文件
我们惊奇的发现,如果直接运行他,它会提示我们忘记了一些什么东西,然后我猜测是后面需要跟一些参数,于是我做出了几次测试,结果发现他总是提示一样的提示语,就好像是让我们输入密码总是没输入正确一样。
于是乎我们用ida打开一下这个文件看一下:
我们发现最开始提示缺少参数的提示语在序号一的位置,之后就是提示密码输入错误的提示语在序号二的位置,然后他们两个都返回了同一个函数,进行重新判断;
接着我发现了两句没有见过的提示语,其中有一句的大致意思好像是说你知道怎么和程序交流之类的话,有点像输入正确的提示语。然后我看到这条提示语所在的函数是由上面的12D2函数跳转而来,那么我就猜测12D2中那句奇怪的话,有可能就是正确的密码,于是我们来测试一下:
证实我们的猜想是正确的!
接下来我们看看crackme2.exe文件:
经分析后我们发现他可能判断的东西,现在不只有密码,甚至还有文件的名称,于是我们将crackme2.exe改名后在输入正确的密码,发现这回结果是正确的!
任务三:分析一个自制恶意代码样本rada,并撰写报告,回答以下问题
首先我们对RaDa.exe使用"md5sum"命令计算RaDa.exe的md5值:
我们使用process explorer来查看该二进制文件在内存中的字符串
我们根据上述结果分析:
该程序会访问10.10.10.10/RaDa这个链接,并从RaDa_commands.html中获取相应的指令。
在文件操作方面,该程序在系统的C盘根目录下创建了一个名为RaDa的文件夹,其中有tmp和bin两个文件,其中bin中的文件即为RaDa.exe,可以推测程序运行后会自动将自己复制到C:\Rada\bin目录中。
此外 ,程序中还涉及了两个注册表项HKLM\Software\Microsoft\Windows\CurrentVersion\Run\和HKLM\Software\VMware, Inc.\VMware Tools\InstallPath,也就是说程序会将自己加入系统的自启动项,每次启动自动运行,而从三个函数名RegWrite、RegRead和RegDelete可以看出程序能够对注册表进行了相应的操作。
最后,通过Starting DDoS Smurf remote attack...可以看出程序会根据远程攻击者的指令发动DDoS攻击。
这个文件作者为:
任务四:取证分析实践
4.1 IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC:因特网中继聊天,是一种应用层的协议。其主要用于群体聊天,但同样也可以用于个人对个人的聊天。IRC使用的服务器端口有6667、6697等。
4.2 僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络(英文名称叫Botnet),是互联网上在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方法。往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。
僵尸网络通常被黑客用来发起大规模的网络攻击,例如分布式拒绝服务攻击(DDoS)等。
4.3 蜜罐主机(IP地址:172.16.134.191)与哪些IRC服务器进行了通信?
首先,我们使用Wireshark打开数据文件botnet_pcap_file.dat,过滤源IP地址为172.16.134.191,目的端口为6667或6697。
设置过滤条件为:ip.src == 172.16.134.191 && tcp.dstport == 6667 || tcp.dstport == 6697
过滤统计结果为:
根据统计结果我们可以知道,蜜罐主机分别和66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172和209.126.161.29这五个IRC服务器进行了通信。
4.4 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
首先我们对捕获到的数据包进行分流,指令为:tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'
我们得到了这样的三个文件:
接下来我们需要知道多少不同的主机访问了以209.196.44.172为服务器的僵尸网络:
经统计有3461个!
4.5 哪些IP地址被用于攻击蜜罐主机?
使用如下命令查找攻击的IP地址并输出到ipaddr.txt中:
结果为:
4.6 攻击者尝试攻击了那些安全漏洞?
首先,我们将端口分为TCP端口和UDP端口两部分,分别查看它们受攻击的情况
我们利用下述指令筛选出蜜罐主机被攻击的TCP端口:
我们再利用下述指令筛选出蜜罐主机被攻击的UDP端口:
使用Wireshark过滤相关条件
(tcp.dstport == 135 || tcp.dstport == 25)&& ip.dst == 172.16.134.191
25端口和135端口进行了TCP三次握手
接下来看TCP的80端口
进行了类似缓冲区溢出攻击的相关数据包,但都被蜜罐主机识别并发送RST数据包
接下来看TCP的139端口
多个IP尝试和蜜罐主机在此端口建立连接,但都被蜜罐主机识别并发送RST数据包
接下来看TCP的445端口:
可以发现
有PSEXESVC.EXE,这是一种Dv1dr32蠕虫,通过IRC进行通信,返回信息中含有\PIPE\ntsvcs,通过搜索可知,这是一个远程调用,所以攻击者肯定是获得了权限,因此这个攻击成功的。
4.7 哪些攻击成功了?是如何成功的?
分析可知,成功的攻击发起者是61.111.101.78,它是通过445端口使用蠕虫攻击实现的
三、问题及解决方案
1.下载好的附件总是被删掉
解决方案:关闭杀毒软件
2.wireshark包分析能力较差
解决方案:参考其他同学的报告,并上网查资料进行学习
四、学习感悟、思考等
本次实验相对来说较为复杂,步骤较多,需要下载很多东西,并且也让我们复习并使用了一些之前课程学习和使用的软件和操作,可以说是在掌握新知识的同时也温习了旧的知识,对我而言收获很多,也很高兴下周没有实验课,终于可以停一周的实验了!!!当然也希望在未来的学习和实验中学到更多,学的更快乐!