AD域的攻击方式

组策略

本地组策略 LGP

简称(Local Group Policy或者Local GPO)

win+R键打开运行,输入“gpedit.msc”

image-20220303233218371

添加对应脚本即可

或者将文件直接放入C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup 路径下 (可以开机自启)

通常用来权限维持

域组策略

在SYSVOL中查找密码并利用组策略首选项 - Active Directory Security (adsecurity.org)

域控机器下发一些策略,可以利用域组策略进行批量修改

了解下两个默认的共享文件夹SYSVOL和netlogon

image-20220411234636929

SYSVOL
  • 保存了域内组策略相关的信息(登陆脚本,组策略数据,等等),

SYSVOL是存储域公共文件服务器副本的共享的文件夹,存在域控制器(DC)的C:\Windows\SYSVOL下,用来为整个域中域控制器提供访问,复制,共享的能力。 在域中,用户登录时会先在sysvol下查找GPO

目录

1
2
Domain 文件夹:存储策略实体,策略和脚本存储位置
Staging:交换区域,临时存放多台DC之间需要同步的数据,DC中的数据首先复制该文件夹,然后在DC之间相互复制

默认所有域用户都能访问DC 的SYSVOL文档

1
dir \\win2016dc\SYSVOL

image-20220412000133235

  • 存储凭据

    当创建新的GPP时,在SYSVOL中创建了一个关联的XML文件,其中包含相关的配置数据,并且如果提供了密码,则它是AES-256位加密的

除了在2012年之前的某个时候,微软在MSDN上发布了AES私钥,可用于解密密码。由于经过身份验证的用户(任何域用户或受信任域中的用户)对 SYSVOL 具有读取访问权限,因此域中的任何人都可以在 SYSVOL 共享中搜索包含“cpassword”的 XML 文件,这是包含 AES 加密密码的值

域渗透——利用SYSVOL还原组策略中保存的密码 (3gstudent.github.io)

netlogon

netlogon 挂载点为 SYSVOL\domain\SCRIPTS ,存放脚本信息。

AD活动目录安装时候自动创建的例如sysvol\shmily.god\scripts

GPO

(Group Policy Object)

组策略对象,即组策略设置的集合,用GPO来存储不同的组策略信息。

安装完AD之后系统默认会存在两个组策略对象

  1. Default Domain Policy 唯一ID:{31B2F340-016D-11D2-945F-00C04FB984F9} 默认域策略
1
C:\Windows\SYSVOL\sysvol\shmily.god\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}

image-20220412001529990

  1. Default Domain Controllers Policy 唯一ID(GUID):{6AC1786C-016F-11D2-945F- 00C04FB984F9} 默认域控制器策略
1
C:\Windows\SYSVOL\sysvol\shmily.god\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}

image-20220412001626442

根据上面截图有4个策略,执行的优先级顺序:

本地策略 站点策略 域策略 OU策略。

GPO作用的范围是DC这个OU

GPP

即 组策略首选项(Group Policy Preference,GPP)借助了GPO实现域中所有资源的管理

编辑gpo,可以看到gpp相关内容

image-20220412003126191

Gpp 用来在下面场景存储和使用凭据,通过gpp批量下发策略等

1
2
3
4
5
6
7
映射驱动(Drives.xml)
创建本地用户
数据源(DataSources.xml)
打印机配置(Printers.xml)
创建/更新服务(Services.xml)
计划任务(ScheduledTasks.xml)
更改本地Administrator密码

域组策略利用

下发策略

将下面代码保存为chpass.vbs ,这个脚本作于是将本地管理员账户的密码修改为abcabc123…

1
2
3
4
strComputer = "."
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator, user")
objUser.SetPassword "abcabc123..."
objUser.SetInfo

下发策略脚本,将脚本放在对应文件中

image-20220412005407566

域用户机器上进行强制更新组策略

1
gpupdate /force

读取策略

域用户搜索对应文件

1
type \\win2016dc\sysvol\shmily.god\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\Machine\Scripts\Startup\chpass.vbs

image-20220412005607573

寻找策略

搜索SYSVOL的下的脚本命令

1
2
for /r \\dc\sysvol %i in (*.vbs) do @echo %i
for /r \\dc\sysvol %i in (*.bat) do @echo %i

image-20220412005839544

GPP漏洞

原理

存在没有打补丁的winserver2008上,超过2008版本的系统是没办法写入密码的。

产生原因:使用了GPP功能,如果输入了用户的密码的话,那么密码就会以AES 256加密的形式存储在SYSVOL文件夹下的以XML后缀结尾的xml文件中,这个密码的加密密钥由微软官方给出可以进行解密。

但是如果打补丁或者高版本的话,GPP服务是不能输入密码的了,这个漏洞也就相应不存在了。

漏洞利用

1
findstr /S /I cpassword \\<FQDN>\sysvol\<FQDN>\policies\*.xml

参考:https://xz.aliyun.com/t/9511

https://3gstudent.github.io/

Kerberoasting

需要域用户手动注册的spn ,一般只有域管理员才能自己注册,

  1. 寻找自己注册spn 的用户
  2. 请求对应服务票据
  3. 导出票据
  4. 破解 (hashcat /tgsrepcrack.py)

ntlm-relay

中继到其他机器,但是不能中继到域控,有smb认证

system权限不能中继自身调用rpc,可以创建机器账号,中继域控ldap设置基于资源的约束委派,伪造域管理员请求对应服务st即可

这是一篇“不一样”的真实渗透测试案例分析文章 - 奇安信A-TEAM技术博客 (qianxin.com)

委派

域渗透之委派攻击详解(非约束委派/约束委派/资源委派) - 云+社区 - 腾讯云 (tencent.com)

委派攻击 (qq.com)

只有服务账号/机器账号才能设置委派

这里就设计s4u协议(s4u2proxy s4u2self)

非约束性委派

A设置非约束性委派

简单来说,就是利用协议 伪造用户请求并且获得用户的TGT,包括对任意服务的TGS

约束性委派

A设置约束性委派,并且需要指定可委派的服务

利用协议 伪造任意用户请求并且获得用户对应可委派服务的TGS

基于资源的约束性委派

B设置msDS-AllowedToActOnBehalfOfOtherIdentity基于资源的约束性委派,并且指定sid(即谁可以委派请求b服务)

比如我们那些了对应sid 账号,发现B设置基于资源的约束性委派 并为此用户sid ,那么可以利用su4协议伪造任意用户对应B的TGS。

参考:https://www.freebuf.com/articles/system/198381.html

https://mp.weixin.qq.com/s/WyFeKkmzIjqcbP5uciDW6Q

参考:先知社区

打印机漏洞?

打域控

域控独特端口:ladp 389

域内漏洞

CVE-2019-1040(攻击使得攻击者在仅有一个普通域账号的情况下可以远程控制Windows域内的任何机器,包括域控服务器。)

ZeroLogon(CVE-2020-1472)

1
攻击者可以向域发起Netlogon 计算机账户认证请求, 使用8字节全0 client challenge 不断尝试得到一个正确的8字节全0 client credential 通过认证,再通过相关调用完成对域控密码的修改。

(CVE-2021-42287 and CVE-2021-42278)只需一个域用户

CVE-2022-33647,该漏洞导致攻击者可进行中继攻击,通过修改AS-REQ包中etype字段进行强制加密降级到RC4 _MD4,对加密session_key使用的密钥流进行破解,从而实现权限提升。

CVE-2022-33679,该漏洞导致攻击者可请求设置了“不要求Kerberos预身份验证”的用户的TGT票据,并对AS-REP中加密session_key使用的密钥流进行破解,从而实现权限提升。Kerberos再现高危漏洞,身份安全亟需防护 | CTF导航 (ctfiot.com)

其他漏洞

CVE-2021-1675 Windows Print Spooler权限提升漏洞复现

17010

CVE-2020-0796(永恒之黑)

Dcsync

原理即域控自己数据同步,同步NTDS.dit

  • 需要获得以下任一用户的权限:
1
2
3
4
5
Administrators组内的用户
Domain Admins组内的用户
Enterprise Admins组内的用户 跨域
域控制器的计算机帐户
exchange trusted subsystem组内账户` (需要写ACL)` 暂时不会
  1. pth/ptt/runas

  2. mimikatz:

1
mimikatz.exe privilege::debug "lsadump::dcsync /domain:xxxx.org /all /csv" exit
  1. secretsdump+ ntds.dit
1

维权

写ACL 让普通域用户具有dcsync权限

ACL

ADCS

  • Copyrights © 2020-2023 Shmily-ing
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信