20253919 2025-2026-2 《网络攻防实践》第8周作业

一、实践内容

  1. 恶意代码 rada 样本实操任务
    先识别样本文件格式、运行平台与加壳类型,完成脱壳操作,再提取程序字符串,最终从源码信息里查出该恶意代码的编写作者。
  2. Crackme 程序逆向分析任务
    在 WinXP 攻击虚拟机中用 IDA Pro 静态 / 动态调试 crackme1、crackme2 程序,破解程序逻辑,找到正确输入内容,触发程序成功输出提示。
  3. rada 恶意代码深度分析报告任务
    全面剖析 rada 恶意样本,梳理文件特征、恶意用途、程序特性、反逆向防护手段,判定恶意代码类别,列举同类恶意工具,同时明确能否溯源作者及溯源所需环境条件。
  4. Windows2000 僵尸网络流量分析任务
    基于 Snort 抓取的蜜罐网络日志流量,弄懂 IRC 协议与僵尸网络基础概念,梳理蜜罐通信的 IRC 服务器、访问僵尸网络主机数、攻击源 IP、攻击者利用的系统漏洞,区分成功与失败攻击并理清攻击原理。

二、实践过程

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

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

  1. 解压文件并拖到桌面
  2. 输入指令:file RaDa.exe
    image
  • 文件格式:PE32(Windows 32 位可执行文件)
  • 运行平台:Windows 全系列 32 位系统(Win95/NT/XP/7)
  • 架构:Intel x86 (i386)
  • 程序类型:GUI 图形界面程序
    3.在winxp中打开peid,讲rada.exe文件拖入进去得到结果
    image
    加壳工具为经典的 UPX 压缩壳

(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理

在winxp打开超级巡警,将文件拖入,并点击给我脱
image

(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

打开ida,将脱壳后的rada拖入进去,在strings中能够找到作者R&D
image

在WinXP中使用IDA分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

将crackme1.exe拖入到IDA中,打开函数图进行分析,发现其关键在sub_401280上
image
锁定sub_401280,打开其flow chart,了解到成功输入需要输入“I know the secret”。
image
进行验证
image
同理,关于crackme2.exe的寻找方式相同,关键也在sub_401280上,观察其flow chart,发现需要改文件名crackmeplease.exe,又需要输入“I know the secret”
image
进行验证
image

分析一个自制恶意代码样本rada,并撰写报告

1. 提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息

通过命令md5sum得到Rada.exe的哈希值caaa6985a43225a0b3add54f44a0d4c7
image

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

image
这个RaDa_unpacked.exe是一款基于 HTTP 隧道的 Windows 后门程序,目的是让攻击者隐蔽控制受害主机。依据字符串分析结果,它会通过HKLM\Software\Microsoft\Windows\CurrentVersion\Run\RaDa注册表项实现开机自启,访问http://10.10.10.10/RaDa/RaDa_commands.html获取指令,通过download.cgi/upload.cgi完成文件上传下载,还内置了 DDoS 攻击模块,利用 HTTP 流量伪装通信以绕过防火墙,实现长期远程控制与恶意操作。

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

image
这个文件是一款隐蔽的 HTTP 隧道后门程序,具备长期驻留、远程控制和多维度恶意操作的特性:依据字符串分析结果,它通过Scripting.FileSystemObject实现文件读写与上传下载、Wscript.Shell执行本地命令,配合RegWrite/RegRead/RegDelete操作注册表写入自启动项实现持久化;同时利用InternetExplorer.Application创建隐藏 IE 窗口,伪装访问192.168/172.16/10.x段 IP 地址的网页流量获取指令,以about:blank无窗口模式降低暴露风险,最终实现隐蔽通信、系统控制和恶意攻击的完整功能。

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

用PEiD检测,采用的防止被分析或逆向工程的技术为加壳技术,加壳工具为UPX 0.89.6-1.02/1.05-2.90

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

属于后门程序(Backdoor,远程访问木马),理由是:它不具备病毒的文件感染能力和蠕虫的主动网络传播特性,核心功能是通过注册表自启动实现持久化驻留、利用伪装 HTTP 流量与 C&C 服务器通信、接收并执行远程控制指令,为攻击者提供隐蔽的主机访问通道,完全符合后门程序的定义。

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

  • Back Orifice 2000 (BO2K):1999 年发布的知名后门,支持 HTTP 隧道、IRC 隧道等多种隐蔽通信方式,可通过插件扩展功能,与 RaDa 一样能伪装流量绕过防火墙,实现远程命令执行和文件操作
  • NetBus:1998 年推出的 Windows 远程控制木马,支持文件传输、注册表修改、系统控制等功能,与 RaDa 同属轻量级后门,通过自定义端口实现远程访问

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

能够调查出作者是R&D,需要脱壳后用ida查看

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

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

  • IRC(Internet Relay Chat,互联网中继聊天)是一种基于文本的实时通信协议,采用客户端 - 服务器模型,诞生于 1988 年,是早期互联网的主流即时通讯方式之一。\
  • 客户端连接 IRC 服务器后,需按协议完成注册,发送的核心消息按顺序为:
    1)PASS:若服务器需要密码验证,客户端先发送 PASS <密码>。
    2)NICK:发送 NICK <昵称> 声明自己的聊天昵称。
    3)USER:发送 USER <用户名> <主机名> <服务器名> :<真实名称>,提供用户身份信息完成注册。
    4)服务器回复 RPL_WELCOME 后,客户端即成功加入网络。
  • 194/TCP、6667/TCP、6660–6669/TCP、7000/TCP、6697/TCP

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

僵尸网络是被恶意程序远程控制的大量受害主机集群,依靠中控服务器统一下发指令,主要用于发动网络攻击、窃取信息、挖矿牟利、散播恶意程序以及开展各类网络黑灰产违法活动。

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

通过条件进行筛选:ip.src == 172.16.134.191 and tcp.dstport == 6667 and tcp.flags.syn == 1
image

  • 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为服务器的僵尸网络?

下载tcpflow,并使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"进行分析,生成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 rrgdiuggac @ #x[^x]*x 😕/g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l进行去重操作并查看主机数量为3461
image

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 > IP.txt;wc -l IP.txt
image

6. 攻击者尝试攻击了那些安全漏洞?

使用命令进行统计发现,TCP端口有135、139、25、445、4899、80被攻击。UDP端口有137端口被攻击。
image

7. 哪些攻击成功了?是如何成功的?

  • 只有445可以判定成功。蜜罐主机172.16.134.191通过开放的 445 端口(SMB 服务)与攻击 IP61.111.101.78完成了从协议协商、NTLM 认证到 SAMR 账户枚举、命名管道交互的完整流程,攻击者不仅成功通过了身份验证,还在目标主机上创建并写入了文件,证明其已获得文件系统写入权限,能够植入恶意程序,最终实现了对主机的控制并将其加入僵尸网络。
    image

  • 仅说明 135 端口开放且 TCP 连接正常建立,但后续没有任何攻击载荷传输,因此攻击未成功执行。
    image

  • 攻击未成功:攻击者尝试与蜜罐主机的 139 端口建立 SMB 连接,部分会话完成了三次握手和 SMB 会话协商,但所有连接最终被蜜罐主机主动复位,且无任何后续恶意操作执行,未达成控制或入侵目标。
    image

  • 这只是一次对 25 端口的连接探测 / 扫描行为,没有后续攻击载荷执行,因此攻击未成功。
    image

  • 对4899端口:攻击者与目标端口建立了 TCP 连接,并发送了针对命令解释器的路径遍历攻击请求,攻击流程走到了载荷投递环节。但目标主机没有返回响应,也没有出现任何命令执行、权限获取或会话维持的迹象,攻击未能产生实际效果,也未形成有效控制通道。
    image
    -对80端口:这只是一次TCP 连接层面的探测 / 保活行为,没有后续的 HTTP 攻击载荷投递,因此攻击未成功。
    image

  • 对137端口:只是攻击者对 137 端口的NetBIOS 信息扫描尝试,未获取有效信息,也未执行任何入侵操作,因此攻击未成功。
    image

3.学习中遇到的问题及解决

  • 问题1:输入“I know the secret”,仍然不能够成功输出正确结果
  • 问题1解决方案:两个引号必须是英文

4.实践总结

这次实践我主要分析了蜜罐抓包和一个后门程序,搞懂了这个后门是靠 HTTP 伪装通信、改注册表开机自启的远程控制木马,还对着 Wireshark 看了 80、135、445 这些端口的攻击尝试,发现全都是只探测没真正攻破,也没拿到啥有效信息,算是把僵尸网络的攻击流程和流量分析的基本方法摸清楚了。

posted @ 2026-05-20 00:32  晓月12  阅读(19)  评论(0)    收藏  举报