20232414 2025-2026-1 《网络与系统攻防技术》实验四实验报告

20232414 2025-2026-1 《网络与系统攻防技术》实验四实验报告

1.实验内容

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

(2)使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。

(3)分析一个自制恶意代码样本radax

(4)取证分析实践

2.实验目的

通过实践掌握恶意代码分析技术,包括文件识别、脱壳、字符串提取及静态动态分析,完成样本分析与取证报告撰写。

3.实验环境

windows 11(主机),kali(Vmware虚拟机)

4.实验过程

4.1 恶意代码文件类型标识、脱壳与字符串提取

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

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

  1. file命令查看(kali)

    输出:

    • 文件格式:PE32 executable(Windows 平台的 32 位可执行文件格式)

    • 运行平台:适配MS Windows系统(标注的 “4.00” 对应 Windows 95/NT 4.0 及以上的 32 位 Windows 版本),架构是Intel i386(即 x86 32 位)

    • 程序类型:GUI类型(是带图形界面的 Windows 程序,非控制台程序)

    image

  2. 在Windows 7中使用软件PEiD对rada.exe进行分析

    image

    • 文件路径C:\test\RaDa.exe

      说明这是 Windows 系统下的可执行文件,存储在C:\test目录中。

    • 子系统Win32 GUI

      表示这是32 位 Windows 图形界面程序(非控制台程序,运行时会显示窗口界面)。

    • 连接器版本6.0

      对应微软的编译器版本(通常是 Visual Studio 6.0,属于较早期的编译环境)。

    • 加壳工具识别结果UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo

      • 明确RaDa.exe是被UPX 加壳工具处理过的(UPX 是常见的压缩型壳,用于减小文件体积、隐藏原始代码)。
      • 这里的Markus & LaszloUPX 工具的开发者,并非RaDa.exe恶意代码的作者。
    • 入口点 / EP 段

      • 入口点:0000FD20(这是壳代码的入口点,不是原始恶意代码的入口点,脱壳后才会显示原始入口)。
      • EP 段:JDR1(通常 UPX 加壳后的段名是UPX0/UPX1,这里显示JDR1可能是壳的段名被修改,但 PEiD 仍通过签名识别出了 UPX 壳)。
    • 文件偏移00004120

      是入口点在文件中的实际偏移地址(对应壳代码在文件中的位置)。

    • 首字节60,BE,00,C0

      是入口点处的机器指令字节(60对应汇编指令pushad,是壳代码常见的起始指令,用于保存寄存器状态)。

4.1.2 使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理,并使用IDA对脱壳后的文件进行分析

使用“超级巡警之虚拟机自动脱壳器”对RaDa样本进行脱壳处理
image
image

打开IDA Pro,选择PE Executable(对Windows下的可执行文件进行分析),分析脱壳后的RaDa_unpacked.exe文件
image

选择IDA ViewA,在地址为00403F7A处可以看到RaDa文件的作者信息,为Raul Siles && David Perez;在地址为00403FD4处可以看到RaDa文件的创作时间,为2004年9月
image
image

4.2 使用IDA Pro静态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。

4.2.1 crackme1.exe

win7尝试运行crackme1.exe,发现需要输入一个参数
image

IDA Pro打开crackme1.exe,选择View→Graphs→Function calls,打开该文件的函数调用图。
image

重点关注与输出相关的sub_401280
image

双击Function Window中的sub_401280,打开具体调用
image

可知正确输入应为"I know the secret",正确输出应为"You know how to speak to ……"
image

测试结果
image

4.2.2 crackme2.exe

win7尝试运行crackme2.exe,发现与1类似,同样需要输入一个参数,查找过程与1类似
image

依旧关注sub_401280
image

图中正确流程应为:输入参数(包括文件名)共有2个->第一个为"crackmeplease.exe"->第二个为"I know the secret"
image

crackme2.exe "crackmeplease.exe"

尝试将文件名改为crackmeplease.exe

crackmeplease.exe 1
image

继续尝试将第二个参数换为"I know the secret",获得输出
image

4.3 分析raDa.exe,并撰写报告

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

通过以下指令分析rada.exe的基本信息

file RaDa.exe 
md5sum RaDa.exe   
exiftool RaDa.exe | grep "Time Stamp"  

image

  1. 文件格式与运行属性(file

    RaDa.exe: PE32 executable for MS Windows 4.0 (GUI), Intel i386, 3 sections

    • 文件格式PE32(32 位 Windows 可执行文件格式,是 Windows 程序的标准格式)
    • 运行平台:适配MS Windows 4.0(对应 Windows 95/NT 4.0 及以上的 32 位 Windows 系统)
    • 程序类型GUI(带图形界面的程序,运行时会显示窗口,非控制台程序)
    • 架构Intel i386(即 x86 32 位架构,兼容 32 位 Windows 系统)
    • 节区数量:包含 3 个节区(PE 文件的结构分区,用于存储代码、数据等内容)
  2. 文件唯一标识(md5sumRaDa.exe的MD5 哈希值)

    caaa9695a43225a0b3add54f4a0d4c7 RaDa.exe

  3. 文件时间戳(exiftool+grep

    Time Stamp : 2004:10:30 07:59:58+08:00

    RaDa.exe的编译/修改时间戳,表示该 PE 文件的生成(或最后被修改)时间为2004 年 10 月 30 日 07:59:58(东八区时区)。

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

IDA Pro分析脱壳后的rada,打开函数调用图,选择函数sub_404FB0作为被分析的函数。Windows->Functions window查看函数管理工具,找到双击sub_404FB0
image

可明确 rada.exe 的核心目的是作为一款具备持久化能力的远程控制木马(Bot),支持远程指令接收、文件传输、DDoS 攻击等恶意功能。

  1. 核心功能模块与恶意目的解析

    通过代码中的关键字符串(如 C2 地址、攻击指令)、系统 API 调用(如注册表操作、网络访问)和自定义函数逻辑,可拆解出 5 大核心功能,最终指向 “远程控制 + 恶意攻击” 的目的:

    ①持久化驻留(确保不被轻易清除)

    这是恶意代码长期控制主机的基础,文档中多个证据指向该功能:

    • 注册表操作:代码调用 RegWrite/RegRead/RegDelete(如 sub_404BA0 函数),将自身路径写入 HKLM\Software\Microsoft\Windows\CurrentVersion\Run\RaDa(系统级自启动项),实现 “开机自动运行”,避免重启后失效。

    • 目录创建:通过 rtcMakeDir 函数创建 C:\RaDa\bin(存放主程序)和 C:\RaDa\tmp(存放临时数据 / 窃取的文件),规范自身文件结构,伪装成 “正常程序目录”。

  2. 远程通信(接收指令 + 传输数据,C2 控制)

    rada.exe 并非独立运行,而是通过 HTTP 协议与远程控制端(C2 服务器)通信,实现 “被控端 - 控制端” 的双向交互:

    • C2 服务器地址:字符串 http://10.10.10.10/RaDa 是核心 C2 地址,后续拼接 RaDa_commands.html(指令列表页面)、cgi-bin/download.cgi(下载指令 / 恶意文件)、cgi-bin/upload.cgi(上传窃取的数据),形成完整的通信链路。

    • 通信载体:代码调用 InternetExplorer.Application(如 sub_4052C0 函数),通过隐藏的 IE 进程发起 HTTP 请求,伪装成正常网页访问,规避简单的流量检测。

    • 指令解析RaDa_commands.html 对应 “控制端下发的命令列表”,被控端通过访问该页面获取指令(如 “执行 DDoS”“窃取文件”),再通过 upload.cgi 将结果(如窃取的文件、主机信息)回传 C2。

  3. DDoS 攻击(核心恶意行为之一)

    文档中直接出现 DDoS 攻击相关特征,明确其具备 “发起网络攻击” 的能力:

    • 攻击类型标识sub_405E40 函数中存在字符串 Starting DDoS Smurf remote attack...,“Smurf 攻击” 是经典的 DDoS 攻击类型(通过伪造 ICMP 数据包淹没目标网络),说明 rada.exe 是 DDoS 僵尸网络(Botnet)的被控端,可接收 C2 指令对指定目标发起 Smurf 攻击。

    • 攻击参数控制:代码中 --period/--cycles 等参数(如 sub_405E40--period 用于控制攻击周期),支持控制端调节攻击强度和频率,提升攻击灵活性。

  4. 文件操作(窃取数据 + 管理恶意文件)

    通过文件系统操作函数,实现 “窃取目标主机数据” 和 “管理自身恶意组件”:

    • 文件读写能力:调用 __vbaFileOpen/__vbaFileClose/__vbaPut3(如 sub_409540 函数),可读取目标主机的敏感文件(如文档、配置文件),或写入恶意组件(如额外的木马模块)。

    • 数据暂存与上传:窃取的文件先存放在 C:\RaDa\tmp 临时目录,再通过 upload.cgi 上传至 C2 服务器;同时可通过 download.cgi 从 C2 下载新的恶意模块(如更新攻击代码),实现 “功能升级”。

  5. 系统命令执行(横向渗透 + 主机控制)

    通过调用系统命令,扩展恶意行为范围,实现对目标主机的深度控制:

    • 命令执行接口:代码调用 rtcShell(如 sub_4066B0 函数),可执行系统命令(如 cmd.exe 命令),例如 “查看内网主机列表”(为横向渗透做准备)、“删除系统日志”(清除自身痕迹)。

    • 环境变量获取:通过 rtcEnvironVar 获取系统环境变量(如 COMSPEC 对应 cmd 路径),确保命令执行的兼容性,避免因路径错误导致功能失效。

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

rada.exe 是一款具备持久化能力的远程控制木马(Bot)。

  • 持久化驻留:通过写入系统注册表自启动项、创建专属目录(C:\RaDa\bin/C:\RaDa\tmp),实现开机自动运行与长期驻留;

  • 远程通信:基于 HTTP 协议与 C2 服务器(http://10.10.10.10/RaDa)交互,通过隐藏 IE 进程伪装流量,支持接收指令、上传 / 下载文件;

  • DDoS 攻击:支持 Smurf 类型 DDoS 攻击,可通过--period/--cycles等参数调节攻击强度与频率;

  • 文件操作:具备文件读写能力,可窃取目标主机敏感文件并暂存上传,也能下载恶意模块实现功能升级;

  • 系统命令执行:可调用系统命令,支持横向渗透与日志清除,通过获取环境变量保障命令执行兼容性。

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

  1. 加壳技术(UPX 压缩壳)

    • 实现方式:通过 UPX 压缩壳对原始可执行代码进行压缩 / 封装,将程序入口替换为 “壳代码”,原始恶意逻辑被隐藏在壳的包裹中。

    • 反分析作用

      • 静态分析工具(如 IDA、Ghidra)直接加载文件时,只能看到壳的代码(而非原始恶意逻辑),无法直接解析其核心功能;
        • 需先完成 “脱壳” 操作才能获取原始代码,增加了逆向工程的门槛(尤其是对新手分析者)。
  2. VB6 伪代码(P-Code)编译

    • 实现方式:VB6 可将代码编译为 “伪代码(P-Code)”,而非原生 x86 机器码;运行时依赖MSVBVM60.DLL(VB6 运行时库)解释执行伪代码。

    • 反分析作用

      • 静态逆向时,工具(如 IDA)默认无法直接解析 VB 伪代码,需依赖专用插件(如 IDA 的 VB Decompiler 插件)才能还原逻辑;
        • 伪代码的指令集与原生汇编差异较大,增加了逆向者理解代码逻辑的难度。
  3. 通信行为伪装(反动态分析)

    通过伪装网络通信,规避动态分析中的行为检测:

    • 实现方式:调用InternetExplorer.Application(IE 组件)发起 HTTP 请求,将恶意通信(与 C2 服务器交互)伪装为 “正常网页访问”。

    • 反分析作用

      • 动态分析(如沙箱、流量监控)中,该通信会被识别为 IE 的合法网络请求,而非恶意程序的 C2 通信,降低被检测 / 跟踪的概率,间接增加分析其恶意行为的难度。

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

rada.exe 归属于木马(Trojan)大类,具体为远程控制木马(RAT,Remote Access Trojan),同时是僵尸网络(Botnet)的被控端(Bot)

远程控制木马(RAT/Bot)伪装欺骗进入主机,通过 C2 服务器接收指令实现远程控制,无自传播

匹配:

①核心行为是接收 C2 指令(远程控制),而非自我复制

②作为 Botnet 节点批量发起 DDoS 攻击,符合僵尸网络被控端特征

③依赖 “伪装(IE 进程通信)+ 欺骗” 进入主机,符合木马核心特征

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

工具名称 类型 核心相似点 主要差异
Mirai IoT 僵尸网络 Bot 支持远程控制、批量发起 DDoS 攻击,依赖 C2 服务器管控被控节点 针对 IoT 设备(如摄像头、路由器),rada.exe 针对 Windows 主机
Gh0st(幽灵木马) Windows RAT VB/VC 编写,支持注册表持久化、远程文件操作、系统命令执行,自定义协议与 C2 通信 侧重私密远程控制(如屏幕监控、键鼠记录),rada.exe 侧重 DDoS 攻击
Zeus(宙斯木马) 银行木马 / Bot HTTP 协议 C2 通信、数据窃取(文件 / 敏感信息)、系统命令执行、持久化能力 核心目标是金融数据窃取(如网银账号),rada.exe 核心是 DDoS 攻击

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

使用IDA工具分析脱壳后的rada.exe,并选择IDA ViewA,在地址为00403F7A处可以看到RaDa文件的作者信息(详见4.1.2)

4.3.8 给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。

  1. 基于特征码的检测方法

    • 核心原理:提取 rada.exe 的唯一 “特征标识”(哈希、字节序列、字符串等),将待检测文件与病毒库中的特征码比对,匹配则判定为恶意。

    • 适用场景:静态文件扫描(本地文件、文件上传 / 下载检测)、批量样本筛查。

    • 优点:检测速度极快(毫秒级)、准确率高(无漏报)、实现简单;

    • 缺点:易被绕过(修改 1-2 字节改变哈希、加 / 脱壳变种)、无法检测未知变种。

  2. 基于行为特征的静态分析方法

    • 核心原理:无需运行程序,通过解析 PE 文件结构(导入表、节区、注册表操作逻辑),识别 rada.exe 的恶意行为模式。

    • 适用场景:未知变种检测(行为不变则可检测)、静态恶意代码筛查。

    • 优点:无需运行程序(无主机感染风险)、可覆盖部分变种;

    • 缺点:无法检测无导入表的变形木马、需熟悉恶意 API 特征。

  3. 基于网络流量的检测方法

    • 核心原理:分析网络流量中 rada.exe 与 C2 服务器的交互特征,识别被控端的恶意通信行为。

    • 适用场景:网络边界防护、流量审计、C2 通信阻断。

    • 优点:可在恶意行为生效前阻断(如 DDoS 攻击指令接收前)、无主机侧依赖;

    • 缺点:易被 C2 地址变更绕过、需持续更新 C2 黑名单。

  4. 基于沙箱的动态行为检测方法

    • 核心原理:在隔离的沙箱环境中运行 rada.exe,记录其全生命周期行为(文件、注册表、网络、进程),与恶意行为库比对判定恶意。

    • 适用场景:未知恶意代码分析、样本溯源、安全产品规则更新。

    • 优点:可完整还原恶意行为、检测准确率高、能发现隐藏逻辑;

    • 缺点:耗时较长(分钟级)、部分沙箱可被反沙箱技术绕过(如检测虚拟机环境)。

  5. 基于 YARA 规则的自定义特征检测方法

    • 核心原理:YARA 是开源恶意代码匹配工具,可自定义 “多维度特征规则”(字符串、字节、导入表等),扫描文件是否匹配规则。

    • 适用场景:自定义批量扫描、威胁狩猎、应急响应。

    • 优点:规则灵活(可组合多维度特征)、适配变种(调整特征组合)、开源免费;

    • 缺点:规则编写需熟悉恶意代码特征、需持续更新规则覆盖新变种。

4.4 取证分析实践

Windows 2000系统被攻破并加入僵尸网络,根据Snort收集的蜜罐主机(IP地址:172.16.134.191)5天的网络数据源,回答下列问题:

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

  1. IRC定义:Internet Relay Chat(互联网中继聊天),一种实时文本通信协议,采用客户端-服务器模型。僵尸网络常利用IRC协议进行命令与控制(C&C)。

  2. 加入消息:客户端加入IRC网络时,通常按顺序发送:

    • NICK <昵称>:设置用户昵称
    • USER <用户名> <主机名> <服务器名> <真实姓名>:注册用户信息
    • JOIN <频道名>:加入特定频道
  3. 常用TCP端口

    • 6660–6669(传统端口,其中6667最常见)

    • 6697(SSL加密IRC)

    • 7000(备用端口)

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

  1. 僵尸网络定义:由攻击者通过恶意软件控制的感染计算机(僵尸)组成的网络。僵尸主机接收并执行攻击者指令。

  2. 常见用途

    • 分布式拒绝服务攻击(DDoS)

    • 发送垃圾邮件(Spam)

    • 窃取敏感信息(如密码、银行凭证)

    • 传播恶意软件

    • 点击欺诈、加密货币挖矿

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

使用过滤器ip.src == 172.16.134.191 && tcp.dstport==6667

image

4.4.4 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

kali中使用tcpflow

apt-get install tcpflow //安装
tcpflow --version //查看版本

image

#筛选目的ip为209.196.44.172 目的端口6667
tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"

image

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

image

命令段 工具 / 参数 具体作用
cat 209.196.044.172.06667-172.016.134.191.01152 cat 读取指定文件的内容并输出到标准输出(文件名是「源 IP. 源端口 - 目标 IP. 目标端口」格式,典型的网络流量日志命名)
grep -a "^:irc5.aol.com 353" grep 过滤文本行:-a:将文件视为 ASCII 文本(避免日志含二进制字符导致 grep 跳过);^:irc5.aol.com 353:匹配:irc5.aol.com 353 开头的行(IRC 协议中,353 是「命名回复」指令,用于返回 IRC 频道的用户列表)
sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g" sed 流编辑替换:- s/原字符串/新字符串/g:全局替换(g 表示整行所有匹配项);- 原字符串 ^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ::精准匹配用户列表前的固定前缀([^x]* 表示「任意非 x 的字符」);- 新字符串为空:删除前缀,只保留后面的用户名列表
tr ' ' '\n' tr 字符转换:将空格替换为换行符,把「空格分隔的多个用户名」拆分成「每行一个用户名」(方便后续去重)
tr -d "\15" tr 字符删除:- -d:删除指定字符;- \15:八进制的「回车符(CR)」(Windows 换行是 CR+LF,Linux 是 LF,删除多余 CR 避免空行 / 格式错误)
grep -v “^$” grep 反向过滤:- -v:排除匹配的行;- “^$”:匹配空行(⚠️ 注意:这里用了中文全角引号,实际执行会报错,需改成英文半角引号 "^$");- 作用:过滤掉拆分后产生的空行
sort -u sort 排序并去重:- -u(unique):只保留唯一的行,即每个用户名仅保留一条
wc -l wc 统计行数:- -l:统计最终输出的行数(行数 = 唯一用户名的数量)

4.4.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 > 20232414test.txt

image

查看20232414test.txt
image

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

Wireshark打开botnet_pcap_file.dat文件,选择统计->协议分级

image

tcp:99.7%;udp:0.3%

分析tcp攻击的端口:

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

image

  • 135:Microsoft RPC(远程过程调用)
    • RCE 漏洞:如 MS03-026、MS05-039 等 RPC 接口缓冲区溢出,可直接远程执行代码;
    • 信息枚举:可通过 RPC 枚举系统服务、进程、用户等敏感信息。僵尸网络用于横向移动(攻击内网其他主机的 RPC 服务)、权限提升
  • 25:SMTP(简单邮件传输协议)
    • 未授权中继:配置不当可被用于发送垃圾邮件;
    • 用户枚举:通过 VRFY/EXPN 命令获取系统用户列表;
    • 旧版本 RCE:早期 Sendmail 等邮件服务器存在缓冲区溢出漏洞。僵尸网络用于发送垃圾邮件作为 C2 通信通道(隐蔽传输指令)。
  • 445:SMB(服务器消息块)
    • 永恒之蓝(MS17-010):最著名的 SMB 漏洞,可远程执行代码(WannaCry 勒索病毒利用此漏洞);
    • MS08-067:SMB 缓冲区溢出漏洞,支持 XP/2003 等系统的 RCE;
    • SMB 中继攻击:窃取认证凭据、提升权限。僵尸网络的核心攻击端口,用于大规模感染主机(扩大 botnet 规模)、控制目标系统
  • 4899:Radmin(远程管理工具)
    • 旧版本 RCE:早期 Radmin 的认证请求处理存在缓冲区溢出,可远程控制主机;
    • 弱口令风险:Radmin 常被配置弱口令,易被暴力破解。僵尸网络用于远程控制已感染主机横向渗透内网设备
  • 80:HTTP(Web 服务)
    • SQL 注入 / SQLi:窃取数据库信息、执行系统命令;
    • 远程代码执行 / RCE:如 Web 应用代码漏洞(PHP eval 滥用)、服务器软件漏洞(旧版 Apache/IIS);
    • 目录遍历:访问服务器敏感文件。

分析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

image

  • 137:NetBIOS 名称服务(NBT-NS)(Windows 系统用于名称解析、工作组共享的基础服务)

4.4.7 那些攻击成功了?是如何成功的?

135:未成功

wireshark:ip.src==172.16.134.191 and tcp.port==135

135 端口的流量同样是TCP 连接的短暂建立后关闭(SYN,ACK → ACK → FIN,ACK),没有 DCE/RPC 的应用层请求(如绑定 RPC 接口、调用 RPC 函数)。

这只是对 RPC 端口的 “存活扫描”,未执行 RPC 相关的攻击操作(如漏洞利用、信息枚举),因此攻击未成功
image

25:未成功

wireshark:ip.src==172.16.134.191 and tcp.port==25

从 25 端口的流量看,仅完成了TCP 连接的建立与关闭(SYN,ACK → ACK → FIN,ACK),但没有任何 SMTP 应用层命令(如HELOMAIL FROM)的交互。

这说明攻击者仅 “试探性连接” 了 SMTP 端口,未进行实际的 SMTP 操作(如邮件中继、用户枚举),因此攻击未成功
image

445:成功

wireshark:ip.src==172.16.134.191 and tcp.port==445

445 端口的流量包含完整的SMB 应用层交互

  • 完成了Negotiate Protocol(协议协商)、Session Setup(会话建立);
  • 进一步通过 DCE/RPC 调用SAMR服务,执行了EnumDomains(枚举域)、EnumDomainUsers(枚举域用户)等操作。

这说明攻击者成功建立了 SMB 连接,并完成了内网信息收集(用户枚举),达成了攻击目标,因此攻击成功
image

4899:成功

wireshark:ip.src==172.16.134.191 and tcp.port==4899

4899 端口的流量是大量[PSH, ACK]包(包含数据载荷),而非单纯的 TCP 连接。

Radmin 是远程控制工具,这类持续的带数据的 TCP 交互,通常是攻击者与已控制的 Radmin 服务进行指令传输 / 远程操作,说明连接已建立且完成了应用层通信,因此攻击成功
image

80:成功

wireshark:ip.src==172.16.134.191 and tcp.port==80

80 端口的流量包含明确的 HTTP 应用层请求(GET /main/css/en-us_main.css等),且服务器返回了响应(TCP ACK 确认数据接收)。
image

137:成功

wireshark:ip.src==172.16.134.191 and tcp.port==137

137 端口的流量是NBNS Name query response(NetBIOS 名称查询响应),说明攻击者发送了 NetBIOS 名称查询请求,目标返回了响应。

典型的内网信息收集(获取目标 NetBIOS 名称、工作组等)操作
image

5.问题及解决方案

  • 问题1:win7(x64)无法正常安装vmtools(使用共享文件夹的前提)

  • 问题1解决方案:

    需要安装kb4474419补丁
    image

    参考教程: windows7虚拟机安装vmtools方法

6.学习感悟、思考等

参与本次《网络与系统攻防技术》实验,让我对恶意代码分析有了直观且深入的认知。从识别 UPX 加壳的 RaDa 恶意程序、完成脱壳并提取作者信息,到用 IDA Pro 分析 crackme 程序找到关键输入,再到基于流量分析僵尸网络攻击行为,每一步都让我体会到恶意代码的隐蔽性与危害性。这不仅掌握了脱壳、静态分析、流量取证等核心技能,更意识到攻防技术的对抗性 —— 只有深入了解恶意代码的运作逻辑,才能筑牢网络安全防线,也让我明白网络安全学习需以实践为基,时刻保持警惕与钻研的态度。

参考资料

posted @ 2025-11-05 13:24  ;P  阅读(29)  评论(0)    收藏  举报