20211913-冯馨茹-2021-2022-2 《网络攻防实践》第八次作业

一、实验内容

动手实践任务一

对提供的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、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

分析实践任务二:

分析的数据源是用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、恶意代码静态分析

在WinXP虚拟机的终端中使用命令file RaDa.exe查看RaDa.exe的文件类型,可知这是一个32位Windows PE可执行文件,并且有图形化窗口。

 

使用PEiD工具查看RaDa.exe使用的加壳工具,可以看到使用的加壳工具为UPX,还可以看到文件的入口点、偏移等信息。

 

 使用超级巡警脱壳器进行脱壳

 

 可以看到脱完之后生成了一个脱壳以后的程序RaDa_unpacked.exe

 

 打开IDA Pro Free选择脱壳之后的文件,即可看到rada恶意代码的编写作者。

 

 2、分析Crackme程序

在恶意程序所在目录下,使用file crackme1.exefile crackme2.exe命令查看两个文件信息,两个文件均为windows系统下32位的二进制可执行程序,使用控制台操作。

 

 先分析crackme1.exe

执行crackme1.exe,尝试输入不同类型不同数量的参数(数值、字符、字符串)执行,发现输入一个参数与输入多个参数时有不同的输出,推测该程序的输入为一个参数。

 

 利用IDA Pro Free打开crackme1.exe,通过Strings窗口可以看到4个字符串

 

 接下来在【View->Graphs->Function calls】中打开函数调用图,可以看到用于输出的print/fprint功能在sub_401280中,所以接下来查看sub_401280以寻找程序运行结果的输出情况。

 

 在Functions里找到sub_401280的汇编代码,可以看到通过比对输入的参数,输出不同的结果。猜测“I know the secret”是正确密码

输入命令crackme1.exe “I know the secret”进行验证,结果可以输出成功信息。

 

 同理分析crackme2.exe

直接利用IDA Pro Free打开crackme2.exe,通过Strings窗口可以看到5个明文字符串。

 

 接下来在【View->Graphs->Function calls】中打开函数调用图,可以看到用于输出的fprint功能在sub_401280中,所以接下来查看sub_401280以寻找程序运行结果的输出情况。

 

 在Functions里找到sub_401280的汇编代码,可以看到通过比对输入的参数,输出不同的结果。

 

 

 

 由上述分析可知,要得到正确输出,首先程序名要使用crackmeplease.exe,故先输入命令copy crackme2.exe crackmeplease.exe将crackme2.exe复制为crackmeplease.exe,再输入命令crackmeplease.exe “I know the secret”进行验证,结果可以输出成功信息。

 

 3、分析实践任务一

首先,在终端输入命令md5sum RaDa.exe取得文件摘要,输入命令file RaDa.exe分析该恶意程序的基本信息

 打开process explorer ,点击运行恶意程序脱壳后的RaDa_unpacked.exe。
在process explorer 中,查看strings进行分析。

 

可以看到RaDa.exe先通过HTTP,请求了10.10.10.10/RaDa/RaDa_commands.html

并将RaDa.exe缓存到了C:\RaDa\bin文件下,并且可发动DDos拒绝服务攻击

以下是对问题的回答:

1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息:
md5摘要值为caaa6985a43225a0b3add54f44a0d4c7,为32位PE GUI可执行程序,同时使用一个UPX加壳。


2、恶意文件的目的:
当用户连接互联网时,该程序就会通过http请求连接到指定主机,进行接受攻击者指令操作

3、识别并说明这个二进制文件所具有的不同特性:
RaDa.exe被执行时,它会在实验主机的C盘下创建一个RaDa目录,并创建一个bin文件夹,一个tmp文件夹,tmp文件夹用来临时存储从目标主机下载到受害主机的文件和从受害主机获取的文件信息,bin文件夹中安装了一个RaDa.exe可执行文件。


4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术:
该文件采用UPX对文件进行加壳。


5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由:
应该是一种后门程序。它不伪装自己,不是木马,而且似乎没有传播模块,也不是计算机病毒或蠕虫,从它接受远程连接传递的指令认为其为后门程序。


6、给出过去已有的具有相似功能的其他工具:
木马Bobax

7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
有上面的分析可知,此二进制文件是Raul siles和David Perze于2004年编写的。可以。脱壳之后,用strings分析就行。

4、分析实践任务二

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

是一种互联网上中继聊天的协议,IRC的工作原理非常简单,只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。
申请加入的时候要发送口令、昵称和用户信息:USER 、PASS 、NICK 。
明文传输时使用tcp6667端口,ssl加密时用6697端口。
(2)僵尸网络是什么?僵尸网络通常用于干什么?

僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络
僵尸网络的基本特性是使用一对多的命令与控制机制,主流的包括基于IRC协议的、基于HTTP协议的和基于P2P三大类。
攻击者可以发动DDos攻击的;利用Botnet发送大量的垃圾邮件;可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等;可以从事各种耗费资源的活动,对网络的性能产生影响。

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

在kali中打开botnet_pcap_file.dat,利用命令ip.src == 172.16.134.191 && tcp.dstport == 6667,因为IRC通过6667端口进行监听。从结果中可以找到五个IRC服务器,分别为:
209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172

 

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

 在kali中使用命令sudo apt install tcpflow安装tcpflow

试了很多遍,无法下载成功,不知道为什么。

 

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

输入命令tcpdump -n -nn -r /home/kali/Desktop/botnet_pcap_file.dat 'dst host 172.016.134.191' | grep -v 'reply' | cut -d '.' -f 10 | cut -d ':' -f 1 | sort | uniq | more >1.txt; wc -l 1.txt

 

 可以看出查找到148个被攻击的端口。

(6)攻击者尝试攻击了那些安全漏洞?

使用Tcpdump工具筛选出蜜罐主机有哪些端口是响应的。输入命令tcpdump -r /home/kali/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

 

 可以看到有135、139、25、445、4899、80。

用wireshark打开文件botnet.pcap,分析个端口,wireshark中使用条件tcp.dstport==80 && ip.dst == 172.16.134.191进行筛选,这些是目标地址为172.16.134.191、目标端口为80的数据包。

 

 在80端口上,发现24.197.194.106发送的消息包好像已经进入了主机,使用了cmd.exe,可能正在输入什么命令获得蜜罐的机密消息。

 

 再使用tcp.dstport==445 && ip.dst == 172.16.134.191来看TCP 445号端口,发现一个PSEXESVC.EXE字符串,是由61.111.101.78发起的,这似乎是一个类似于telnet的远程控制程序,某些反病毒扫描程序会报告其中的一个或多个工具感染了“远程管理”病毒。

 

 输入ip.dst==210.22.204.101,通过字符串信息可以知道主机210.22.204.101对蜜罐使用了LAN Manager口令猜测,并且成功攻击。

 

 (7)哪些攻击成功了?是如何成功的?
详见第六问的分析。

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

无法下载tcpflow,不知道如何解决。。。

四、实践总结

此次实验步骤比较多。

posted @ 2022-05-07 15:59  xxxxxr  阅读(38)  评论(0编辑  收藏  举报