20232925 2023-2024-2 《网络与系统攻防技术》第八次作业

20232925 2021-2022-2 《网络攻防实践》第八次作业

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.实践过程

2.1rada恶意代码文件识别,脱壳与字符串提取

打开命令行终端,使用file RaDa.exe,识别出这是32位的PE文件,还是个GUI文件,查阅资料这是勒索病毒-特洛伊木马变种,如图一。
在这里插入图片描述

图一

使用process explorer监听RaDa的进程如图二。
在这里插入图片描述

图二
在字符串选项可以分析该软件的执行过程和目的,通过上网上传和下载了文件,且对注册表进行了改动,如图三。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/352f0c633ccb4f56bb9cc356cad614ac.png)
图三

然后使用PEiD软件查看RaDa有无加壳,且可以进一步获取信息为后续脱壳进行处理,如图四其使用了UPX 0.89.6-1.02版本的压缩壳。
在这里插入图片描述

图四

打开超级巡警脱壳器,选中文件的目录,我的是在C盘下的data/rada,选取文件后点击给我拖即在文件目录生辰了RaDa的脱壳版本RaDa_unpacked.exe,如图五。
在这里插入图片描述

图五

在命令行中使用字符串提取工具,输入命令strings RaDa_unpacked.exe | more,将结果通过管道传送给more进行处理,如图六所示,但是通过查找并未发现作者。
在这里插入图片描述

图六

考虑使用IDA反汇编RaDa脱壳版本,打开结果如图七。
在这里插入图片描述

图七

通过IDA进入RaDa的函数和字符串中,查询到有名为Raul Siles && David Perez和时间日期,可以判断Raul Siles && David Perez即为作者名。如图八所示。

在这里插入图片描述

图八

2.2分析Crackme程序

#2.2.1分析crackme1.exe

先是打开命令行终端,通过命令执行crackme1.exe加上字母参数来判断输入的参数个数。通过传入一个参数和多个参数的返回值判断,输入应该只有一个参数,如图九所示。
在这里插入图片描述

图九

通过上述的字符串返回值来看,程序中有设定字符串判断语句来决定返回的函数值,在IDA Pro中反汇编crackme1.exe,可以看到字符串选项中也有这些字符串,如图十所示。这些语句大概就一个是密码,和其他的提示语。
在这里插入图片描述

图十

然后点击其中一个字符串会跳转到程序执行处,如图十一所示,语句都关联到函数sub_401280。
在这里插入图片描述

图十一

在函数列表找到这个函数,接着在图标中查看它的函数关联。如图十二,主要函数功能是字符串比较和打印,strcmp使用字符串匹配密码
在这里插入图片描述

图十二

进一步分析,如图十三,这个应该是参数比较判断和参数缺失提示。
在这里插入图片描述

图十三

如图十四,有关键函数比较,猜测"I know the secret"为密码。
在这里插入图片描述

图十四

在命令行终端确认猜测,输入crackme1.exe "I know the secret"后返回结果如图十五所示,猜测正确。
在这里插入图片描述

图十五

#2.2.2分析crackme2.exe

先是打开命令行终端,通过命令执行crackme2.exe加上字母参数来判断输入的参数个数。通过传入一个参数和多个参数的返回值判断,输入应该只有一个参数,如图十六所示。
在这里插入图片描述

图十六

在IDA Pro中反汇编crackme2.exe,查看明文字符串如图十七所示。
在这里插入图片描述

图十七

类似crackme1,找到它的函数关联如图十八,关键函数是sub_402180,关键功能有字符串输出,比较和输出。
在这里插入图片描述

图十八

进入它的汇编代码进一步分析这个函数,如图十九。由之前实验能确定ebp+arg_0是参数个数,那么判断ebp+arg_4才应该是程序名。
在这里插入图片描述

图十九

将文件“crackme2”重命名为“crackmeplease.exe”,然后再终端输入crackmeplease.exe “I know the secret”,返回结果如图二十所示,猜测成功。
在这里插入图片描述

图二十

2.3分析一个自制恶意代码样本rada

2.3.1提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

使用md5sum RaDa.exe的到md5摘要值,如图二十一。
在这里插入图片描述

图二十一
2.3.2找出并解释这个二进制文件的目的;

使用process explorer监视RaDa,然后查看其字符串内容,如图二十二所示。发现该软件是连接到了http://10.10.10.10/RaDa/RaDa_commands.html的网页,然后下载和上传了文件,且在用户的C盘创建了一个RaDA\tmp的文件夹,是用来存放文件。其中对注册表也进行了操作,包括读写和删除。
在这里插入图片描述

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

通过监视分析Rada可知,该程序执行后会上网下载文件到用户本地,并且通过修改注册表实现自启动,而RaDa_commands.html这个网页中包含了攻击者的相关指令,程序拿到指令后对相应的IP进行DDos攻击。该程序是一个后门程序。通过进程主动访问10.10.10.10/RaDa网站从而进行远程控制。

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

如图二十三所示,该二进制文件使用了UPX 0.89.6-1.02版本的压缩壳进行保护,如果进行反汇编操作需要先脱壳处理。
在这里插入图片描述

图二十三
其次是通过后门让主机主动连接而进行远程控制,这样反弹连接的方式避免了防火墙对攻击数据包的过滤。
2.3.5对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

该恶意代码是一个后门程序,它是通过自运行的方式来实现远程攻击对应IP的用户。而病毒的特征是传播性,能够通过网络或设备传播到其他主机,所以不是病毒;其次该恶意代码是作为一个可见的程序存在,并没有伪装成其他服务进程来欺骗用户运行。

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

Setiri,GatSlag,Bobax都是具有相似功能的工具。如Bobax是使用HTTP 协议做命令和控制机制。

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

查询这个二进制文件的开发作者可以通过IDA反汇编或者process explorer监听,然后输入指令 Rada.exe -authors也可以实现。通过IDA返汇编需要能给程序脱壳,而process explorer只用监听就行,最后Rada.exe -authors需要的环境是不在虚拟机 VMware 中运行。

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

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

IRC是一种互联网聊天协议,允许用户通过文本进行实时交流。它是在互联网上广泛使用的一种聊天和即时通讯方式。
当IRC客户端申请加入一个IRC网络时,它将发送一条消息,称为 “JOIN” 消息。这条消息包含要加入的频道或聊天室的名称,以便客户端可以加入相应的聊天环境。
IRC一般使用以下TCP端口:6665,6666,6667,6668,6669。

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

僵尸网络是在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方式。从1999 年第一个具有僵尸网络特性的恶意代码PrettyPark 现身互联网,到2002 年因SDbot 和Agobot 源码的发布和广泛流传,僵尸网络快速地成为了互联网的严重安全威胁。第一线的反病毒厂商一直没有给出僵尸程序(bot)和僵尸网络的准确定义,而仍将其归入网络蠕虫或后门工具的范畴。从2003 年前后,学术界开始关注这一新兴的安全威胁,为区分僵尸程序、僵尸网络与传统恶意代码形态,Puri及McCarty均定义“僵尸程序为连接攻击者所控制IRC 信道的客户端程序,而僵尸网络是由这些受控僵尸程序通过IRC 协议所组成的网络”。为适应之后出现的使用HTTP 或P2P 协议构建命令与控制信道的僵尸网络,Bacher 等人给出了一个更具通用性的定义:僵尸网络是可被攻击者远程控制的被攻陷主机所组成的网络。僵尸网络与其他攻击方式最大的区别特性在于攻击者和僵尸程序之间存在一对多的控制关系。Rajab 等人在文献中也指出,虽然僵尸网络使用了其他形态恶意代码所利用的方法进行传播,如远程攻击软件漏洞、社会工程学方法等,但其定义特性在于对控制与命令通道的使用。
  综合上述分析,僵尸网络是控制者(称为Botmaster)出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。

2.4.3蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

使用Wireshark打开botnet_pcap_file.dat,然后用如下命令过滤IP地址和端口号。
ip.src == 172.16.134.191 && tcp.dstport == 6667 || tcp.dstport == 6697
之后通过统计分析通信的源IP和目的IP有哪些,并继续用如下命令过滤。
ip.src == 172.16.134.191 && tcp.dstport == 6667 || tcp.dstport == 6697
结果如图二十四所示,可以发现蜜罐主机与下面五个IRC服务器进行了通信。
在这里插入图片描述

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

首先通过如下命令对数据包进行分流。
tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'
然后对相应的文件,输入如下命令查看不同主机的访问数量,如图二十五所示,访问数量为3461。
在这里插入图片描述

图二十五
2.4.5那些IP地址被用于攻击蜜罐主机?

使用如下命令查找被用于攻击蜜罐主机的IP地址,将结果输入到honey的文本中,结果如图二十六所示。
tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > honey.txt;wc -l honey.tx
在这里插入图片描述

图二十六
2.4.6攻击者尝试攻击了那些安全漏洞?

首先是查找受到攻击的端口有哪些,先是通过如下命令获取TCP端口,有135、139、25、445、4899、80。
tcpdump -r 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
在这里插入图片描述

图二十七

然后获取UDP端口有137。
tcpdump -r botnet.pcap -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq
在这里插入图片描述

图二十八

依次通过命令过滤对指定端口的数据流量进行分析。
tcp.dstport==135 && ip.dst == 172.16.134.191
首先是对于135端口,如图二十九,仅正常握手流量。
在这里插入图片描述

图二十九

tcp.dstport==139 && ip.dst == 172.16.134.191
对于139端口,如图三十所示,有多个IP与蜜罐主机建立连接,但都被蜜罐主机识别并发送RST数据包。
在这里插入图片描述

图三十

tcp.dstport==25 && ip.dst == 172.16.134.191
对于端口25,如图三十一所示,未发现攻击行为。
在这里插入图片描述

图三十一

tcp.dstport==445 && ip.dst == 172.16.134.191
对于端口445,如图三十二所示,追踪数据流发现有PSEXESVC.EXE文件。通过查阅知道这是被用来进行远程连接的工具。
在这里插入图片描述

图三十二

tcp.dstport==4899 && ip.dst == 172.16.134.191
对于端口4899,如图三十三所示,210.22.204.101访问过这个端口,4899端口是Radmin远程控制工具的默认端口,用来控制蜜罐主机。
在这里插入图片描述

图三十三

tcp.dstport==80 && ip.dst == 172.16.134.191
对于端口80,如图三十四所示,可以发现进行多次缓冲区溢出攻击的相关数据包。
在这里插入图片描述

图三十四

udp.dstport == 137 && ip.dst == 172.16.134.191
对于UDP端口137,如图三十五所示,该端口是NetBIOS 名称服务器,通过此端口获取用户信息。在这里插入图片描述

图三十五
2.4.7那些攻击成功了?是如何成功的?

通过以上分析知道,最终是在445端口通过PSEXESVC.EXE渗透成功。

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

  • 问题1:使用winXP和Kali没有网络。
  • 问题1解决方案:工作模式是之前的桥接模式,后又改回了NAT模式。
  • 问题2:tcpflow下载会报错
  • 问题2解决方案:更新了下源

4.实践总结

本次实验主要学习了关于恶意软件的知识,包括监听、脱壳、返汇编的方式来解析恶意软件,从而获取恶意软件的工作模式乃至开发者信息。其次也能抓取流量通过wireshark分析病毒,进一步分析其攻击流程和漏洞利用等。
总的来说这次试验加强了我对病毒木马和恶意软件的认识,也学习了如何用工具去分析。

参考资料

  • https://blog.csdn.net/zhouwei1221q/article/details/48222917
  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值