20231911 马星 2023-2024-2《网络攻防实践》第8周作业

1.实践内容
1.1 实践任务:
1.1.1 动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
1.1.2 动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
1.1.3 分析实践任务一:

分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
2、找出并解释这个二进制文件的目的;
3、识别并说明这个二进制文件所具有的不同特性;
4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
6、给出过去已有的具有相似功能的其他工具;
7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
1.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、那些攻击成功了?是如何成功的?
1.2 恶意代码
1.2.1 恶意代码概念

定义一:恶意代码又称恶意软件。这些软件也可称为广告软件(adware)、间谍软件(spyware)、恶意共享软件(malicious shareware)。是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。与病毒或蠕虫不同,这些软件很多不是小团体或者个人秘密地编写和散播,反而有很多知名企业和团体涉嫌此类软件。有时也称作流氓软件。
定义二:恶意代码是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。最常见的恶意代码有计算机病毒(简称病毒)、特洛伊木马(简称木马)、计算机蠕虫(简称蠕虫)、后门、逻辑炸弹等。
1.2.2 恶意代码分类

恶意代码的分类标准主要是代码的独立性和自我复制性,独立的恶意代码是指具备一个完整程序所应该具有的全部功能功能,能够独立传播、运行的恶意代码,这样的恶意代码不需要寄宿在另一个程序中。非独立恶意代码只是一段代码,必须嵌入某个完整的程序中,作为该程序的一个组成部分进行传播和运行。对于非独立恶意代码,自我复制过程就是将自身嵌入宿主程序的过程,这个过程也称为感染宿主程序的过程。对于独立恶意代码,自我复制过程就是将自身传播给其他系统的过程。不具有自我复制能力的恶意代码必须借助其他媒介进行传播。

类型例子
具有自我复制能力的依附性恶意代码主要代表是病毒
具有自我复制能力的独立性恶意代码主要代表是蠕虫
不具有自我复制能力的依附性恶意代码主要代表是后门
不具有自我复制能力的独立性恶意代码主要代表是木马

1.2.3 不同恶意代码的区别

病毒侧重于破坏系统和程序的能力
木马侧重于窃取敏感信息的能力
蠕虫侧重于网络中的自我复制能力和自我传染能力

病毒木马蠕虫
存在形式寄生独立文件独立文件
传染途径通过宿主程序运行植入目标主机系统漏洞
传染速度最慢
攻击目标本地文件文件、网络主机存在漏洞的网络程序
触发机制攻击者指定条件自启动自动攻击有漏洞的程序
防范方法从宿主文件中清除清除启动项和木马服务程序更新安全补丁
对抗主体用户,反病毒软件用户、管理员、反病毒软件应用程序供应商、用户和管理员
1.3 僵尸程序与僵尸网络
1.3.1 僵尸网络概念

僵尸网络(Botnet)是指采用一种或多种转播手段,将大量主机感染 bot 程序(僵尸程序)病毒,从而控制者和被感染主机之间所形成的一个可一对多控制的网络。攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。

控制僵尸网络的攻击者称为“僵尸主控机(Botmaster)”。僵尸主控机通过僵尸网络的命令与控制(Command and Control, C&C)服务器向 bot 发布命令,C&C 充当僵尸主控机和僵尸网络之间的接口。如果没有 C&C 服务器,僵尸网络将退化为一组无法协同运行的独立的受恶意软件入侵的机器。这就是可控性成为僵尸网络的主要特点之一的原因。
1.3.2 主要特点

根据我们对僵尸网络的定义,它主要有一下几种特点:

(1)受感染计算机组成的网络

僵尸网络不仅是对许多计算机的大规模感染,更是一个由受感染计算机组织成的网络,并且相互之间或者和一个中间实体之间能够进行通信,并根据指令以协作的方式采取行动。

(2)能远程调度

僵尸网络必须能够接收并执行攻击者或者僵尸主控机发送的命令,并且根据这些指令以协作的方式采取行动。这就是僵尸网络和其他恶意软件,例如远程控制木马的不同之处。

(3)用来进行恶意活动

威胁存在的主要原因是它实施恶意活动,其主要目的是执行攻击者的指令。
1.3.3 僵尸网络的危害

随着僵尸网络的不断渗透和扩散,公司必须比以往更加重视和了解边界安全。为此,公司不仅需要了解僵尸网络的功能和运行机制,也需要了解它们所带来的安全威胁。

对僵尸网络非法入侵做出快速有效的响应,对企业来说可能是一项最为紧迫的挑战。不幸的是,光靠利用基于签名的技术来消除这些安全威胁是远远不够的。使用这种技术往往会花费数小时甚至是数天时间,才能检测到僵尸网络并对其做出响应。僵尸网络最容易吸引各类高科技网络犯罪分子,他们可以借助僵尸网络的温床酝酿和实施各种网络攻击和其他非法活动。

僵尸网络的所有者会利用僵尸网络的影响力对企业展开有针对性的攻击。除了分布式垃圾邮件和攻击电子邮件数据库之外,他们还会发动分布式拒绝服务攻击。僵尸网络越来越喜欢利用窃取企业财务信息或者商业机密,进而对企业进行敲诈勒索和追逐其他利益活动。 另外,他们还可以利用企业与企业之间的网络互联或者其他同行合作伙伴来扩大攻击。这也就是为什么企业已经成为僵尸网络重点攻击的受害群体之一的重要原因。

当僵尸网络获得访问公司网络的权限之后,它们就可以肆意捕捉和偷窃公司客户的银行卡、交易和其他重要数据。这样一来,不仅严重危害了客户的私人利益,也损害了公司的宝贵资源和企业形象,从而对企业造成致命创伤。

2.实践过程
2.1 动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
1.将下载好的RaDa.exe程序放到WinXPattacker虚拟机中:
在这里插入图片描述先输入“cd 桌面”命令进入桌面后输入 file RaDa.exe,查看该文件类型:
在这里插入图片描述继续输入指令:strings RaDa.exe查看字符串,发现字符串大量乱码,说明文件被加壳:
在这里插入图片描述2.接着使用PEiD工具查看文件加壳类型:
在这里插入图片描述在这里插入图片描述在这里插入图片描述3.接下来使用超级巡警进行脱壳,打开超级巡警:
在这里插入图片描述在这里插入图片描述在这里插入图片描述查看桌面,可以看到RaDa_unpacked.exe这个文件:
在这里插入图片描述4.使用命令strings RaDa_unpacked.exe查看脱壳后的RaDa.exe,可以看到产生大量函数调用名以及其他有用字符串:
在这里插入图片描述5.接下来用 IDA Pro Free 打开RaDa_unpacked.exe这个文件:
在这里插入图片描述在这里插入图片描述在这里插入图片描述用 IDA PRO Free 打开RaDa_unpacked.exe程序,可以看到作者相关信息、发布时间、邮箱等:
在这里插入图片描述2.2 动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

1.复制crackme1.exe和crackme2.exe两个问及那到WinXP Attacker虚拟机中:
在这里插入图片描述首先检查一下两个文件的完整性,计算其 md5 值:
分别输入指令:
MD5sum crackme1.exe
MD5sum crackme2.exe
在这里插入图片描述2.分别使用file命令file crackme1.exe;file crackme2.exe查看其文件类型:
可以看到这两个文件都是32位windows下PE文件。
在这里插入图片描述3.对crackme1.exe进行分析,试探输入格式。在接受一个参数的时候输出信息与其他不同,猜测该程序接受一个参数。
分别输入指令:
crackme1.exe 3
crackme1.exe 3 5
crackme1.exe 3 5 8
在这里插入图片描述4.接下来利用IDA Pro打开这个程序分析打开通过Strings窗口可以查看该程序中出现的字符串。通过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”这两个字符串。由此我们可以猜测,前者就是我们需要的口令,后者就是输入口令正确时程序的输出信息
在这里插入图片描述在这里插入图片描述接下来看函数调用图(Function Call)可以发现:关键的部分在sub_401280这里,程序是使用strcmp函数来输入的,然后利用print和fprint函数输出。
在这里插入图片描述接下来看sub_401280流程图,可以看到cmp [ebp+arg_0],2,可以用来判断程序是否有两个参数:
在这里插入图片描述在这里插入图片描述在这里插入图片描述继续往下分析,我们可以看到其他的几条口令:
在这里插入图片描述在这里插入图片描述在这里插入图片描述5.由上面一系列流程,可以猜测正确的口令应该是"I know the secret",输入命令:crackme1.exe “I know the secret”运行改口令:
我们可以得到这样一条回复"You know how to speak to programs,Mr.Reverse-Engineer",这表明口令修改成功。
在这里插入图片描述6.分析程序crackme2.exe的前面一系列过程与分析crackme1.exe的过程类似,所以从打开Function call(函数调用图)开始,发现关键的部分在sub_401280这里。
在这里插入图片描述可以判断出关键口令为I know the secret,从图中可以看到,代码逻辑中的程序名称改为:crackmelpease.exe.因此需要对程序名称进行修改。
在这里插入图片描述在这里插入图片描述输入指令: copy crackme2.exe crackmeplease.exe :
将程序复制并命名为crackmeplease.exe。
在这里插入图片描述输入指令:crackmeplease.exe “I know the secret”:
得到的反馈信息为:We have a little secret: Chocolate,表明操作成功。
在这里插入图片描述2.3 分析实践任务一:分析一个自制恶意代码样本rada

分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
2、找出并解释这个二进制文件的目的;
3、识别并说明这个二进制文件所具有的不同特性;
4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
6、给出过去已有的具有相似功能的其他工具;
7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

1.首先时查看摘要和文件类型,输入指令:md5sum RaDa.exe指令得到其md5摘要:
在这里插入图片描述输入指令:file RaDa.exe:
可以看出这是一个32位的GUI文件。
在这里插入图片描述2.接下来打开监听工具process explorer,对RaDa.exe文件进行检测:
在这里插入图片描述在这里插入图片描述在win xp虚拟机中双击运行RaDa_unpacked.exe,然后再使用process explorer对RaDa_unpacked.exe进行检测:
在这里插入图片描述可以发现:
①程序连接到目标地址为10.10.10.10的主机下名为RaDa——commands的网页上;
②在流程中,程序有创建文件夹C:\RaDa\tmp保存下载的文件;
③程序可以依次读、写、删除相关的注册表,如注册表查看发现没有相关信息,则注册表已删除;
④put:表示将宿主主机中的指定文件上传到服务器;
get:表示将服务器中的指定文件下载到宿主主机中; screenshot:表示截取宿主主机的屏幕并保存到tmp文件夹;
sleep;表示停止活动一段时间。
在这里插入图片描述在这里插入图片描述3.打开 IDA Pro对RaDa_unpacked.exe程序进行相关的分析:
在这里插入图片描述在这里插入图片描述在菜单栏中找到Edit,点击其中的Setup选项,接着设置其中的类型为 Unicode:
在这里插入图片描述4.在Strings里查看相关参数,可以看到作者的一些信息:
在这里插入图片描述5.选中其中的一行并点击进入此函数,得到汇编代码如图:
在这里插入图片描述在这里插入图片描述问题及回答:

问1:提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息。
答:文件的摘要是caaa6985a43225a0b3add54f44a0d4c7,这是一个PE可执行文件,同时也是一个UPX加壳文件。使用了UPX加壳工具进行了加壳处理,加壳方式为:UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo。

问2:找出并解释这个二进制文件的目的。
答:这个二进制文件通过网络获取指令,连接互联网时,该恶意程序就会通过http请求连接到指定主机,进行接受攻击者指令操作,并且攻击者可以完全控制该系统,所以这应该是一个后门程序。

问3:识别并说明这个二进制文件所具有的不同特性。
答:该程序启动之后将自己复制到c盘之中,并且每过一段时间就会尝试与10.10.10.10建立tcp连接。

问4:识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术。
答:答:工程中使用到了UPX加壳技术。

问5:对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由。
答:样本不具有传播和感染的性质,同时没有将自己伪装成有用的程序以欺骗用户运行,因此不属于病毒、蠕虫、木马,所以猜测这是一个后门程序或者僵尸程序。

问6:给出过去已有的具有相似功能的其他工具。
答:Bobax——2004也是使用HTTP协议从指定的服务器下载命令文件,然后解析并执行其中的指令;还有特洛伊木马Setiri、GatSla等。

问7:可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
答:可以调查;作者为Raul siles 和 David Perze。使用ida或strings能查看。
2.4 分析实践任务二:Windows 2000系统被攻破并加入僵尸网络

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

问1:IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
答:
①因特网中继聊天(Internet Relay Chat),简称IRC。IRC的工作原理非常简单,客户端软件通过因特网以IRC协议连接到IRC服务器上即可。IRC特点是通过服务器中继与其他连接到这一服务器上的用户交流。
②注册时需要发送的消息有三种,分别是口令,昵称和用户信息。格式如下:USER 、PASS 、NICK 。注册完成后,客户端就使用JOIN信息来加入频道。
③IRC服务器明文传输通常在6667端口监听,也会使用6660—6669端口。SSL加密传输在6697端口。

问2:僵尸网络是什么?僵尸网络通常用于什么?
答:
①僵尸网络是攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。
②僵尸网络往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。

问3:蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
答:
1.打开Wireshark,打开数据文件botnet_pcap_file.dat,并设置过滤条件为:ip.src = =172.16.134.191 && tcp.dstport== 6667。
在这里插入图片描述2.可以找到所有与蜜罐主机进行通信的 IRC 服务器: 209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10、
在这里插入图片描述问4:在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
答:
1.先输入指令:apt-get install tcpflow来安装tcpflow:
在这里插入图片描述2.输入指令:tcpflow -r botnet_pcap_file.dat ‘host 209.196.44.172 and port 6667’:
从而获取209.196.44.172与172.016.134.191之间的所有的 IRC 数据包。
在这里插入图片描述在这里插入图片描述3.
使用命令:
在这里插入图片描述查询主机个数主要看是 209. 开头的文件:
可以看到总共有3462个文件。
在这里插入图片描述问5:那些IP地址被用于攻击蜜罐主机?
答:
蜜罐主机作为诱导主机,进入其流量一般都应当是攻击行为,因此使用tcpdump查找连接主机ip。
使用命令:
在这里插入图片描述接着在botnet_pcap_file.dat文件所在的目录下打开ip.txt文件:
在这里插入图片描述问6、7:攻击者尝试攻击了那些安全漏洞?哪些攻击成功了?是如何成功的 ?
答:
打开wireshark对各个端口进行分析,过滤http请求,发现攻击者尝试了溢出、目录穿越等攻击,但均未成功:
在这里插入图片描述在这里插入图片描述在这里插入图片描述3.学习中遇到的问题及解决

问:学习通上下载的文件无法成功拷贝到虚拟机中。
解决:关掉Windows Denfeder,成功解决了问题。
4.学习感想和体会

本次实验比较简单,但是分析较繁琐。通过这次实验,我学习到了恶意代码的分析及处理以及对各种报文的过滤方法进一步掌握。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值