20211907 刘昌赫 2021-2022-2 《网络攻防实践》第8次作业

A. 实践内容
动手实践任务一
对提供的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、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
分析实践任务二:
1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
2、僵尸网络是什么?僵尸网络通常用于什么?
3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
5、那些IP地址被用于攻击蜜罐主机?
6、攻击者尝试攻击了那些安全漏洞?
7、那些攻击成功了?是如何成功的?
B. 实践过程
一、 分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
首先我们使用file命令查看RaDa.exe的文件类型,看到RaDa.exe是一个Windows PE可执行文件,并且有图形化窗口

之后在XP虚拟机中使用程序PEiD.exe进行扫描。我们可以在扩展信息中可以看到加壳的工具为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo

再使用超级巡警之虚拟机(这名字。。)自动脱壳器对RaDa.exe进行脱壳处理,生成RaDa_unpacked.exe

再次用PEiD.exe进行扫描。
再用,strings,就看到了

二、 分析Crackme程序

实践挑战:使用IDA pro静态分析或者动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息

首先用命令行运行,发现它这样显示:

之后我们使用IDA 7.0对crackme1.exe进行分析,结果如下所示:

之后,从从view → open subviews → string可以看到全部的字符串(其实这样算作弊了。)

那么重新试一下,输入:“I know the secret”,结果显示成功了:

同理,打开crackme2.exe

用同样的方法打开view的strings视图:

但是一直输出不了。
仔细查看,发现多了个crackmeplease.exe。
回去看代码

发现,这里首先对一个临时变量设置了初始值mov [ebp+var_4], 0,接下来[ebp+var_4]与21h进行比较,不大于则执行_putchar输出。循环退出之后输出0Dh也就是\r。结果如下:

最后终于弄好了

三、 分析实践任务一

使用md5sum命令查看摘要信息, md5摘要值如下:

运行RaDa.exe,看着是没有反应,但其实已经运行了,使用Process Monitor监视RaDa.exe的行为,发现它在C盘创建了RaDa文件夹,下面创建了bin和tmp两个文件夹

接下来在IDA中打开脱壳后的文件RaDa_unpacked.exe,右键type,选择set up,把unicode类型勾上,就可以可以看到rada都做了什么:

通过查找资料,发现它先通过HTTP协议访问了10.10.10.10\RaDa\RaDa_commands.html,
然后,HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run是控制计算机启动项的注册表信息,这里应该是rada修改注册表,使系统启动时运行rada.exe,修改内容为REG_SZ字符串类型
继续,程序对主机实行了DDOS拒绝服务攻击并调用了user32.dll和kernel32.dll内核文件,后面跟了几个函数
之后发现,,出现了WScript.Shell,程序进行了对注册表的读取操作:RegRead;对注册表的写操作:RegWrite以及对注册表的删操作:RegDelete
这一步猜测是修改了注册表,然后RegRead读取数据到变量中,再删除对注册表的修改

最后,Quit, 在退出前,从navigate开始,查看了里面Busy、Document、Name等信息。

把wireshark监听的数据分析一下,可以看到受害主机向目标主机10.10.10.10发送了大量的数据包,但是使用追踪数据流,并没有发现任何信息

四、 分析实践:Windows 2000系统被攻陷并加入僵尸网络
IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息? JRC 一般使用哪些TCP端口?
因特网中继聊天(Internet Relay Chat),简称 IRC 。 IRC 的工作原理非常简单,只要在自己的 PC 上运行客户端软件,然后通过因特网以 IRC 协议连接到一台IRC服务器上即可。IRC 特点是通过服务器中继与其他连接到这一服务器上的用户交流注册时需要发送的消息有三种,分别是口令,昵称和用户信息。格式如下:USER 、PASS 、NICK 。注册完成后,客户端就使用 JOIN 信息来加入频道,格式如下:JOIN 。IRC 服务器明文传输通常在*** 6667*** 端口监听,也会使用 6660—6669 端口。 SSL 加密传输在 6697 端口。
2. 僵尸网络是什么?僵尸网络通常用千什么?
僵尸网络是攻击者传播僵尸程序控制大量主机,通过一对多的命令与控制信道组成攻击网络,是在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态基础上发展融合而产生的一种新型攻击方式

僵尸网络可以被用于拒绝服务攻击、发送垃圾邮件、窃取用户敏感信息等秘密、耗费网络资源
3. 蜜罐主机CIP地址: 172.16.134.191)与哪些IRC服务器进行了通信?
在wireshark中打开老师提供的文件botnet_pcap_file,利用指令ip.src==172.16.134.191 and tcp.dstport == 6667进行过滤TCP连接中使用6667端口的主机IP地址。

以“三次握手”为标识找到了与密罐进行交互的IRC服务器共五台: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 -r /home/kali/桌面/botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'

输入命令后,产生了三个文件,3个文件分别为209.196.044.172.06667-172.016.134.191.01152、172.016.134.191.01152-209.196.044.172.06667、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来计算209.196.044.172.06667-172.016.134.191.01152文件中有多少主机访问了209.196.044.17。
显示3461个。

根据上图可以看出有3461台主机访问了僵尸网络。
5. 那些IP地址被用于攻击蜜罐主机?
使用tcpdump命令查找端口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 >20211907.txt;wc -l 20211907.txt,将数据导入到202111907文件中。

  1. 攻击者尝试攻击了那些安全漏洞?
    输入命令: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筛选出TCP端口,可以看到有135(rpc)、 139(netbios-ssn)、 25(smtp)、 445(smb)、 4899(radmin)、 80(http)。

之后我们查看UDP端口,输入命令:tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

可以看到响应的UDP端口为137
7. 那些攻击成功了?是如何成功的?
使用ip.dst == 172.16.134.191 and tcp.dstport == 80命令在wireshark中过滤
210.22.204.101发送许多异常数据包,是红色代码蠕虫攻击。

445端口
从下图可以看到61.111.101.78向蜜罐主机发送PSEXESVC.EXE,该文件是一种Dv1dr32的蠕虫,当客户端执行该可执行文件后,攻击方就可以远程控制执行文件的主机,然后获取权限。

端口4899
发现只有210.22.204.101与4899有通信,而4899端口是radmin服务端监听端口。

C. 学习中遇到的问题及解决
虚拟机连不上网
解决:机房里不行,回宿舍重启了几遍就好了。。

D. 实践总结
在本次实验中学会了使用很多新软件,但也暴露了许多问题,需要继续耐心学习。

posted @ 2022-05-08 13:11  lch99722  阅读(28)  评论(0编辑  收藏  举报