OSCP Blackgate Write-up
本文最后更新于 2026年3月12日 下午
一、靶场详情
靶场名称:
Blackgate
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结
突破边界:
Redis 未授权访问 –> 利用 Redis RCE 漏洞 –> 突破边界 –> 用户旗帜
权限提升:
redis-status 程序 sudo 权限 –> 查看程序字符串 –> 获取到执行密码 –> 服务状态页面执行 shell –> root 用户权限 –> 管理员旗帜
三、靶场攻击演示
3.1 靶场信息收集
TCP 端口扫描:
1 | |
UDP 端口扫描:未发现有价值信息。
TCP 服务信息搜集:
1 | |
系统为 Linux 环境,开放有 Redis、SSH 服务。
3.2 渗透测试突破边界
3.2.1 Redis 未授权 RCE
系统 Redis 服务可进行未授权访问,由于权限限制,并不能写入计划任务和私钥获取系统权限。
1 | |

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

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

将 shell 反弹至 kali nc。
1 | |


升级为交互式 shell。

3.2.2 用户旗帜获取

3.3 提权获取系统管理员权限
3.3.1 Redis-status 程序 sudo 提权至 root 用户
prudence 用户可通过 sudo 执行/usr/local/bin/redis-status 程序。
1 | |

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

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


成功提权获取到系统 root 用户权限。
3.3.2 管理员旗帜获取

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