Announcement

👇Official Account👇

Welcome to join the group & private message

Article first/tail QR code

Skip to content

CVE-2026-68820 深度分析:Lazarus 利用 WinSock afd.sys 零日完成内核提权

概述

2026 年 8 月 11 日,微软发布 8 月 Patch Tuesday 更新,修复了 421 个 CVE(62 个 Critical),其中 CVE-2026-68820 是唯一确认在野利用的零日漏洞。该漏洞位于 Windows Ancillary Function Driver for WinSock(afd.sys)中,属于 use-after-free 竞争条件,CVSS 评分 7.0(Important)。

朝鲜 Lazarus 组织在 Operation Dream Job 攻击行动中利用此漏洞长达至少 5 周(编译产物时间戳为 2026 年 7 月 7 日),针对欧洲和印度的国防、航空航天企业,部署新版 FudModule 内核 rootkit 实现完整系统控制。

CISA 在补丁发布当天(8 月 11 日)即将其加入 KEV 目录,联邦机构修复截止日期为 8 月 25 日。

核心数据:421 CVE / 62 Critical / 3 zero-day / 1 在野利用 / 5 周攻击窗口 / afd.sys 第 4 次被 Lazarus 利用

漏洞技术分析

1.1 afd.sys:WinSock 的内核桥梁

afd.sys(Ancillary Function Driver)是 Windows 网络套接字栈的核心内核驱动,负责将用户态 WinSock API 调用(socket()bind()listen()accept() 等)转换为内核态的 TDI(Transport Driver Interface)或 WFP(Windows Filtering Platform)操作。

┌─────────────────────────────────────────────────┐
│              用户态应用程序                        │
│   socket() / bind() / listen() / accept()       │
└──────────────────┬──────────────────────────────┘
                   │ WinSock API (ws2_32.dll)

┌─────────────────────────────────────────────────┐
│              AFD.sys (内核驱动)                   │
│   ┌─────────────────────────────────────────┐    │
│   │  socket state 管理结构                    │    │
│   │  ┌─────────┐  ┌─────────┐  ┌────────┐  │    │
│   │  │ Socket A │  │ Socket B │  │ Socket C│  │    │
│   │  └────┬────┘  └─────────┘  └────────┘  │    │
│   │       │                                │    │
│   │  ◆ UAF 触发点: 竞争条件下               │    │
│   │    已释放的 socket state 被再次访问       │    │
│   └─────────────────────────────────────────┘    │
└──────────────────┬──────────────────────────────┘
                   │ TDI / WFP

┌─────────────────────────────────────────────────┐
│           TCP/IP 协议栈 (tcpip.sys)              │
└─────────────────────────────────────────────────┘

1.2 Use-After-Free 竞争条件

漏洞本质是 afd.sys 在处理网络套接字状态时缺乏线程同步。当两个线程竞争访问同一个 socket state 对象时:

  1. 线程 A 发起关闭操作,释放 socket state 内存
  2. 线程 B 在释放后仍尝试访问该 socket state
  3. 攻击者通过精确控制时序,让线程 B 访问被释放的内存区域
  4. 通过堆喷射(heap spray)在释放的内存位置放置恶意数据
  5. 线程 B 将恶意数据当作合法 socket state 使用,产生内核读写原语
c
// 简化的漏洞触发逻辑(概念演示)

// 线程 A:关闭 socket 触发释放
DWORD WINAPI CloseSocketThread(LPVOID param) {
    SOCKET s = *(SOCKET*)param;
    closesocket(s);  // afd.sys 释放 socket state
    return 0;
}

// 线程 B:并发操作触发 UAF
DWORD WINAPI RaceThread(LPVOID param) {
    SOCKET s = *(SOCKET*)param;
    // 在 socket state 被释放后仍然尝试操作
    // 此时 afd.sys 访问已释放的内存
    DWORD bytesReturned;
    WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER,
             NULL, 0, NULL, 0,
             &bytesReturned, NULL, NULL);
    return 0;
}

// 攻击者需要在释放和访问之间插入堆喷射
// 将恶意对象放置在被释放的内存位置
void HeapSpray() {
    // 使用 NtAllocateVirtualName 在内核池中
    // 分配恶意对象覆盖被释放的 socket state
    // 使线程 B 的访问读取到攻击者控制的数据
}

1.3 CVSS 7.0 的欺骗性

CVSS 7.0 的评分低估了实际风险:

维度分析
Attack VectorLocal需要本地代码执行权限
Attack ComplexityLow竞争条件可控
Privileges RequiredLow普通用户权限即可
User InteractionNone无需用户交互
ScopeUnchanged影响范围限于当前系统
Impact (C/I/A)High/H/High完全控制

虽然需要本地代码执行作为前提,但 Lazarus 的攻击链通过社会工程学(虚假招聘)实现初始访问,使这一前提条件变得轻而易举。

Lazarus 攻击链全貌

2.1 Operation Dream Job 回归

Operation Dream Job 是 Lazarus 自 2020 年以来持续运行的社会工程学攻击行动,2026 年的最新一波针对欧洲(法国、德国)和印度的国防、航空航天、航空业。

┌─────────────────────────────────────────────────────────────────┐
│                  Operation Dream Job 攻击链                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  阶段 1: 社会工程学                                               │
│  ┌─────────────────────────────────────────┐                    │
│  │ LinkedIn 虚假招聘消息                     │                    │
│  │ (伪装 Lockheed Martin / 防务承包商招聘)    │                    │
│  └──────────────────┬──────────────────────┘                    │
│                     │                                           │
│  阶段 2: 初始访问(双链并行)                                      │
│  ┌──────────────────┴──────────────────────┐                    │
│  │                                         │                    │
│  ▼ Chain 1: DLL 侧加载                     ▼ Chain 2: 木马化应用 │
│  ┌──────────────────────┐          ┌──────────────────────┐     │
│  │ 加密 ZIP 包:          │          │ SecurityPDF:           │     │
│  │ - PDFViewer.exe       │          │ (木马化 MuPDF)         │     │
│  │ - libmupdf.dll (恶意) │          │ 伪装 Enveil 公司       │     │
│  │ - payload.pdf        │          │ SEO 操纵搜索排名       │     │
│  └──────────┬───────────┘          └──────────┬───────────┘     │
│             │                                 │                  │
│  阶段 3: 恶意载荷执行                                            │
│             ▼                                 ▼                  │
│  ┌──────────────────────┐          ┌──────────────────────┐     │
│  │ MISTPEN 下载器        │          │ Troy 后门             │     │
│  │ C2: Microsoft OneDrive│          │ 通过 Microsoft Graph  │     │
│  │ (Microsoft Graph API) │          │ API 通信              │     │
│  └──────────┬───────────┘          └──────────┬───────────┘     │
│             │                                 │                  │
│  阶段 4: 内核提权                                                │
│             ▼                                 ▼                  │
│  ┌──────────────────────────────────────────────────┐          │
│  │ CVE-2026-68820 exploit                             │          │
│  │ afd.sys use-after-free → SYSTEM                    │          │
│  └──────────────────────┬───────────────────────────┘          │
│                         │                                        │
│  阶段 5: 持久化                                                 │
│                         ▼                                        │
│  ┌──────────────────────────────────────────────────┐          │
│  │ FudModule Rootkit (新版)                           │          │
│  │ - 篡改 Smart App Control                           │          │
│  │ - 通用安全产品抑制引擎                              │          │
│  │ - 内核级持久化                                     │          │
│  └──────────────────────────────────────────────────┘          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

2.2 感染链 1:DLL 侧加载 + OneDrive C2

Chain 1 使用经典的 DLL 侧加载技术:

  1. 受害者收到加密 ZIP 包,包含三个文件:

    • 合法的数字签名 PDF 查看器(PDFViewer.exe
    • 恶意 libmupdf.dll(替换合法 MuPDF 库)
    • 加密载荷(.pdf 扩展名)
  2. 当受害者启动查看器时,Windows 加载恶意的 libmupdf.dll

  3. 恶意 DLL 解密并显示一个逼真的 Lockheed Martin 招聘文档(提供合理开壳理由)

  4. 同时在内存中解密并执行 MISTPEN 下载器

  5. MISTPEN 的 C2 通信不使用传统 C2 服务器,而是通过 Microsoft OneDrive 和 Microsoft Graph API 路由——使所有命令流量与正常企业 OneDrive 流量混为一体

2.3 感染链 2:SecurityPDF 木马化应用

Chain 2 在 2026 年 7 月被发现:

  1. 攻击者创建了伪装成隐私技术公司 Enveil 的钓鱼网站
  2. 钓鱼网站通过 SEO 操纵获得搜索排名首位
  3. 受害者下载并安装 SecurityPDF(木马化的开源 MuPDF 查看器)
  4. 当受害者打开攻击者构造的 PDF 时,触发隐藏标记检查
  5. 执行 Troy 后门

2.4 FudModule Rootkit 新版特征

FudModule 是 Lazarus 的标志性内核 rootkit,此次发现的版本有以下升级:

特征旧版本2026 新版本
部署方式CVE-2024-21338 等旧漏洞CVE-2026-68820 (afd.sys UAF)
安全产品绕过Defender / AhnLab 专用绕过通用安全产品抑制引擎
Smart App Control不涉及重置 reputable-policy 状态
目标系统Windows 10/11Windows 11 build 26100/26200
C2 通道专用 C2 服务器Microsoft OneDrive + Graph API

2.5 afd.sys:Lazarus 的老朋友

afd.sys 已成为 Lazarus 的反复目标。自 2022 年以来,该驱动已被确认在野利用 4 次,其中本漏洞为第 4 次:

2024-08: CVE-2024-38193   afd.sys UAF → FudModule v3.0(Lazarus 确认)
2025-02: CVE-2025-21418   afd.sys UAF(确认在野,归因未明)
2025-05: CVE-2025-32709   afd.sys UAF(确认在野,归因未明)
2026-08: CVE-2026-68820   afd.sys UAF → FudModule v3.1(Lazarus 确认,本文)

afd.sys 之所以成为重复目标,是因为它:

  • 在所有 Windows 系统上默认加载
  • 从低权限代码可达
  • 处理复杂的网络状态管理(易于引入竞争条件)
  • 与用户态网络 API 有大量交互面

发现时间线

2026-07-07  FudModule rootkit 编译时间戳(最早攻击证据)

     │  ← Lazarus 在野利用窗口(≥5 周)→

2026-07-28  Check Point Research 向微软报告漏洞

2026-07-31  微软确认漏洞

2026-08-05  微软分配 CVE-2026-68820 编号

2026-08-11  补丁发布(Patch Tuesday)

2026-08-11  CISA 加入 KEV 目录

2026-08-25  联邦机构修复截止日期

Check Point 安全研究员 Moshe Marelus 和 David Driker 获得漏洞发现致谢。

8 月 Patch Tuesday 全景

维度数据
CVE 总数421(Rapid7 统计)/ 398(ZDI 统计)
Critical62
零日漏洞3(1 个在野利用 + 2 个公开披露)
CVSS 9.8 RCE4 个(DNS / WDS / QUIC / HPC Pack)

三个零日漏洞

CVE组件类型CVSS状态
CVE-2026-68820afd.sysUAF 提权7.0在野利用
CVE-2026-62832User Profile Service链接解析提权7.8公开披露
CVE-2026-72971unionfs.sys篡改-公开披露

4 个 CVSS 9.8 未认证 RCE

CVE组件特征
CVE-2026-62878Windows DNS Server堆栈缓冲区溢出,ZDI 评估可蠕虫化
CVE-2026-62893Windows Deployment ServicesTFTP 未认证触发
CVE-2026-62815Microsoft QUIC传输层协议实现
CVE-2026-59124HPC Pack非默认安装,但利用可能性较高

企业应急响应方案

5.1 修补优先级排序

优先级 1 (立即): CVE-2026-68820
  - 已被 Lazarus 在野利用
  - 联邦 KEV 截止 8/25
  - 所有 Windows 系统优先部署

优先级 2 (24h): CVE-2026-62878 DNS Server
  - CVSS 9.8 可蠕虫化 RCE
  - 暴露 DNS 服务器的组织优先

优先级 3 (72h): CVE-2026-62832 + CVE-2026-72971
  - 公开披露的提权漏洞
  - 细节已流通,武器化窗口短

优先级 4 (本周): 4 个 CVSS 9.8 RCE
  - 确认环境中是否存在对应服务
  - HPC Pack 非默认安装可延后

5.2 检测与狩猎

如果环境中存在 Windows 终端且可能被 Lazarus 攻击面覆盖,应执行以下狩猎操作:

powershell
# 检查 afd.sys 版本是否已修补
Get-Item "C:\Windows\System32\drivers\afd.sys" | 
  Select-Object Name, VersionInfo, LastWriteTime

# 检查 FudModule rootkit 指标
# 1. Smart App Control 状态是否被篡改
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CI\Policy" -ErrorAction SilentlyContinue

# 2. 检查可疑的内核驱动加载
Get-WinEvent -FilterHashtable @{
    LogName='Microsoft-Windows-CodeIntegrity/Operational'
    ID=3002,3003,3004,3010,3023
} -MaxEvents 50 | 
  Where-Object { $_.Message -match "FudModule|afd|unsigned" }

# 3. 检查 MISTPEN C2 通道 (OneDrive 异常)
# 查看 wsaipcmd.exe 或类似进程的异常网络连接
Get-NetTCPConnection | 
  Where-Object { 
    $_.RemotePort -in @(443,80) -and 
    $_.RemoteAddress -notin @("127.0.0.1","::1") 
  } |
  Where-Object { 
    (Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).ProcessName -match 
    "pdfviewer|securitypdf|mupdf"
  }

5.3 网络层检测

MISTPEN 通过 OneDrive/Graph API 通信,使得网络层检测极具挑战性。推荐检测策略:

python
# 检测异常的 Microsoft Graph API 使用模式
# 正常用户: 工作时间, 少量文件操作
# MISTPEN: 可能在非工作时间, 频繁小文件操作

import re
from datetime import datetime

# Sigma 规则: 检测异常 OneDrive C2 模式
sigma_rule = {
    "title": "Potential MISTPEN OneDrive C2 Activity",
    "status": "experimental",
    "description": "Detects potential MISTPEN C2 via Microsoft Graph API",
    "logsource": {
        "product": "windows",
        "service": "sysmon"
    },
    "detection": {
        "selection": {
            "EventID": 3,  # Network connection
            "DestinationHostname|contains": 
                ["graph.microsoft.com", "onedrive.live.com"]
        },
        "filter": {
            "Image|endswith": 
                ["\\onedrive.exe", "\\Excel.exe", "\\Word.exe", 
                 "\\PowerPoint.exe", "\\Teams.exe"]
        },
        "condition": "selection and not filter"
    },
    "falsepositives": [
        "Custom applications using Graph API",
        "Third-party OneDrive sync clients"
    ],
    "level": "medium"
}

防御启示

6.1 afd.sys 需要纵深防御

afd.sys 被 Lazarus 4 次利用的事实表明,单靠补丁不够。建议:

  1. 启用 Windows Defender Application Guard:隔离高风险文档打开行为
  2. 部署 ETW 内核监控:监控 afd.sys 异常的 IRP 请求模式
  3. 限制非管理员套接字操作:通过 WDAC 策略限制不必要的网络 API 访问
  4. 监控 Smart App Control 状态变更:FudModule 的篡改行为可被注册表监控捕获

6.2 社会工程学防护

Operation Dream Job 的核心入口是 LinkedIn 社会工程:

  • 对国防、航空航天等高危行业员工进行定向钓鱼演练
  • 部署邮件网关规则拦截含 PDF 附件的疑似招聘邮件
  • 限制员工在工作设备上安装非授权 PDF 查看器
  • 监控从 LinkedIn 外部链接下载的文件

6.3 消除合法基础设施滥用

Lazarus 将 OneDrive 作为 C2 通道的策略需要新的检测范式:

传统 C2 检测:
  IP 信誉 → 域名信誉 → 流量签名

现代 C2 检测 (合法基础设施):
  行为基线 → 通信频率 → 数据外传模式
  ✓ 异常的 Graph API 调用频率
  ✓ 非工作时间的大量小文件操作
  ✓ 从非标准进程发起的 OneDrive 连接
  ✓ 异常的 OAuth token 使用模式

总结

CVE-2026-68820 的技术复杂度并不算顶级——use-after-free 竞争条件是内核漏洞的常见类型。真正令其成为 2026 年度标志性安全事件的,是 Lazarus 将其编织进一个完整、精密的攻击链:

  • 社会工程 → 虚假招聘
  • 初始访问 → DLL 侧加载 + 木马化应用
  • C2 通道 → Microsoft OneDrive(合法云服务)
  • 内核提权 → CVE-2026-68820
  • 持久化 → FudModule rootkit

这条链条展示了国家级 APT 组织如何将一个 CVSS 7.0 的"中等"漏洞转化为完整的系统控制能力。afd.sys 第 4 次被 Lazarus 利用也说明,关键内核驱动需要超越补丁的纵深防御。

参考资料

上次更新于: