20232822 2023-2024-2 《网络攻防实践》实验8报告

1、实验内容

动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.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、实验过程

(1)动手实践任务一

首先在学习通下载rada.rar文件并解压,然后file这个文件可以得到以下信息
在这里插入图片描述
这段信息表明,“RaDa.exe” 是一个可执行文件,采用 PE32 格式,适用于 Intel 80386 架构的处理器,并且是用于 MS Windows 操作系统的图形用户界面 (GUI) 程序,它被分成了3个部分。 PE32 是指 Portable Executable 32-bit 的缩写,它是 Windows 系统上可执行文件的标准格式之一。

在winxp虚拟机中用PEiD打开RaDa.exe文件,可以看到这个文件的加壳工具为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
在这里插入图片描述
使用超级巡警之虚拟机自动脱壳器对其进行脱壳,脱壳后的文件为RaDa_unpacked.exe
在这里插入图片描述
用IDA Pro Free打开脱壳后的文件
在这里插入图片描述
点击strings,在右下角右击选择setup勾选上Unicode选项后点击OK
在这里插入图片描述
向下查找可以看到作者为Raul Siles 和David Peres
在这里插入图片描述

(2)动手实践任务二

在学习通上下载crackme1.exe和crackme2.exe文件,先检查一下两个文件的完整性,计算其 md5 值(md5sum命令用于计算文件的 MD5 摘要,并将结果显示为 32 个字符的十六进制数字串。MD5 摘要是根据文件内容生成的唯一标识符,通常用于验证文件的完整性或比较两个文件是否相同。通过比较文件的 MD5 摘要,可以检查文件是否在传输或存储过程中发生了改变,以及确定文件是否被篡改),再用file命令查看文件类型,可以看到这两个文件都是32位windows下PE文件。
在这里插入图片描述
用IDA Pro Free打开crackme1.exe进行分析。打开strings窗口查看字符串,可以看到“I think you are missing something.” “Pardon? What did you say?”“I know the secret”和“You know how to speak to programs, Mr. Reverse-Engineer\n”。
在这里插入图片描述
点击view–Graghs–Function calls查看该程序函数调用图,分析可以得出,关键的部分在sub_401280这里,程序是使用strcmp函数来输入的,然后利用print和fprint函数输出。
在这里插入图片描述
查看sub_401280的汇编代码以及函数调用图。可以看到,左侧参数个数不匹配的输出,右侧正确的输出。
在这里插入图片描述
在cmd里输入命令,验证上述分析
在这里插入图片描述
在这里插入图片描述

用上述相同的方法打开crackme2.exe进行分析,先看它的函数调用图
在这里插入图片描述
程序主函数刚开始接受两个参数,当判断为两个参数时程序跳转到local_4012D5处执行,代码如下:
在这里插入图片描述

可以看到该函数首先会将第一个参数与“crackmeplease.exe”进行比较,如果相同的话则跳转到local_401313函数执行;
否则的话则输出“I have an identity problem.\n”并结束程序的运行;
接下来我们来看local_401313函数的代码
在这里插入图片描述
该函数首先会将“I know the secret”与第二个参数进行比较,如果相同的话,则跳转到local_401351函数处继续执行;
否则会输出语句“Pardon? What did you say?\n”并结束程序的执行;local_401351函数会输出“We have a little secret: Chocolate\n”;由于第一个参数变为了“crackplease.exe”,因此我们想要程序正确输出必须将该程序的名称改为“crackplease.exe”,如下图所示:
在这里插入图片描述

在cmd里输入命令,验证上述分析
在这里插入图片描述

(3)分析实践任务一

首先双击运行RaDa.unpacked.exe文件,之后打开监视工具Process Explorer和wireshark
在这里插入图片描述
找到RaDa.unpacked.exe右击查看属性,点击Strings可以看到该程序用http连接到目标为10.10.10.10的主机下名为RaDa—commands的网页上,创建文件夹C:\RaDa\tmp保存下载文件,进行DDOS拒绝服务攻击,将RaDa.exe复制到C:\RaDa\bin。
在这里插入图片描述
打开C盘中的RaDa可以看到有相应文件
在这里插入图片描述
接着往下看到有读、写和删除注册表
在这里插入图片描述

在这里插入图片描述
接着往下看,还可以看到一些我们熟知的如get、put、sleep、screenshot等命令
在这里插入图片描述
在wireshark中使用过滤条件ip.addr==10.10.10.10查看在此期间所捕获的数据包
在这里插入图片描述
由上述分析回答以下问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

该二进制文件的md5摘要caaa6985a43225a0b3add54f44a0d4c7我们也知道了这是一个PE可执行文件,同时也是一个UPX加壳文件。

2、找出并解释这个二进制文件的目的;

该程序会自动连接到目标为10.10.10.10/RaDa的主机下一个名为RaDa_commands.html的网页上;分别下载和上传某些文件,并且在受害主机C盘目录下创建一个文件夹“C:/RaDa/tmp”来保存其下载的文件;在注册表编辑器中,增加了bin/目录下的RaDa.exe,说明该程序已经成为自启动项,还试图从一个HTML页面获取并解析命令;最后还可以发现该恶意程序中可执行DDos拒绝服务攻击;故猜测这应该是一个后门程序或僵尸网络程序。

3、识别并说明这个二进制文件所具有的不同特性;

RaDa.exe被执行时,它会在实验主机的C盘下创建一个RaDa目录,并创建一个bin文件夹,一个tmp文件夹,tmp文件夹用来临时存储从目标主机下载到受害主机的文件和从受害主机获取的文件信息,bin文件夹中安装了一个RaDa.exe可执行文件。

4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;

UPX 加壳技术

5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

它不属于病毒和蠕虫,因为此二进制程序不具有自主传播模块;又因为该程序未进行伪装,所以也不是木马;若攻击者仅仅用此程序进行远程控制,那么就是后门程序;若再次基础上加入僵尸网络,则就是僵尸程序。

6、给出过去已有的具有相似功能的其他工具;

Setiri、GatSlag

7、可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

该二进制文件的开发作者:Raul Siles & David Perez, 2004

(4)分析实践任务二

Windows 2000系统被攻破并加入僵尸网络

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:

1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

IRC是互联网中的即时聊天协议,全称为Internet Relay Chat。当IRC客户端申请加入一个IRC网络时,将发送一条消息称为“NICK”消息,其中包含用户选择的昵称。IRC一般使用TCP端口6667,但也可以使用其他端口。

2、僵尸网络是什么?僵尸网络通常用于什么?

僵尸网络是由一组受控制的计算机(被感染的主机)组成的网络,这些计算机通常在未经用户授权的情况下被黑客或恶意软件控制。这些被控制的计算机可以被用来进行各种恶意活动,如发送垃圾邮件、发动分布式拒绝服务攻击(DDoS攻击)、进行网络钓鱼等。

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
首先在学习通下载botnet_pcap_file.dat文件并用wireshark打开,IRC服务器明文传输通常在6667端口监听;
所以我们设置过滤条件ip.src == 172.16.134.191 and tcp.dstport == 6667
在这里插入图片描述
之后打开statistics–ipv4statistics–all addresses,输入过滤条件
在这里插入图片描述
我们可以看到五个IRC服务器,分别为:

209.126.161.29
209.196.44.172
217.199.175.10
63.241.174.144
66.33.65.58

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

输入命令sudo apt-get install tcpflow在kali上安装tcpflow
在这里插入图片描述
安装成功后使用命令

tcpflow -r /home/kali/Desktop/botnet_pcap_file.dat "host 209.196.44.172 and port 6667"

读取文件,并筛选host和端口6667,然后执行

export LC_COLLATE='C'
export LC_CTYPE='C'

避免出现字符编码问题,导致计数不准确
在这里插入图片描述
运行结束后可以看到kali目录下有了一个report.xml文件
在这里插入图片描述
接下来利用如下指令进行搜索有多少主机连接:

cat 209.196.044.172.06667-172.016.134.191.01152 | grep -a "^:irc5.aol.com 353" | sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l 

grep获取昵称输出,sed去除前缀,tr将空格转换为换行,tr -d删除\r,grep -v去除空行,sort -u排序并去除重复,wc -l输出行数
在这里插入图片描述
我们可以看到有3457个主机连接

5、那些IP地址被用于攻击蜜罐主机?

使用如下指令找出所有连接主机的IP地址

tcpdump -n -nn -r /home/lvxiuwei/Desktop/botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > 20232822.txt;wc -l 20232822.txt

cut -d是指定字段的分隔符,uniq命令用于删除文本文件中重复出现的行,将结果输出到20232822.txt文件中,wc -l 20232822.txt显示行数
在这里插入图片描述
打开20232822.txt文件可以看到确实有165行
在这里插入图片描述
6、攻击者尝试攻击了那些安全漏洞?

在wireshark中 “Statistics” 菜单中,选择并打开 “Protocol Hierarchy”(协议分级)选项可以看到大部分都是TCP包,极少部分是UDP包
在这里插入图片描述
接下来进一步筛选出TCP和UDP包,命令如下:

tcpdump -r /home/lvxiuwei/Desktop/botnet_pcap_file.dat -nn 'src host 172.16.134.191 and tcp[tcpflags]== 0x12' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq //TCP包
tcpdump -r /home/lvxiuwei/Desktop/botnet_pcap_file.dat -nn 'src host 172.16.134.191 and udp ' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq //UDP包

在这里插入图片描述
我们可以看到
TCP响应端口为135、139、25、445以及4899、80;
UDP响应端口为137;

现在我们用wireshark打开这个文件,
首先使用过滤条件ip.dst172.16.134.191 && tcp.dstport80 && http能看出所有关于80端口的相关攻击的信息,可以看到210.22.204.101向蜜罐发送了很多的C,可能在进行缓冲区溢出攻击
在这里插入图片描述
往下翻看到了dafault.ida跟踪该数据包的TCP流,从中发现了C:\notworm,这是一个红色代码蠕虫攻击
在这里插入图片描述
使用过滤条件ip.dst172.16.134.191 && tcp.dstport445
从抓包结果中分析有针对IPC$ \samr \svcctl \r_server.exe admdll.dll raddrv.dll进行的普通查点、口令猜测、MSRPC-SVCCTL服务枚举漏洞等攻击。
在这里插入图片描述
往下可以看到可执行文件:PSEXESVC.EXE当客户端执行该可执行文件后,攻击方就可以远程控制执行文件的主机,然后获取权限
在这里插入图片描述
使用过滤条件ip.dst172.16.134.191 && tcp.dstport139
可以看到有NBSS包和SMB包以及TCP包,若干个个不同的IP访问了这个端口,能够发现很多时候他们的攻击指令是相同的,即使攻击机的IP地址不同,可以确定的是,他们都没有攻击成功
在这里插入图片描述
接下来再看4899端口,使用过滤条件ip.dst == 172.16.134.191 and tcp.dstport == 4899
从图中可知这个端口只有IP地址为210.22.204.101的主机访问过,可以查得4899端口是一个远程控制软件radmin服务端监听端口
在这里插入图片描述
我们接下来分析UDP的137端口设置过滤条件ip.dst == 172.16.134.191 and udp.port == 137,过滤结果如下图所示:
在这里插入图片描述
我们可以发现所有IP地址进行访问的信息都是相同的,这里推测应该是在进行NetBIOS查点。

7、哪些攻击成功了?是如何成功的?

由上述分析可知,针对TCP445端口的普通查点、口令猜测、MSRPC-SVCCTL服务枚举漏洞以及PSEXESVC等攻击成功了;
由上述分析可知,这些攻击是通过向对TCP445端口发送含有PSEXESVC.EXE的数据包,且将PSEXESVC.EXE地址改到系统目录下攻击成功的。攻击成功后通过利用SVCCTL漏洞获取目标主机服务。

3、学习中遇到的问题及解决

  • 问题1:分析实验时对攻击方法和漏洞都不太熟悉
  • 问题1解决方案:上网查资料,并与同学们沟通交流

4、实践总结

这次试验内容很多,知识点也很多,做完下来感觉学到了很多恶意代码方面的知识对漏洞方面的知识也有了进一步的学习了解。

参考资料

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值