其他分享
首页 > 其他分享> > 20192410 2021-2022-2 《网络与系统攻防技术》实验四 恶意代码分析实践 实验报告

20192410 2021-2022-2 《网络与系统攻防技术》实验四 恶意代码分析实践 实验报告

作者:互联网

20192410 2021-2022-2 《网络与系统攻防技术》实验四 恶意代码分析实践 实验报告


1.实验内容

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

2.使用IDA静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息

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

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)那些攻击成功了?是如何成功的?

2.实验过程

2.1恶意代码文件类型标识、脱壳与字符串提取

该文件是一个Windows PE可执行文件

2.2使用IDA静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息

2.2.1 crackme1.exe

利用IDA打开crackme1.exe,分析可知,首先cmp指令会判断参数个数是否为两个,如果是则会执行下一条跳转指令。然后会通过strcmp判断参数是否为"I know the secret"。因为程序名是默认参数,所以只需要在运行该程序时加上一个参数"I know the secret"就可以得到正确的输出。

我们也可以看到,如果输入的参数个数不为一个,则会输出"I think you are missing something.",如果输入的参数数量正确但是不为"I know the secret",会输出"Pardon? What did you say?"

当然,我们也可以通过反编译来进行验证

2.2.2 crackme2.exe

以同样的方法分析crackme2.exe,注意与crackme1.exe相比,2在判断参数与"crackmeplease.exe"是否相等之前,没有将eax+4,所以这里用来进行判断的参数并不是我们输入的参数,而是默认参数,即函数名,所以如果要得到特定的输出,我们需要将程序名改为crackmeplease.exe。其他与crackme1.exe的分析几乎一致。

如果输入的参数个数不为一,会输出"I think you are missing something.",如果程序名没有更改或者输入的参数不是"I know the secret",程序会输出"I have an identity problem."

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

回答问题:

2.4 取证分析实践

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

IRC:因特网中继聊天(Internet Relay Chat),一种网络聊天协议。只需要在PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。

当IRC客户端申请加入一个IRC网络时会发送服务器的域名,TCP申请端口和昵称。

一般端口号为6667,或者6660-6669范围的端口。

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

僵尸网络是指攻击者(称为botmaster)出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。

通常用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)。

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

使用Wireshark分析文件botnet_pcap_file.dat,并且设置相应的过滤条件ip.addr == 172.16.134.191 && tcp.dstport == 6667,即IP为蜜罐主机且tcp目的端口为6667的数据包。由图可知,蜜罐主机通信的IRC服务器IP有66.33.65.58、 63.241.174.144、 217.199.175.10、 209.196.44.172和209.126.161.29。

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

使用tcpflow指令来分析.dat文件(我的kali好像没有自带,所以用apt安装了一下)

tcpflow -r 20192410.dat "host 209.196.44.172 and port 6667"	

会生成三个文件

将得到的209.196.044.172.06667-172.016.134.191.01152以utf-8的编码另存为(这里我另存为后的名字为20192410)

执行

cat 20192410 | grep "^: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

得到输出3457,所以有3457台主机访问了以209.196.44.172为服务器的僵尸网络

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

查找端口并输出到1.txt中,共148个

tcpdump -n -nn -r 20192410.dat 'dst host 172.16.134.191' | grep -v 'reply' | cut -d '.' -f 10 | cut -d ':' -f 1 | sort | uniq | more >1.txt; wc -l 1.txt

将连接IP地址输出到2.txt中,共165个

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

6、攻击者尝试攻击了那些安全漏洞?哪些成功了?如何成功的?

(1)通过snort查看网络流

snort -r 20192410.dat -c /etc/snort/snort.conf -K ascii

(2)查看tcp响应端口

tcpdump -r 20192410.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

(3)查看udp响应端口

tcpdump -r 20192410.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

(4)利用wireshark逐一分析端口

135和25端口都只进行了连接,没有交互数据,应该只是进行了connect扫描

3.问题及解决方案

5.学习感悟、思考等

  本次实验内容相比于之前的几次工作量无疑是大了许多。主要是对于各种工具的使用,以及利用wireshark分析多个端口时花费了许多时间。不过基本每一步的分析都能获得相应信息,整个实验过程并不是很难受。对于恶意代码分析的诸多工具和使用方法也有了一定的了解和认识。

标签:exe,RaDa,恶意代码,端口,20192410,参数,2021,IRC
来源: https://www.cnblogs.com/lxfdbkdz/p/16156436.html