20232807 2023-2024-2 《网络攻防实践》实践八报告

一、实验内容

1、动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

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

3、分析实践任务一:
分析一个自制恶意代码样本rada,并撰写报告,回答问题。

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

二、实验过程

1、动手实践任务一

在学习通上下载rada.rar,解压密码为rada,将解压得到的两个文件放在在Winxp虚拟机中
在这里插入图片描述
进入CMD,输入ls,cd 桌面进入桌面文件夹,输入file RaDa.exe查看文件格式

在这里插入图片描述
从返回的结果上看,RaDa.exe是PE32位的可执行文件,有微软Windows系统的GUI界面,系统架构为英特尔80386系列,运行在32位Windows系统上
在这里插入图片描述
输入strings RaDa.exe查看恶意代码字符串,发现都是乱码,猜测应该是加壳过的
在这里插入图片描述
使用PEiD查看RaDa.exe信息,首先打开PEiD工具
在这里插入图片描述
找到RaDa.exe文件,在这个软件中打开它
在这里插入图片描述

发现RaDa.exe文件所加的壳为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo

在这里插入图片描述
然后打开超级巡警虚拟机脱壳器
在这里插入图片描述
在脱壳器中打开RaDa.exe文件,进行脱壳,显示脱壳文件输出路径,发现也和RaDa.exe文件一样保存在桌面上,生成了一个新的文件RaDa_unpacked.exe
在这里插入图片描述

在CMD中输入strings RaDa_unpacked.exe查看脱壳后的字符串,可以看到有很多函数调用名,但需要进行反汇编
在这里插入图片描述

打开反汇编软件IDA Pro Free
在这里插入图片描述

打开软件后,点击New按钮,选择PE Executable,打开刚刚生成的桌面上的文件RaDa_unpacked.exe
在这里插入图片描述

打开之后显示如图所示
在这里插入图片描述
主要内容在右下角的string区域,发现其内容与在CMD中RaDa_unpacked.exe所显示的字符串一致。
在这里插入图片描述
在这里插入图片描述
我们需要修改编码方式,在string区域中右键选择setup,选择Unicode,点击OK,此区域的字符串内容发生变化
在这里插入图片描述

在00000058处发现文件的作者信息,与在CMD中使用命令RaDa.exe --authors得到的作者信息一致
在这里插入图片描述

在这里插入图片描述

2、动手实践任务二:分析Crackme程序

(1)crackme1.exe
在学习通上下载本次实验所需要的crackme1.exe和crackme2.exe两个软件,并将其拖入至虚拟机WinXP中
打开CMD,运行crackme1.exe并输入参数,查看返回的输出结果
在这里插入图片描述

打开反汇编软件IDA Pro Free,新建PE Executable对crackme1.exe进行分析
在这里插入图片描述

打开strings区域
在这里插入图片描述

在左上方选择IDA View-A窗口,然后依次点击页面上方的View -> Graphs -> Function calls查看函数调用图
在这里插入图片描述
可以看到printf在sub_401280中被调用,它还有一个strcmp函数,这表明与密码进行了对比。
在这里插入图片描述

找到401280代码块
在这里插入图片描述
然后依次点击View -> Graphs -> Flow charts,打开流程图,如图所示:
在这里插入图片描述
根据上述汇编语句,可以发现输入参数不为1个时,输出“I think you are missing something.”,当输入参数是1个时,程序会继续判断,若输入是“I know the secret”,则成功得到“You know how to speak to programs,Mr.Reverse—Engineer",否则会输出"Pardon?What did you say?"
在这里插入图片描述

在这里插入图片描述
(2)crackme2.exe
第二个程序和第一个类似,首先先用反汇编软件IDA For Free 打开这个文件,再在view ->
Graphs -> Fuction calls中查看函数调用情况
在这里插入图片描述
可以发现fprintf函数仍然是在401280代码段调用,找到该段代码,点击view -> Graphs ->Flow charts,得到如图所示信息:
在这里插入图片描述
在这里插入图片描述
结合上述信息可以得到:首先判断输入是否是一个参数,若不是,则输出I think you are missing something。若是,则进行判断调用文件名是否为crackmeplease.exe,若不是,则输出Pardon?What did you say?,若是,则继续进行判断,输入是否为I know the secret,如果是,则输出正确语句
在这里插入图片描述

3、分析实践任务一

使用md5sum RaDa.exe命令查看RaDa.exe的MD5值
在这里插入图片描述
运行脱壳后的RaDa_unpacked.exe文件,然后打开监视工具Process Explorer,用于监听RaDa_unpacked.exe
在这里插入图片描述
然后再IDA 中打开RaDa_unpacked.exe,点击Strings查看字符串信息
在这里插入图片描述
发现该程序先访问了http://10.10.10.10/RaDa,请求了RaDa_commands.html页面,做了一些上传和下载,并且在靶机上新建立了两个新文件tmp和bin
在这里插入图片描述
在这里插入图片描述

并且还检查了是否在VMware虚拟机环境下,发现不是,开始进行DDoS Smurf攻击
此外,还修改了注册表,通过Wscript.Shell进行操作,将RaDa.exe设为开机自动启动

在这里插入图片描述

攻击192.168,172.16,10.这三个内网
在这里插入图片描述
还能看到这个程序的开发者是Raul Siles & David Perez
在这里插入图片描述
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

摘要是caaa6985a43225a0b3add54f44a0d4c7

2、找出并解释这个二进制文件的目的;

访问http://10.10.10.10/RaDa,请求该网站上的页面,能够通过它实现对靶机的控制
进行DDoS Smurf攻击
修改注册表,将RaDa.exe设为开机自动启动
攻击192.168、172.16、10三个内网网段
这个后门被植入后,攻击者可以轻易地通过网络远程操控。

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

在C盘生成一个Rada目录,其中有两个子文件夹bin和tmp
实施DDoS Smurf攻击
将RaDa.exe设为开机自动启动

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

采用了UPX加壳方式,需要先进性脱壳,否则会出现很多乱码

5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

RaDa.exe 似乎是一种后门程序,它通过修改注册表实现开机自启动,它并不对自身进行伪装,也没有通过自身复制来进行传播,可以初步判断它是一种后门程序。

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

木马Bobax 、特洛伊木马Setiri、Ghost Rat

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

作者为Raul Siles & David Perez,命令行输入RaDa --authors或RaDa.exe --authors

4、分析实践任务二

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

IRC是Internet Relay Chat的缩写,是一种实时的网络聊天协议。它允许用户在各种主题的频道中进行即时交流,也可以进行私密聊天。IRC一般使用TCP协议进行通信。常用的TCP端口有:
6667:IRC标准端口,用于非加密连接。
6697:用于加密连接(SSL/TLS)的端口。

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

僵尸网络是由一组感染了恶意软件的计算机(称为僵尸)组成的网络。这些感染了恶意软件的计算机可以被远程控制,形成一个集中控制的网络,攻击者可以通过控制这些计算机来执行活动。
僵尸网络通常用于分布式拒绝服务攻击、信息窃取、发送垃圾邮件等。

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
输入ip.src == 172.16.134.191 && tcp.port == 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为服务器的僵尸网络?
输入命令sudo apt-get install tcpflow 安装tcpflow
在这里插入图片描述
输入命令sudo tcpflow -r Desktop/botnet_pcap_file.dat "host 209.196.44.172 and port 6667"对样本进行分流
在这里插入图片描述
发现生成了172.016.134.191.01152-209.196.044.172.06667、209.196.044.172.06667-172.016.134.191.01152文件,以及一份报告report.xml
在这里插入图片描述
输入sudo 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查询有3461个不同的主机访问了以209.196.44.172为服务器的僵尸网络。
在这里插入图片描述

5、那些IP地址被用于攻击蜜罐主机?
输入命令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 > 20232807ZhangZhe.txt;wc -l 20232807ZhangZhe.txt
最终输出165个IP被用于攻击蜜罐主机
在这里插入图片描述
在这里插入图片描述

6、攻击者尝试攻击了那些安全漏洞?
输入命令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、139、25、445、4899、80端口

输入命令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端口
在这里插入图片描述
在Wireshark中输入tcp.port == 135进行筛选,发现只有握手信息,没有相关漏洞信息
在这里插入图片描述
输入tcp.port == 139进行筛选,发现有TCP、SMB和NBSS类型的数据包
在这里插入图片描述
输入tcp.port == 25进行筛选,只有握手信息,没有漏洞信息
在这里插入图片描述
输入tcp.port == 445进行筛选,发现可执行文件PSEXESVC.EXE,遭到病毒攻击
在这里插入图片描述
输入tcp.port == 4899进行筛选,只有握手的信息,没有漏洞被攻击的信息
在这里插入图片描述
输入tcp.port == 80进行筛选
在这里插入图片描述
输入udp.port == 137进行筛选
在这里插入图片描述

7、那些攻击成功了?是如何成功的?
45端口攻击成功,攻击者通过PSEXESVC.EXE可执行文件,攻击者获得了管理员权限

三、问题和解决方案

问题:在进行实践任务2中的crackme2.exe实验中,按照流程图写的crackmeplease.exe "I know the secret"命令无法正常运行
解决方案:使用copy crackme2.exe crackmeplease.exe将原文件复制为名称为crackmeplease.exe的文件,然后再输入上述命令就可以正常运行了。

四、总结

在这次实验中我学习到了对恶意代码攻击进行分析,了解到了攻击的方式,通过对恶意代码的分析学习到了脱壳、反汇编、字符串提取的知识,提高了面对海量的网络数据提取关键信息能力,在实践过程中还需不断提高知识水平,提高实践水平。

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值