20253905 2025-2026-2 《网络攻防实践》实践八报告
20253905 2025-2026-2 《网络攻防实践》实践八报告
1.实践内容
- RaDa 恶意代码逆向分析:对RaDa样本完成文件格式识别、UPX 加壳检测与脱壳处理,通过字符串提取确定作者信息,完成样本属性、功能与防护技术分析。
- Crackme 程序破解:使用IDA Pro 对crackme1.exe、crackme2.exe进行静态反汇编,定位关键判断逻辑,找到正确输入以触发成功输出。
- 僵尸网络流量解析:基于蜜罐流量数据,分析IRC协议原理与端口,统计IRC服务器、攻击主机IP,识别攻击漏洞与成功利用的攻击方式。
- 网络攻防综合实践:整合恶意代码逆向、软件破解、流量分析技能,完成恶意代码识别、程序逆向与僵尸网络攻击行为溯源分析。
2.实践过程
2.1 动手实践任务一
- 下载rada.rar并打开
![image]()
- 输入
file RaDa.exe
![image]()
- 输入
strings RaDa.exe
![image]()
- 使用'rada --authors'和'RaDa.exe --authors'查看作者信息
![image]()
- 输入查壳命令:upx -l RaDa.exe
![image]()
- 使用脱壳软件,对rada恶意代码样本进行脱壳处理
![image]()
![image]()
- 再次使用'strings RaDa_unpacked.exe'查看字符串的命令,对脱壳后的文件RaDa_unpacked.exe进行字符串分析,可以发现大量的函数调用信息,但是仍然不够详细,需要反汇编来分析。
![image]()
- 于是,使用IDA Pro Free,选择PE Exe对脱壳后文件RaDa_unpacked.exe进行反汇编分析,修改编码模式,在Sting窗口,右键,选择Setup,然后选Unicode改变编码格式。
![image]()
![image]()
- 可以找到作者信息
![image]()
2.2 动手实践任务二
- 先检查一下两个文件的完整性,计算其 md5 值,再用file命令查看文件类型,可以看到这两个文件都是32位windows下PE文件。
![image]()
- 打开strings窗口查看字符串
![image]()
- 点击view–Graghs–Function calls查看该程序函数调用图,分析可以得出,关键的部分在sub_401280这里,程序是使用strcmp函数来输入的,然后利用print和fprint函数输出。
![image]()
- 在Flow chart中查看sub_401280的汇编代码(定位到这句代码)以及函数调用图。
![image]()
push offset alKnowTheSecret:"I know the secret"字符串的地址(偏移量)被推入到栈上。offset指令用于获取一个标签或数据的偏移量。
dword ptr [eax];char *:将eax寄存器中的值解释为一个指向char的指针,然后将栈上的地址存储到这个指针指向的内存位置。
call strcmp:调用字符串比较函数strcmp,用于比较两个字符串是否相等。
简单的说就说判断你是否输入“I know the secret”(要带双引号,因为反汇编代码中带了),如果是,就能走true分支,得到回复You know how to speak to programs
在cmd里输入命令,验证上述分析.
![image]()
- 打开crackme2.exe进行分析
![image]()
- 看它的函数调用图,首先得找到printf所属于的那个代码块,仍然是sub_401280
![image]()
- 着重分析分支语句部分的汇编代码,可以看到,它比crackme1.exe多了一个分支来判断是否输入正确,它先判断是否输入了“crackmeplease.exe”,再判断是否输入了”I know the secret“,因此是两个参数
![image]()
- 在cmd里输入命令,验证上述分析
![image]()
2.3 分析实践任务一
- 打开Process Explorer
![image]()
- 运行脱壳后的软件
![image]()
- 分析string
![image]()
2.3.1 提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
- 这是脱壳后的恶意程序 RaDa_unpacked.exe,截图中内存字符串里的版权信息、C2 地址 http://10.10.10.10/RaDa 、注册表自启路径和作者声明,是识别同一样本的核心指纹。这些信息在脱壳后才明文呈现,可作为样本的唯一标识。
2.3.2 找出并解释这个二进制文件的目的;
- 它是一款远程控制木马,目的是在主机上持久化驻留,接收攻击者指令执行文件传输、截屏、内网扫描等操作。同时它内置了 DDoS 攻击模块,可发起 Smurf 攻击,还会主动探测内网网段以扩大攻击范围。
2.3.3 识别并说明这个二进制文件所具有的不同特性;
- 它支持注册表自启动、创建本地目录、通过 HTTP 与 C2 服务器通信,还集成了 DDoS 攻击和内网扫描功能。此外,它具备文件上传下载、截屏等远控命令,也能通过参数配置安装 / 卸载自身。
2.3.4 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
- 该样本原始版本存在加壳保护,必须脱壳后才能在内存中读取到截图里的明文字符串。它还可能通过检测 VMware 环境逃避分析,早期设计也以 “隐匿性” 为核心理念,通过混淆逻辑提升逆向难度。
2.3.5 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
- 它属于远程访问木马(RAT,特洛伊木马的一种),不是病毒或蠕虫。它没有自我复制传播的能力,核心目标是受控驻留主机、执行攻击者指令,而非感染其他文件或主动扩散。
2.3.6 给出过去已有的具有相似功能的其他工具;
- 同期功能相似的工具包括 Back Orifice 2000(BO2K)、SubSeven 等早期远控木马,它们同样具备注册表自启、文件传输和远程控制能力。Trinoo 等早期 DDoS 工具也和它的攻击模块功能相近
2.3.7 可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
- 可以直接调查出作者,截图中明文显示版权信息 Copyright (C) 2004 Raul Siles & David Perez,直接标注了作者姓名。前提是样本需脱壳并获取内存中的解密字符串,该样本还是 Honeynet 项目的公开分析案例,信息可交叉验证。
2.4 分析实践任务二
2.4.1 IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
- IRC即互联网中继聊天,客户端接入IRC网络会发送USER消息,其常用 CP端口为6667、6668、6669。
2.4.2 僵尸网络是什么?僵尸网络通常用于什么?
- 僵尸网络是被黑客远程操控的海量被控主机集群,主要用于发起DDoS攻击、窃取数据、发送垃圾邮件及恶意挖矿等网络恶意活动。
2.4.3 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
- 蜜罐主机与以下IRC服务器进行了通信
- 209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10和209.196.44.172
- 设置过滤条件ip.src == 172.16.134.191 and tcp.dstport == 6667
![image]()
- 之后打开statistics–ipv4statistics–all addresses,输入过滤条件ip.src == 172.16.134.191 and tcp.dstport == 6667 and tcp.flags.syn == 1
![image]()
- 看到五个IRC服务器,分别为:209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10和209.196.44.172
2.4.4 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
- 3461个主机访问了该僵尸网络
- 将生成report.xml文件,并过滤
![image]()
2.4.5 那些IP地址被用于攻击蜜罐主机?
- 165个
![image]()
![image]()
2.4.6 攻击者尝试攻击了那些安全漏洞?
- TCP端口有135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)被攻击。UDP端口有137(NetBIOS Name Service)号端口被攻击。
利用tcpflow工具进行筛选,筛选的是TCP端口和UDP端口。
![image]()
- 我们可以看到TCP响应端口为135、139、25、445以及4899、80;UDP响应端口为137
2.4.7 那些攻击成功了?是如何成功的?
- 针对TCP445端口的普通查点、口令猜测、MSRPC-SVCCTL服务枚举漏洞以及PSEXESVC等攻击成功了。可知,这些攻击是通过向对TCP445端口发送含有PSEXESVC.EXE的数据包,且将PSEXESVC.EXE地址改到系统目录下攻击成功的。攻击成功后通过利用SVCCTL漏洞获取目标主机服务。
- 135端口:使用命令ip.addr == 172.16.134.191 && tcp.port ==135在wireshark中查询,没有交互。
![image]()
- 139端口:使用命令ip.addr == 172.16.134.191 && tcp.port ==139在wireshark中查询,发现了一些数据包,但是没有下文。
![image]()
- 25端口:使用命令ip.addr == 172.16.134.191 && tcp.port ==25在wireshark中查询,没有交互。
![image]()
- 445端口:查看到了PSEXESVC.EXE这一可疑的exe可执行文件,是一个恶意远控程序,也是蠕虫病毒。PSEXESVC.EXE 是一个服务,在使用 PsExec 连接到远程系统时安装在远程系统上。此服务允许 PsExec 在远程系统上执行过程并与本地系统通信。然而,需要注意的是,恶意作者有时会使用名称 “PSEXESVC.EXE” 作为恶意程序的伪装,以使其看起来像合法程序一样。可以看到攻击者逐步拿下权限,先是admin,再是administrator。由上述分析可知,这些攻击是通过向对TCP445端口发送含有PSEXESVC.EXE的数据包,且将PSEXESVC.EXE地址改到系统目录下攻击成功的。
![image]()
- 4899端口:使用命令ip.addr == 172.16.134.191 && tcp.port ==4899在wireshark中查询,没有交互。
![image]()
- 80端口:使用命令ip.addr == 172.16.134.191 && tcp.port ==80,没有异常。
![image]()
- 137端口:使用命令ip.addr == 172.16.134.191 && udp.port ==137,没有异常。
![image]()
3.学习中遇到的问题及解决
- 问题1:长命令容易输错
![image]()
- 问题1解决方案:仔细检查。
4.实践总结
通过本次实验,我掌握了恶意样本类型识别、脱壳以及字符串提取等基础逆向操作,能够初步研判恶意代码特征与作者信息。借助 IDA 工具分析 Crackme 程序,理清了程序校验逻辑,提升了静态逆向分析能力。同时通过解析蜜罐网络流量,了解了 IRC 协议与僵尸网络运作模式,学会甄别网络攻击行为与漏洞攻击手段。此次实践让我认清恶意程序的伪装手段与网络攻击危害,也意识到网络安全防护的重要性,今后我会继续深耕专业知识,提升攻防分析与安全运维实操能力。





































浙公网安备 33010602011771号