20252906 2025-2026-2 《网络攻防实践》实践八报告

1.实验内容
本次实验主要包括三个部分:RaDa 恶意代码样本分析、Crackme 程序逆向分析,以及 Windows 2000 蜜罐主机被攻破并加入僵尸网络的网络流量分析。实验重点在于掌握恶意代码的基本识别、脱壳、字符串分析、简单逆向分析和网络攻击行为判断方法。

一、RaDa 恶意代码样本分析

首先对 RaDa 样本进行文件类型识别。通过 file、PEiD、超级巡警等工具可以判断该样本是 Windows 平台下的 PE32 可执行文件,运行平台为 32 位 Windows 系统。样本经过 UPX 类加壳处理,因此直接查看字符串时可见信息较少。

随后使用脱壳工具对样本进行脱壳。脱壳后再使用字符串提取工具进行分析,可以发现样本中包含可疑路径、命令参数、网络通信相关字符串以及作者信息。通过分析可知,RaDa 样本的作者与 Raul 和 David 有关。

该样本具有典型恶意代码特征,包括隐藏自身、连接远程服务器、下载或执行命令、收集主机信息等。它主要表现为远程控制类恶意程序,功能上接近后门或木马程序。

二、Crackme 程序分析

在 WinXP Attacker 虚拟机中运行 crackme1.exe 和 crackme2.exe,可以发现程序会根据输入参数返回不同提示信息。

对 crackme1.exe 进行分析后可知,该程序主要检查命令行参数是否为指定字符串。

即可输出成功提示。

crackme2.exe 相比 crackme1.exe 增加了额外判断。它不仅检查输入字符串,还检查身份或运行条件。因此,即使输入正确字符串,也可能提示存在身份问题。该程序需要进一步通过 IDA Pro 分析其条件跳转和字符串比较逻辑。

三、RaDa 恶意代码分析结论

RaDa 是一个 Windows 平台下的恶意可执行程序。通过文件摘要、哈希值、文件类型和字符串信息,可以对该样本进行唯一识别。

该程序的主要目的可能是控制受害主机,与远程服务器通信,并执行攻击者指定的操作。它具备后门木马的典型特征,例如远程控制、命令执行、信息收集和隐藏自身。

在反分析方面,RaDa 使用了加壳技术,增加了静态分析难度。同时,它可能对运行环境进行检查,以干扰虚拟机或调试环境中的分析。

综合来看,RaDa 更适合归类为木马或后门程序,而不是病毒或蠕虫。因为它的核心功能是远程控制和命令执行,而不是自我复制传播。

四、僵尸网络流量分析总结

本部分通过分析蜜罐主机的网络日志,了解 Windows 2000 系统被攻击并加入僵尸网络的过程。

IRC 是一种早期常见的网络聊天协议,僵尸网络常利用 IRC 作为命令控制通道。IRC 客户端加入服务器时通常会发送 NICK、USER、JOIN 等消息,常见端口包括 TCP 6667、6668、6669 等。

僵尸网络是由攻击者控制的大量受感染主机组成的网络,常用于 DDoS 攻击、垃圾邮件发送、恶意软件传播和远程控制。

通过分析蜜罐主机与外部 IP 的通信,可以判断其连接过哪些 IRC 服务器、哪些主机参与了僵尸网络、哪些 IP 对蜜罐进行了攻击,以及攻击者利用了哪些 Windows 漏洞。进一步结合攻击流量和后续连接行为,可以判断哪些攻击最终成功,并说明蜜罐主机是如何被控制并加入僵尸网络的。

模块 任务 工具/命令 知识点 结果
RaDa分析 识别、脱壳、提取字符串 file、PEiD、超级巡警、strings PE文件、UPX加壳、静态分析 判断文件类型,发现作者和行为线索
Crackme逆向 分析验证逻辑 IDA Pro、OllyDbg 关键字符串、cmp/je跳转、断点调试 找到正确输入并输出成功信息
僵尸网络基础 理解IRC和Botnet IRC命令、666x端口、僵尸网络用途 明确IRC控制通信方式
流量分析 还原攻击过程 Wireshark、Snort IP/端口过滤、漏洞利用分析 找出IRC服务器、攻击源和漏洞
实验总结 综合分析能力 静态分析、动态调试、网络取证 掌握恶意代码与攻击溯源方

2.实验过程
2.1动手实践任务一:对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者

首先在学习通资料中下载rada.rar,在物理机中使用7-zip解压后把文件拖入WinXP中
ScreenShot_2026-05-25_123652_384

使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具。

进入cmd界面,使用windows自带的file指令分析文件类型
ChatGPT Image 2026年5月25日 13_23_13

通过对rada_dump_.exeraDa.exe两个文件进行查看,发现它们都属于 32 位 Windows 可执行文件。标注的 GUI 指的是 Graphical User Interface

随后,在 WinXP 实验环境中打开 PEiD 工具,将 RaDa.exe 文件载入,对样本的文件类型、入口点、编译信息以及是否存在加壳特征等基本信息进行查看和分析。
ScreenShot_2026-05-25_123707_580
在 CMD 命令行中输入:

strings RaDa.exe

对 RaDa.exe 中的可打印字符串进行查看。结果发现提取出来的大部分内容都是乱码,几乎没有有效信息。由此可以判断,该程序经过了加壳处理,原始代码和字符串被压缩或隐藏,因此需要先进行脱壳,才能继续后续分析。

ScreenShot_2026-05-25_123714_084

使用脱壳工具对 RaDa.exe 进行处理。在 WinXP 环境中打开 超级巡警脱壳机,选择 RaDa.exe 文件并执行脱壳操作,生成脱壳后的可执行文件,为后续字符串提取和进一步分析做准备。

ScreenShot_2026-05-25_123721_755

脱壳完成后,再次在 CMD 中使用:

strings RaDa_unpacked.exe

对脱壳后的文件进行字符串提取。相比脱壳前,结果中已经可以看到较多函数名、调用信息和其他可分析字符串,说明脱壳后文件内容更完整。

ScreenShot_2026-05-25_123728_914

运行脱壳后的 RaDa,用 Process Explorer 查看该进程的 Strings,从运行时字符串中找到作者信息。

ScreenShot_2026-05-25_123735_933

crackme1.exe 进行分析。在 WinXP Attacker 虚拟机中运行该程序,分别在不输入参数、随意输入一个参数或多个参数的情况下观察程序输出。通过对比不同运行结果,可以初步判断该程序会检查命令行参数,并根据输入内容返回不同提示信息。

ChatGPT Image 2026年5月25日 12_40_04

使用file命令,查看下该程序的文件类型,发现该文件是PE类型。

ChatGPT Image 2026年5月25日 12_45_53

由于文件是exe可执行文件,选择使用ida pro打开文件进行分析

ScreenShot_2026-05-25_124205_824

string窗口可以看到测试运行中没看到过的几种输出,猜测如果这个程序后接“i know the secret”,才可以成功输出下面的语句

验证是否成功

ChatGPT Image 2026年5月25日 13_34_17

使用相同的方法运行crackme2,根据信息猜测crackme2需要先将其文件名改为crackmeplease,再后接i know the secret,才可以输出特定内容

ScreenShot_2026-05-25_124243_123

验证是否成功

ChatGPT Image 2026年5月25日 13_33_20

分析实践任务一:分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

项目 内容
样本名称 RaDa.exe
文件类型 PE32 executable for MS Windows
程序类型 GUI 程序
架构 Intel 80386 32-bit
MD5 caaa6985a43225a0b3add54f44a0d4c7

ChatGPT Image 2026年5月25日 13_29_48

使用 Process Explorer 监视 RaDa_unpacked.exe 后发现,程序运行后首先访问:

http://10.10.10.10/RaDa

随后创建C:\RaDa\tmp目录,并将 RaDa_commands.html 复制到该目录中。之后程序执行了 DDoS 攻击相关行为,同时访问注册表,检查系统是否存在

 10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

等常见内网网段。

说明该样本具有远程通信、文件创建、命令获取、DDoS 攻击和内网环境判断等恶意行为。

ScreenShot_2026-05-25_124325_902

这个二进制文件有几个比较明显的特点:它会使用常见的 HTTP 协议和远程地址进行通信,因为 HTTP 流量在网络中很常见,所以相对不容易被防火墙直接拦截;同时,它还会写入 Windows 注册表启动项,实现开机后自动运行;另外,程序中使用了 sleep 延迟执行恶意操作,不会一启动就立刻发作,从而降低被用户或安全工具及时发现的可能。

ScreenShot_2026-05-25_124334_582

识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
字符串中包含 security through obscurity is the key,体现作者通过隐藏实现安全的思路;存在 sleep 函数调用,用于对抗沙箱检测和延长分析时间;使用 Wscript.Shell、Scripting.FileSystemObject 等系统组件执行恶意操作,避免直接调用敏感 API;核心攻击功能(如 DDoS、截屏)由 C&C 指令触发,并非启动时全部执行,增加动态分析难度。

对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
通过上面几点分析感觉比较偏向木马,因为程序不具有自我复制能力(没有发现搜索文件、感染其他可执行文件或通过邮件/网络自我传播的代码)且需要通过攻击者主动植入或诱导用户执行才能安装到目标系统中。文件名 RaDa.exe 伪装成普通可执行文件,可能诱导用户点击运行。

给出过去已有的具有相似功能的其他工具;
Netcat、Metasploit Framework (Meterpreter)、TheFatRat。

可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
可以,之前的动手实践已经表明了,但必须在样本已脱壳的情况下,在不会触发其反分析机制的环境中进行分析。

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

1、IRC是什么?
IRC 是一种早期的网络实时聊天协议,可用于群聊和私聊。IRC 客户端连接服务器时通常会发送 PASS(可选)、NICK、USER 消息完成注册;如果是加入频道,则发送 JOIN 消息。IRC 常用 TCP 端口为 6660–6669,最常见的是 6667。

2、僵尸网络是什么?通常用于什么?
僵尸网络是攻击者控制大量被恶意软件感染的主机组成的网络。这些主机可被统一远程操控,常用于 DDoS攻击、发送垃圾邮件、窃取信息、传播恶意程序 等。

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
使用wireshark打开botnet_pcap_file.dat文件,使用统计功能,统计不同TCP会话,可以看到蜜罐主机分别和

66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172
209.126.161.29

这五个IRC服务器进行了通信。
ScreenShot_2026-05-25_124342_862

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
kali上对数据包进行分流。指令为tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'

ScreenShot_2026-05-25_124348_518

使用tcpflow工具对监听包进行分析,进入桌面后使用tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667命令在桌面得到report.xml

ScreenShot_2026-05-25_124356_154

输入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为服务器的僵尸网络。

ScreenShot_2026-05-25_124403_203

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 >iplist.txt;wc -l iplist.txt 筛选出ip地址
ScreenShot_2026-05-25_124409_975

打开文件可看到一共有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端口

ScreenShot_2026-05-25_124425_128

再用命令筛选有响应的UDP端口,发现137端口在局域网中提供计算机的IP地址查询服务,处于自动开放状态

ScreenShot_2026-05-25_124437_457

7、哪些攻击成功了?是如何成功的?
使用tcpdump工具输入指令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 | uniqtcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191 and udp ' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq筛选出TCP和UDP端口为135、139、445、4899、80、UDP端口为137

ScreenShot_2026-05-25_124445_931

依次对端口进行分析,输入过滤条件tcp.dstport80 && ip.dst172.16.134.191,端口80遭到了缓冲区溢出攻击

ScreenShot_2026-05-25_124454_001

输入过滤条件tcp.dstport135,可以发现只进行了扫描,没有成功

ScreenShot_2026-05-25_124501_094

输入过滤条件udp.port137,可以看到没有发动攻击

ScreenShot_2026-05-25_124509_616

输入过滤条件tcp.dstport139,可以看到攻击者尝试建立了多次连接,但都被识别出并发送了RST指令

ScreenShot_2026-05-25_124515_473

输入过滤条件tcp.dstport445,可以看到PSEXESVC.EXE字符串出现,说明遭到了蠕虫入侵并且攻击成功

ScreenShot_2026-05-25_124522_169

ScreenShot_2026-05-25_124529_454

3.学习中遇到的问题及解决
问题: 在分析 RaDa.exe 的时候,刚开始直接用 strings 查看字符串,结果显示出来的大部分都是乱码,基本看不出有用信息,也找不到作者和程序行为相关内容。

解决方案: 后来重新检查了一下,发现这个程序应该是被加壳了,所以不能直接看原文件。我先用 PEiD 确认加壳情况,再用超级巡警脱壳机对 RaDa.exe 进行脱壳,生成 RaDa_unpacked.exe。脱壳之后再运行 strings RaDa_unpacked.exe,这时就能看到比较正常的函数名、路径和可疑字符串,后面的分析也就能继续进行了。

4.实践总结
通过本次实验,我对恶意代码分析、简单逆向分析和网络流量分析有了更直观的理解。在 RaDa 样本分析中,掌握了文件类型识别、加壳判断、脱壳和字符串提取的方法;在 Crackme 分析中,学会了结合程序运行结果和 IDA Pro 中的字符串、跳转逻辑来判断正确输入;在僵尸网络流量分析中,了解了如何使用 Wireshark、tcpdump、tcpflow 等工具筛选关键流量,分析 IRC 通信、攻击源 IP、开放端口以及攻击是否成功。总体来看,本次实验让我认识到,安全分析不能只依赖单一工具,而是要结合静态分析、动态观察和网络流量证据进行综合判断。

posted @ 2026-05-25 14:23  淡墨如野  阅读(15)  评论(0)    收藏  举报