ZeroLogon(CVE-2020-1472) 漏洞的攻击与防御策略(下)

[[344782]]

 攻击种类

计算机/设备帐户本质上与用户帐户相同,如果配置错误,可能同样危险。因此,可以利用计算机帐户密码/哈希值进行一些其他攻击:

1.银票攻击;

2.金票攻击;

3.过时的DNS条目;

4.攻击的替代方法。

金票和银票攻击通过利用Kerberos票据授予服务(TGS)来伪造票据。金票和银票攻击的主要区别在于银票只允许攻击者伪造特定服务的TGS票。这两者都可以被利用,因为Zerologon允许攻击者更改计算机帐户密码。

一旦攻击者可以访问计算机帐户密码哈希,该帐户就可以用作“用户”帐户来查询Active Directory,但是更有趣的用例是创建银票以管理员身份访问计算机托管的服务。默认情况下,即使计算机帐户的密码多年来未更改,Active Directory也不会阻止计算机帐户访问AD资源。

什么银票攻击?

构成一张银票攻击的关键要素如下:

1.KRBTGT帐户哈希;

2.目标用户;

3.帐户SID;

4.域名;

5.目标服务;

6.目标服务器

如果攻击者已转储Active Directory数据库或了解域控制器的计算机帐户密码,则攻击者可以使用银票以管理员身份将DC的服务作为目标并保留在Active Directory中。

我们可以通过Pass-The-Hash在DC上运行CME来获得SID,显然其他方法也可以使用whoami /user。

下面是在Mimikatz中使用的命令行,一旦我们有了SID,它就会执行攻击:

  1. kerberos::golden /domain:purplehaze.defense /user:zephr /sid:S-1-5-21-2813455951-1798354185-1824483207 /rc4:9876543210abcdef9876543210abcdef /target:DC2.purplehaze.defense /service:cifs /ptt /id:500 

针对CIFS服务的银票攻击

还有其他方法可以执行银票攻击,但是mimikatz可以通过传递票据标志和kerberos :: golden函数使其变得如此简单。

金票攻击

与银票相似,可以使用krbtgt帐户哈希,KRBTGT帐户所属域的域名和SID生成黄金票。可以为有效的域帐户或不存在的帐户创建金票,这对攻击者更具吸引力!

  1. kerberos::golden /domain:purplehaze.defense /user:zephr /sid:S-1-5-21-2813455951-1798354185-1824483207 /rc4:9876543210abcdef9876543210abcdef /target:DC2.purplehaze.defense /ptt 

金票攻击命令

虽然攻击的主要焦点一直放在AD环境中的域控制器周围,但很少关注基于DNS的攻击,在这种攻击中,攻击者可以发现较旧的DC DNS条目的陈旧DNS条目,并更改这些条目的计算机密码而不影响操作。比如,你要扫描主机网络,并找到一个不再存在的DNS条目,就可以发起攻击。

启动选择的PoC,在此示例中,我将使用mimikatz:

  1. lsadump::zerologon /server:stream-dc.purplehaze.defense /account:stream-dc$ /exploit 

我们针对AD中不存在的域控制器(也称为过时的DNS条目)进行了有效的利用!现在,上面的内容看起来与第一轮PoC完全相同,这是因为它基本上是一个警告,DNS条目具有一个AD帐户,但是没有与之关联的计算机,因此我刚刚设法做的就是更改一个计算机的密码。网络上没有关联计算机的AD对象,因此在具有潜在权限的域上建立了攻击立足点。

强大的攻击,让防御者无法招架

以上讲的都是如何利用该漏洞的,下面就具体讲讲攻击工程。

目前受Zerologon漏洞的系统有Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2、Windows Server 2008

、Windows Server 2003 R2、Windows Server 2003。

Zerologon漏洞的修复

首先,修复此漏洞需要几个步骤,并且还没有完整的解决方案。

缓解措施包括在所有DC和RODC上安装更新,监控新事件以及解决使用易受攻击的Netlogon安全通道连接的不兼容设备。可以允许不兼容设备上的计算机帐户使用易受攻击的Netlogon安全通道连接。但是,应更新它们以支持Netlogon的安全RPC,并尽快执行该帐户,以消除遭受攻击的风险。

应用Microsoft的2020年8月11日补丁,就可以得到每个操作系统的KB编号的完整列表。

此外,MS将于2021年2月9日发布更新,这将打开DC强制执行模式。解决方法是可以将组策略与注册表项结合设置以临时解决此问题:

1.策略路径:“计算机配置”>“ Windows设置”>“安全设置”>“安全选项”;

2.设置名称:域控制器:允许易受攻击的Netlogon安全通道连接;

应当注意,Microsoft警告:部署更新时,应将此策略用作第三方设备的临时安全措施。

添加以下注册表项:

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\FullSecureChannelProtection 

1 –这将启用强制模式。除非“域控制器:允许易受攻击的Netlogon安全通道连接”组策略中的“创建易受攻击的连接”列表允许该帐户,否则DC将拒绝易受攻击的Netlogon安全通道连接。

0 – DC将允许来自非Windows设备的易受攻击的Netlogon安全通道连接。在执行阶段发行版中将不赞成使用此选项。

这可以通过以下命令来实现:

  1. REG add "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" /v FullSecureChannelProtection /t REG_DWORD /d 1/f 

除了增加工作解决方案,Microsoft还发不了特定事件ID的指南,以监控针对你的设备的可疑活动是否存在漏洞。

安装了2020年8月或更高版本进行更新后,请在域控制器中的事件日志中查看系统事件日志中的以下事件:

1.如果连接被拒绝,则记录事件ID 5827和5828;

2.如果“域控制器:允许易受攻击的Netlogon安全通道连接”组策略允许连接,则记录事件ID 5830和5831;

3.只要允许存在漏洞的Netlogon安全通道连接,就记录事件ID 5829。

这些事件应在配置DC强制模式之前或在2021年2月9日开始强制阶段之前解决。

检测与响应:监控攻击

如上所述,可以编写查询来监控异常活动,以在事件日志中发现漏洞利用活动。

目前已有很多工具可以执行事件监控,不过我只介绍一些开源工具的搜寻查询,这些工具结合了可转换为其他平台的sigma规则。我还收集了其他人收集的数据,这些数据有望帮助你缩小搜索范围。

1.由https://twitter.com/james_inthe_box创建的Snort规则;

2.CoreLight的Zeek检测包;

另外,阅读有关splunk查询的文章,可以在各种工具中监控以下事件日志和sysmon的事件ID。

1.事件ID-4742:更改了计算机帐户,特别是该操作可能是由匿名登录事件执行的。

2.事件ID-5805,计算机帐户身份验证失败,这通常是由相同计算机名称的多个实例或计算机名称没有复制到每个域控制器造成的。

3.事件代码4624:请注意,如果在主机上利用此漏洞,则成功登录计算机,特别是事件代码4624,然后触发事件代码4724。

4.Sysmon事件ID 3:网络连接事件记录计算机上的TCP / UDP连接,Zerologon事件发生时,从攻击者计算机到受害域控制器再到LSASS进程建立传入的网络连接。

5.Sysmon事件ID 1和13:如果重置了设备密码,很可能将使用以下参数来生成Powershell的系统进程。注意,serviceName是zer0dump.py的唯一属性,默认情况下它是’fucked’,实际上serviceName可以是任何东西:

powershell.exe -c Reset-ComputerMachinePassword’

6.系统事件代码ID 3210:如果主机已被利用,并且计算机密码已更改,则事件日志将填充3210个事件ID,这些ID表示NETLOGON错误,特别是如果主机在复制对中。

7.事件ID-4662:如果在上述事件ID之后执行了DCSync攻击,则将使用三个GUID中的任何一个生成事件ID 4662:

7.1:“DS-Replication-Get-Changes”扩展权限;

7.2:CN:DS复制获取更改;

7.3:GUID:1131f6aa-9c07-11d1-f79f-00c04fc2dcd2

7.4:“复制目录全部更改”扩展权限;

7.5;CN:DS复制获取更改全部

7.6:GUID:1131f6ad-9c07-11d1-f79f-00c04fc2dcd2

7.7:扩展了“在过滤集中复制目录更改”的权限(并非总是需要此权限,但为防万一,我们可以添加它);

7.8:CN:DS复制获取更改后的过滤设置;

7.9:GUID:89e95b76-444d-4c62-991a-0facbeda640c;

这是成功利用事件日志中记录的攻击链的示例(请注意,事件日志已清除以显示成功利用事件所生成的事件):

系统日志

安全日志,身份验证失败,GUID为空

攻击尝试时生成的Sysmon日志

Sigma防御规则

还可以利用一些sigma规则来寻找ZeroLogon,第一个是SOC Prime的Adam Swan编写的规则:

  1. title: Possible CVE-2020-1472 (zerologon) 
  2. description: CVE-2020-1472 (Netlogon Elevation of Privilege Vulnerability) may create thousands of NetrServerReqChallenge & NetrServerAuthenticate3 requests in a short amount of time
  3. author: SOC Prime Team 
  4. date: 2020/09/11 
  5. references
  6. - https://github.com/SecuraBV/CVE-2020-1472 
  7. tags: 
  8. - attack.lateral_movement 
  9. - attack.T1210 
  10. logsource: 
  11.   product: zeek 
  12.   service: dce_rpc 
  13. detection: 
  14.   selection: 
  15.     endpoint: 'netlogon' 
  16.     operation: 'NetrServerReqChallenge' 
  17.   selection2: 
  18.     endpoint: 'netlogon' 
  19.     operation: 'NetrServerAuthenticate3' 
  20.   timeframe: 1m 
  21.   condition: selection or selection2 | count() by src_ip > 100 
  22. falsepositives: 
  23. 'unknown' 
  24. level: high 
  25. DC-Sync 
  26. title: Mimikatz DC Sync 
  27. id: 611eab06-a145-4dfa-a295-3ccc5c20f59a 
  28. description: Detects Mimikatz DC sync security events 
  29. status: experimental 
  30. date: 2018/06/03 
  31. modified: 2020/09/11 
  32. author: Benjamin Delpy, Florian Roth, Scott Dermott 
  33. references
  34.     - https://twitter.com/gentilkiwi/status/1003236624925413376 
  35.     - https://gist.github.com/gentilkiwi/dcc132457408cf11ad2061340dcb53c2 
  36. tags: 
  37.     - attack.credential_access 
  38.     - attack.s0002 
  39.     - attack.t1003.006 
  40. logsource: 
  41.     product: windows 
  42.     service: security 
  43. detection: 
  44.     selection: 
  45.         EventID: 4662 
  46.         Properties: 
  47.             - '*Replicating Directory Changes All*' 
  48.             - '*1131f6ad-9c07-11d1-f79f-00c04fc2dcd2*' 
  49.         EventID: 4662 
  50.         Properties: 
  51.             - '*DS-Replication-Get-Changes*' 
  52.             - '*1131f6aa-9c07-11d1-f79f-00c04fc2dcd2*' 
  53.     filter1: 
  54.         SubjectDomainName: 'Window Manager' 
  55.     filter2: 
  56.         SubjectUserName: 
  57.             - 'NT AUTHORITY*' 
  58.             - '*$' 
  59.             - 'MSOL_*' 
  60.     condition: selection and not filter1 and not filter2 
  61. falsepositives: 
  62.     - Valid DC Sync that is not covered by the filters; please report 
  63. level: high 

安全查询

VQL匿名登录自定义工件:

  1. name: Custom.Windows.EventLogs.AnonymousLogon-ZL 
  2. description: | 
  3.   Parse Security Event Log for Anonymous Logon events that could be ZeroLogon attempts 
  4.    
  5. precondition: SELECT OS From info() where OS = 'windows' 
  6.   
  7. parameters: 
  8.   - name: dateFrom 
  9.     default"" 
  10.     type: timestamp 
  11.   - name: securityLogFile 
  12.     default: C:/Windows/System32/Winevt/Logs/Security.evtx 
  13.   
  14. sources: 
  15.   - queries: 
  16.       - SELECT System.EventID.Value, 
  17.                EventData.SubjectUserSid, 
  18.                EventData.SubjectUserName, 
  19.                EventData.SubjectDomainName, 
  20.                EventData.SubjectLogonId, 
  21.                EventData.TargetUserSid, 
  22.                EventData.TargetUserName, 
  23.                EventData.TargetDomainName, 
  24.                EventData.TargetLogonId, 
  25.                EventData.LogonType, 
  26.                EventData.WorkstationName, 
  27.                EventData.Properties, 
  28.                EventData.LogonGuid, 
  29.                EventData.TransmittedServices, 
  30.                EventData.ProcessId, 
  31.                EventData.ProcessName, 
  32.                EventData.IpAddress, 
  33.                EventData.IpPort, 
  34.                EventData.ImpersonationLevel, 
  35.                EventData.RestrictedAdminMode, 
  36.                EventData.TargetOutboundUserName, 
  37.                EventData.TargetOutboundDomainName, 
  38.                EventData.VirtualAccount, 
  39.                EventData.TargetLinkedLogonId, 
  40.                EventData.ElevatedToken, 
  41.                timestamp(epoch=System.TimeCreated.SystemTime) as Time
  42.                System.TimeCreated.SystemTime AS TimeUTC 
  43.         FROM parse_evtx(filename=securityLogFile) 
  44.         WHERE System.EventID.Value = 4742 
  45.         AND timestamp(epoch=System.TimeCreated.SystemTime) >= dateFrom 

与ZeroLogon VQL相关的所有事件ID:

  1. name: Custom.Windows.EventLogs.ZeroLogonHunt 
  2. description: | 
  3.   Parse Security Event Log for ZeroLogon Events;  4662, 4672, 5805, 4624, 4742 
  4.   
  5. precondition: SELECT OS From info() where OS = 'windows' 
  6.   
  7. parameters: 
  8.   - name: dateFrom 
  9.     default"" 
  10.     type: timestamp 
  11.   - name: securityLogFile 
  12.     default: C:/Windows/System32/Winevt/Logs/Security.evtx 
  13.   
  14. sources: 
  15.   - queries: 
  16.       - SELECT System.EventID.Value, 
  17.                EventData.SubjectUserSid, 
  18.                EventData.SubjectUserName, 
  19.                EventData.SubjectDomainName, 
  20.                EventData.SubjectLogonId, 
  21.                EventData.TargetUserSid, 
  22.                EventData.TargetUserName, 
  23.                EventData.TargetDomainName, 
  24.                EventData.TargetLogonId, 
  25.                EventData.Properties, 
  26.                EventData.LogonType, 
  27.                EventData.LogonProcessName, 
  28.                EventData.AuthenticationPackageName, 
  29.                EventData.WorkstationName, 
  30.                EventData.LogonGuid, 
  31.                EventData.TransmittedServices, 
  32.                EventData.LmPackageName, 
  33.                EventData.KeyLength, 
  34.                EventData.ProcessId, 
  35.                EventData.ProcessName, 
  36.                EventData.IpAddress, 
  37.                EventData.IpPort, 
  38.                EventData.ImpersonationLevel, 
  39.                EventData.RestrictedAdminMode, 
  40.                EventData.TargetOutboundUserName, 
  41.                EventData.TargetOutboundDomainName, 
  42.                EventData.VirtualAccount, 
  43.                EventData.TargetLinkedLogonId, 
  44.                EventData.ElevatedToken, 
  45.                timestamp(epoch=System.TimeCreated.SystemTime) as Time
  46.                System.TimeCreated.SystemTime AS TimeUTC 
  47.         FROM parse_evtx(filename=securityLogFile) 
  48.         WHERE System.EventID.Value = 4662 OR System.EventID.Value = 4672 OR System.EventID.Value = 5805 OR System.EventID.Value = 4624 OR System.EventID.Value = 4742   
  49.         AND timestamp(epoch=System.TimeCreated.SystemTime) >= dateFrom 

可以通过缩短第二次查询来创建与上述事件ID相关的详细信息,从而进一步创建VQL查询。

凯文·博蒙特(Kevin Beaumont)编写了一个怪异的Azure查询程序,使你能够在Azure环境中查询ZeroLogon:

  1. Dce_Rpc | where (endpoint == "netlogon" and (operation == "NetrServerReqChallenge" or operation == "NetrServerAuthenticate3")) | summarize var = count() by SourceIp | where var > 100 

此外,Azure ATP检测称为“可疑的Netlogon权限提升尝试(CVE-2020-1472利用)”,如果你安装了Azure ATP,将自动触发报警系统。

本文翻译自:https://blog.zsec.uk/zerologon-attacking-defending/如若转载,请注明原文地址:

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/137525.html<

(0)
管理的头像管理
上一篇2025-03-02 14:30
下一篇 2025-03-02 14:31

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注