20252820 2024-2025-2 《网络攻防实践》实践十一报告
20252820 2024-2025-2 《网络攻防实践》实践十一报告
1. 实践内容
本次实践围绕 Web 浏览器客户端攻击与网页木马取证分析展开,重点理解攻击者如何利用浏览器或浏览器插件漏洞构造恶意网页,以及防守方如何从可疑网页、脚本和二进制文件中还原攻击链条。
本次实践主要包括三个部分:
第一部分是 Web 浏览器渗透攻击。通过 Kali 攻击机和 Windows 靶机搭建隔离实验环境,使用 Metasploit 中的浏览器漏洞利用模块构造实验用网页木马链接,使靶机在访问该链接后触发漏洞,并在攻击机端观察会话建立情况。该部分的重点不是“攻击成功”本身,而是理解浏览器漏洞、Payload、会话建立和远程命令验证之间的关系。
第二部分是网页木马攻击场景取证分析。通过分析 start.html、new09.htm 及其后续调用脚本,逐层还原网页木马的跳转关系、混淆方式、解密过程和最终下载的可执行文件。该部分重点关注 MD5 文件定位、脚本解混淆、XXTEA+Base64 解密、ActiveX 控件判断以及二进制程序静态分析思路。
第三部分是 Web 浏览器渗透攻防对抗。攻击方在靶场内构造两个不同浏览端漏洞的实验 URL,并进行简单混淆;防守方从邮件或网页内容中提取可疑链接,进行解混淆和特征分析,判断其攻击的浏览器软件、漏洞类型以及可能造成的危害。该部分重点在于从攻击视角理解利用链,从防守视角提取证据并形成分析结论。
1.1 实验环境
查看2k和kali虚拟机ip地址


2. 实践过程
2.1 Web 浏览器渗透攻击
2.1.1 修改主机名并检查实验环境
首先启动 Kali 攻击机和 Windows 靶机。先将攻击机主机名修改为本人姓名拼音chenjiaxu,并通过命令验证修改结果。
hostname chenjiaxu
确保截图能够体现是本人的实验环境。
【此处主机名在上一实验中已经设置好了,所以不用重复操作】

分别查看攻击机和靶机 IP 地址后,进行连通性测试。攻击机可以使用 ifconfig 查看地址,Windows 靶机可以使用 ipconfig 查看地址。随后使用 ping 测试两台虚拟机是否互通。
ping 192.168.200.11
【攻击机与靶机连通性测试】

2.1.2 启动 Metasploit 并选择漏洞模块
在 Kali 攻击机中启动 Metasploit:
msfconsole
【启动 Metasploit】

搜索 MS06-014 相关模块:
search MS06-014
实验中选择 exploit/windows/browser/ie_createobject 模块。该模块面向 Internet Explorer 浏览器相关漏洞场景,访问特定页面后可能触发漏洞利用。
use exploit/windows/browser/ie_createobject
show options
【搜索并选择 MS06-014 模块】


【查看模块参数】

2.1.3 设置 Payload 与服务器参数
设置为默认配置即可满足实验需求
set payload windows/shell/bind_tcp
2.1.4 运行 exploit 并生成实验 URL
确认参数无误后运行模块:
exploit
Metasploit 会在攻击机上启动 Web 服务,并生成一个实验 URL。该 URL 即为靶机需要访问的测试页面。
【运行 exploit 并生成 URL】

2.1.5 靶机访问实验 URL 并观察会话
在 Windows 靶机中启动浏览器,先访问攻击机 IP 或测试页面,确认能够访问攻击机提供的 Web 服务。随后访问 Metasploit 生成的实验 URL。
【靶机浏览器访问实验 URL】

在攻击机 kali 界面中观察输出信息,查看是否出现会话建立提示。若建立会话,可使用以下命令查看和进入会话:
sessions
sessions -i 1
进入会话后执行简单验证命令,查看靶机网络信息:
ipconfig
【kali 查看 session】

【进入 session 并执行 ipconfig/hostname】


实验结果表明,靶机访问特定构造页面后,攻击机端能够接收到会话,并可以在授权靶机中执行简单命令,说明浏览器漏洞利用流程在实验环境中复现成功。
2.2 取证分析实践——网页木马攻击场景分析
2.2.1 分析 start.html 并定位 new09.htm
首先将课程提供的网页木马分析材料放入取证虚拟机中。为了避免误运行样本,分析时优先使用文本编辑器查看 HTML 和脚本内容,不直接双击运行可疑程序。
【样本文件放入取证环境】


用文本方式打开 start.html,搜索 new09.htm。可以发现 start.html 中包含对 new09.htm 的引用,并且通常以相对路径方式调用,说明二者位于同一目录或相近目录结构下。
【start.html 中搜索 new09.htm】


2.2.2 查看 new09.htm 中的可疑调用
继续打开 new09.htm。在文件中可以看到其通过隐藏框架或脚本方式调用外部资源,主要包括一个网页文件和一个统计脚本文件。

根据实验要求,对解出的 URL 计算 32 位 MD5,并按 MD5 文件名下载对应文件。
【计算 kl.htm 与统计脚本的 MD5】


【下载并在 hashed 目录中找到对应文件】




2.2.3 分析 kl.htm 对应文件并识别加密方式
打开 7f60672dcd6b5e90b6772545ee219bd3 对应文件。该文件继续包含被混淆或加密的脚本内容。通过观察函数调用可以发现其使用了 XXTEA 与 Base64 组合方式进行处理,解密密钥来自脚本中的十六进制字符串:
\x73\x63\x72\x69\x70\x74
将该十六进制字符串转换为普通字符串后得到:
script
因此,后续解密时可将 script 作为密钥,对脚本中的密文进行 XXTEA+Base64 解密,得到更清晰的 JavaScript 逻辑。
【识别 XXTEA+Base64 加密方式】

【发现另一个hash文件不是木马】

【将十六进制密钥转换为 script】


【XXTEA+Base64 解密结果】



2.2.4 还原 JavaScript 判断逻辑和漏洞目标
解密后的 JavaScript 主要通过浏览器 ActiveX 控件判断靶机中是否存在特定组件,然后根据组件存在情况加载不同脚本或下载 CAB 文件。
该脚本说明网页木马会根据客户端安装的软件环境选择不同漏洞利用路径。它不是只针对一种浏览器漏洞,而是通过多个 ActiveX 控件进行“探测—匹配—加载”的组合攻击。
【解密后脚本中出现多个 ActiveX ,计算四个后续文件的 MD5】




2.2.5 分析 014.exe、bf.exe、pps.exe 和 bd.exe
首先分析 url1 对应文件。该脚本经十六进制解码后,可看到其尝试从远程地址下载 014.exe,并保存为本地文件后执行。该行为说明 url1 的主要作用是完成下载和执行恶意程序。
【url1对应的是十六进制字符串】

【转换为ASCLL进行分析,得到014.exe】

【对url2对应内容使用packed解码,得到bf.exe】

【对url3使用八进制解码分析】

【再转换为字符串,得到 http://down.18dd.net/bb/pps.exe 】

【发现url4对应的是一个压缩包,对其进行解包得到bd.exe】

由于四个文件md5值相同,参考往届学长的实验过程,故选择pps.exe进行分析。
2.2.6 二进制程序静态分析
获得最终可执行文件后,不直接在真实系统中运行,而是在隔离虚拟机中进行静态分析。可先使用查壳工具识别文件是否加壳,再使用脱壳工具或 IDA 等反汇编工具观察其字符串、导入函数和关键行为。
【脱壳结果】

【IDA 打开样本】



点击打开ida中的strings页面发现该可执行文件下载了大量木马,分析结束。
【大量木马文件截图】

本次分析表明,该网页木马通过多级脚本混淆和多个 ActiveX 控件漏洞进行攻击,最终目标是下载并执行二进制木马程序。其攻击过程大致为:
start.html
↓
new09.htm
↓
kl.htm
↓
XXTEA+Base64 解密后的 JavaScript
↓
根据 ActiveX 控件选择 1.js / b.js / pps.js / bd.cab
↓
下载 014.exe / bf.exe / pps.exe / bd.exe
↓
执行二进制木马并产生进一步危害
2.3 攻防对抗实践——Web 浏览器渗透攻击攻防
2.3.1 攻击方:构造两个浏览器端漏洞实验 URL
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
【检测连通性】

【打开Metasploit工具】

【查看可使用的攻击模块】

【查询可用载荷,先使用MS06-014】

【设置攻击机和靶机】

【得到第一个木马链接, http://192.168.200.6:8080/SdPEgTdM 】

【防守端访问后,成功被攻击】

【构造另一个漏洞攻击,使用MS06-055】

【设置配置,showoptions,得到第二个漏洞的木马链接, http://192.168.200.6:8080/Efn9eT 】

【第二个漏洞攻击成功】

【构造统一url网址,并用16进制混淆】


【再kaili上打开apache服务】

【构造统一url网址页面】


【防守方访问页面,然后受到攻击】

【攻击成功】

2.3.2 防守方:提取邮件中的挂马链接
防守方收到实验邮件并被攻击后,打开wireshark进行抓包分析,通过查看邮件源代码、复制链接文本、提取 HTML 中的 href、script、iframe 等字段来获得可疑 URL。
【对抓包进行过滤并分析】


从 Wireshark 抓包结果可以看出,靶机 192.168.200.11 访问了攻击机 192.168.200.6:8080 上的攻击页面 /lmzh6qLHDgVqs,随后继续请求 /lmzh6qLHDgVqs/payload,服务器均返回 200 OK。说明攻击页面已被触发,payload 已经下发到靶机。是否最终成功建立远程会话,还需结合 Metasploit 中是否出现 session 判断。
【解混淆分析】
打开网页源代码,分析可疑十六进制字符串

将十六进制转为字符串,恢复出渗透攻击的原始形态url


通过对MS06-014和MS06-055漏洞分析,可知这属于典型的浏览器客户端远程代码执行攻击,也称浏览器渗透攻击或网页木马攻击。攻击者在 Kali 攻击机上使用 Metasploit 构造恶意网页,诱导 Windows 2000 靶机通过 IE 浏览器访问,利用 MS06-014 中 IE/ActiveX CreateObject 相关漏洞,以及 MS06-055 中 IE VML 解析相关漏洞触发远程代码执行。从 Wireshark 抓包可以看到靶机访问攻击页面并请求 /payload,说明攻击页面被触发、payload 被下发;同时 Metasploit 中已经出现 Starting interaction with 1,并获得 C:\Documents and Settings\Administrator> 命令行 Shell,说明本次浏览器渗透攻击已经成功建立远程控制会话。
2.3.4 攻防对抗结果分析
从攻击方视角看,浏览器端漏洞攻击通常不需要目标主动安装程序,只要目标访问特制页面就可能触发漏洞。因此,攻击者常将恶意 URL 嵌入邮件、论坛、即时通信消息或被篡改网页中。
从防守方视角看,识别此类攻击不能只看邮件表面文字,而应检查真实链接、脚本调用、编码混淆和目标漏洞特征。尤其是出现 iframe、script src、ActiveX classid、异常 IP 和端口、可执行文件下载等特征时,需要进一步取证分析。
3. 学习中遇到的问题及解决
-
问题1:使用 Windows XP 靶机访问 MS06-014 实验 URL 时没有成功建立会话。
-
问题1解决方案:检查系统版本、浏览器版本和补丁状态后,发现该漏洞可能已被修复或环境不匹配。改用课程指定的 Windows 2000 Server 靶机,并重新确认攻击机与靶机网络连通性。
-
问题2:Metasploit 已经生成 URL,但靶机访问后攻击机没有出现 session。
-
问题2解决方案:依次检查
SRVHOST是否设置为攻击机真实 IP、虚拟机网络是否处于同一网段、防火墙是否阻断、靶机是否能访问攻击机端口,以及 Payload 类型是否适合当前网络环境。重新设置参数后再次运行模块。 -
问题3:计算 MD5 后在 hashed 目录中找不到对应文件。
-
问题3解决方案:重新确认 MD5 的输入必须是“解密出的完整原始地址”,不能使用 defang 后的
hxxp字符串;同时文件名应全部使用小写,且不添加扩展名。 -
问题4:Kali 中打开网页样本出现乱码,影响脚本阅读。
-
问题4解决方案:改用 Windows 取证环境中的记事本或支持编码选择的编辑器打开;必要时尝试 UTF-8、GBK 等编码,并结合十六进制查看工具确认真实内容。
-
问题5:
bd.cab文件没有扩展名,直接双击无法正常解压。 -
问题5解决方案:先通过文件类型识别工具判断格式,再尝试在 Kali 中使用解包工具或为文件临时添加
.cab后缀进行分析。分析过程中不直接运行其中的 EXE 文件。 -
问题6:脚本混淆层数较多,难以一次看出真实意图。
-
问题6解决方案:按照“先找入口、再找外链、计算 MD5、下载对应文件、识别编码或加密方式、逐层还原”的顺序分析。对于 XXTEA+Base64、十六进制、八进制、packed 等不同混淆方式分别处理,并将每一步结果记录在表格中。
4. 实践总结
通过本次实践,我对浏览器端漏洞攻击和网页木马取证分析有了更直观的认识。浏览器漏洞攻击与传统远程服务漏洞不同,它往往依赖用户访问特制网页来触发,因此具有较强的隐蔽性和欺骗性。实验中使用 Metasploit 构造浏览器漏洞利用页面,使我理解了漏洞模块、Payload、监听地址、URL 路径和 session 之间的关系。
在取证分析部分,我认识到网页木马通常不会把真实攻击逻辑直接暴露出来,而是通过 HTML 跳转、隐藏 iframe、脚本混淆、多层加密和多个漏洞分支来隐藏真实行为。分析时不能只看第一个网页文件,而要沿着每一个外部资源继续追踪,结合 MD5 文件定位、脚本解码和二进制分析,逐步还原完整攻击链。
在攻防对抗部分,我体会到防守方不能轻易点击邮件中的链接,而应从邮件源代码、URL 编码、脚本调用和漏洞特征入手进行分析。对于可疑网页,应重点关注异常 IP 和端口、隐藏脚本、ActiveX 控件、可执行文件下载等特征。实际防护中,应及时更新系统和浏览器补丁,禁用不必要的 ActiveX 控件,不随意访问未知链接,并在网关、终端和浏览器层面加强恶意脚本检测。
本次实验不仅完成了浏览器渗透、网页木马取证和攻防分析三个任务,也让我进一步认识到网络攻防实践必须建立在授权环境中。攻击技术的学习目的不是破坏系统,而是理解攻击路径、发现防护薄弱点,并提升漏洞识别、样本分析和安全防护能力。
参考资料
- 往届学长实验报告:20242825 2024-2025-2《网络攻防实践》第十一周作业。
- 课程实践要求:Web 浏览器渗透攻击、网页木马攻击场景分析、Web 浏览器渗透攻击攻防。
- Metasploit Framework 实验环境与课程靶场资料。

浙公网安备 33010602011771号