浏览器缓存劫持:一种新型的恶意软件传播方式

什么是浏览器缓存劫持?

浏览器缓存劫持是一种利用浏览器缓存机制来传播恶意软件的新型攻击方式。这种攻击通过将恶意DLL文件伪装成无害的文件(如图片),并利用浏览器的缓存功能来绕过传统的安全防御。

工作原理

  1. 缓存恶意文件:攻击者在网页上托管恶意DLL文件,通过修改Content-Type头部使其看起来像无害的内容(例如图片)。当用户访问该网页时,浏览器会将DLL文件缓存起来,误以为它是合法的资源。

    html 复制代码
  2. 社会工程:攻击者通过社会工程手段诱导受害者执行PowerShell命令,定位并移动缓存的DLL文件到高风险目录,如Microsoft Teams或OneDrive的本地应用数据文件夹。

  3. DLL代理:攻击者使用DLL代理技术来避免应用程序崩溃并绕过防病毒软件。通过在目标应用程序的安装目录中放置恶意DLL文件,攻击者可以劫持应用程序的进程。

    • 恶意DLL的双重功能
      • 执行恶意代码(如建立C2连接)。
      • 转发合法API调用到原始DLL,确保应用程序正常运行,减少怀疑。

案例:针对Microsoft Teams和OneDrive

  • 为什么选择Teams和OneDrive

    • 这些应用程序以用户权限运行,允许在无需管理员权限的情况下进行DLL劫持。
    • 其频繁的互联网通信可以掩盖恶意流量。
  • PowerShell脚本示例:用于在浏览器缓存中搜索并复制恶意DLL到Teams目录。

    powershell 复制代码
    # PowerShell脚本示例
    foreach ($f in @("$env:LOCALAPPDATA\Mozilla\Firefox\Profiles\*.default-release\cache2\entries\")) {
        gci $f -r | % {
            if (Select-String -Pattern "PAYLOAD" -Path $_.FullName) {
                cp $_.FullName "$env:LOCALAPPDATA\Microsoft\Teams\VERSION.dll"
            }
        }
    }

风险与防御

  • 风险:这种攻击方式通过利用浏览器的合法行为绕过网络防御,同时使用DLL代理技术将恶意软件隐藏在可信进程中。由于78%的企业依赖Microsoft 365,这种技术对广泛的用户群体构成威胁。

  • 防御措施:随着浏览器和企业逐渐采用更严格的缓存策略,红队和防御者需要优先了解这些不断演变的攻击面。应采用分层防御策略来抵御利用可信软件的社会工程攻击。

相关推荐
uzong1 小时前
一个好的面试官,应该让候选人感到被尊重
面试
阳光是sunny3 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
灯澜忆梦3 小时前
GO_并发编程---定时器
开发语言·后端·golang
阳光是sunny3 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
皮皮林5513 小时前
开源实力派,给本地 AI 装上深度调研能力,一张 3090 跑到 95.7 分!
后端
wangruofeng3 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
努力的小雨4 小时前
把 Windows 桌面图标做成一个会自己运转的小世界
后端
触底反弹4 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
武子康5 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
腾渊信息科技公司5 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求