当前位置: 首页 > news >正文

Offsec Nibbles CTF 实战解析:PostgreSQL漏洞利用与权限提升

Offsec Nibbles CTF 实战解析

在准备OSCP认证过程中,我遇到了OffSec Proving Grounds中一个名为Nibbles的靶机。在了解了PostgreSQL的日常问题和我最喜欢的开发者名言"这不是bug,而是功能"后,这成为了我最喜欢的攻击靶机之一。

该靶机的前半部分相对简单,但在后期权限提升时会变得稍微复杂。不过,如果你知道该寻找什么,就能轻松获得最后的flag。

图片描述
该靶机属于中等难度,但不要因此退缩。OSCP的部分理念是,无论靶机多难,都要不断枚举、枚举、再枚举。OSCP的模式是"更加努力",但说实话,如果你记得Fritzel女士的名言:"起初,当你没有成功时,问问自己第一次失败的原因",这可能在考试时是更有效的心态。

我们知道这是一个Linux操作系统。

作为实验的一部分,我喜欢将所有IP地址导出到目标,以简化操作。因此,在本教程中,我将把目标IP称为$target:

图片描述
图片描述

从低挂果实开始,你可以访问端口21上的FTP服务器,检查端口80上的网站,或者在本例中,PostgreSQL运行在端口5437上。因此,在获得另外两个端口的访问权限之前,仍然可以访问或使用SQL进行远程代码执行。我们可以忽略端口139和445,因为这两个端口当前都已关闭。

在深入研究该靶机之前,业余爱好者和专业道德黑客的一个区别在于理解框架和CVSS。这一点也很重要,因为在OSCP期间,你需要为测试撰写报告;理解"为什么这是安全风险"将对你有所帮助。

在几乎所有版本的PostgreSQL漏洞中,都要感谢这些CVE:CVE-2019-9193、CVE-2022-1552和CVE-2023-39417。特别是这个:CVE-2022-1552。这里的问题是,无论PostgreSQL版本如何,你都可以运行一些脚本(尤其是Python脚本),仅凭用户名和密码就能获得服务器访问权限。

感谢GitHub上的netbiosX列表:https://github.com/netbiosX/Default-Credentials/blob/master/PostgreSQL-Default-Password-List.md。此列表将有助于缩小常见用户名和密码的范围。因此,如果此列表不起作用,我建议如果标准用户/密码列表无效,则接下来访问FTP。

现在进行测试,使用postgres/postgres:
图片描述

默认用户完美运行,所以现在我可以实现RCE。通过简单的Google搜索,我找到了squid22的这个仓库。https://github.com/squid22 并链接到RCE:https://github.com/squid22/PostgreSQL_RCE。

这是squid22制作的仓库代码:
图片描述

接下来,我喜欢运行'git clone http://github.com'或使用'wget',两者皆可。但要获取报告或下载脚本,并确保进入目录或将脚本移动到其他目录。

然后,运行以下命令:

sudo chmod +x postgresql_rce.py

这样,你的脚本就能工作了。然后使用sudo nano编辑脚本。

对于这一点,如果你刚接触CTF或道德黑客,下半部分不用担心;那是连接到我们目标PC的部分。如果你刚接触Python,也不要动第二行。唯一需要关注的是第五行、第七行,如果你愿意,可能还有第八行。确保保留引号。

逐行说明:

  • 第5行是Rhosts,这是你的目标IP。你不能在这里写$target,但OffSec很好,会提供IP地址。一旦你启动运行活动机器,他们就会提供:192.168.*.47,但即使在真实环境中,你仍然需要输入IP地址。我知道我跳过了第六行,但那是你要攻击的端口,所以不要动它。
  • 第7行:替换为你机器的IP地址。运行'ifconfig'获取信息。对于OffSec,将是tun0 IP,并插入该地址。
  • 第80行由你决定。我不建议使用端口80作为监听端口。使用像9999、1234、4444等数字。如果需要使用Python服务器进行文件传输,请确保不使用端口80。在CTF中我将坚持使用80,但其余由用户决定。然后按Ctrl X保存,是的。

在运行脚本之前,确保打开监听器。对于端口80,你可以这样做:

nc -lnvp 80

然后运行脚本:
图片描述

这是CTF的前半部分。对于OSCP,他们明确指出,对于报告,你需要这样做:
图片描述

他们需要用户和IP地址,但现在我们继续枚举。至于权限提升,我运气很好。真的运气很好。我查看了SetUID并遇到了这个命令:
图片描述

然后我获得了root权限。真的运气很好。

你仍然需要为OSCP添加IP地址,但在获得root后,你可以获取flag。我专注于在获取flag之前获得root访问权限,因为到那时你已经成功入侵了机器。对于proving grounds,它们总是在Linux用户的home目录或Windows的Desktop中。

更进一步来说,对于真实环境,这个靶机很容易被入侵。默认密码是不可接受的。即使这是在沙盒中,你仍然应该使用比默认更强的密码,然后限制其从网络访问。因为在后期利用后,我们可以使用Chisel在网络中从这个靶机进行横向移动,看看是否能访问DC。此外,通过root访问权限,我们可以同时访问passwd文件和shadow文件,并使用密码列表运行John the Ripper来破解账户。

通过实施SSL加密来加固PostgreSQL至关重要,因为一个基本的Python脚本就可以访问网络上的主机。此外,应用Mac过滤防火墙规则有助于防止恶意设备访问系统,这在像我的攻击靶机这样的情况下特别有益。最重要的是,更新软件。

这个CVE或漏洞的挑战性在于它被部署到生产环境,被标记为功能,对于PostgreSQL,它与CVE相关联;然而,它无法防止RCE。即使有人为错误,我们也需要提醒自己放慢速度,不要仅仅依赖AI/Vibe编码,因为今天为善而构建的东西明天可能会反噬。"这不是bug,而是功能"可能导致无数问题,因为这个"功能"相当容易被利用。

这仍然是我在准备OSCP期间遇到的最喜欢的靶机之一。有时候,运气和简单的谷歌搜索就能提供你需要的答案。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.hskmm.com/?act=detail&tid=38287

相关文章:

  • 如何在一台 Linux 机器上管理不同版本的 CMake
  • 90 天打造可持续交付:12 条 DevOps 实践要点与避坑
  • CSharp: word,excel,powerpoint convert to pdf,hrml etc using Aspose.Office
  • 2025年新疆喀纳斯旅游服务权威推荐榜单:新疆/阿勒泰/禾木深度游旅行社综合评测
  • 一天一款实用的AI工具,第9期,AI转黏土风格
  • 2025 10 24日报
  • 题解:P8930 「TERRA-OI R1」神,不惧死亡
  • 2025 OSCAR丨与创新者同频!Apache RocketMQ 邀您共赴开源之约
  • 生产环节最容易出问题的三个点,老板必须盯紧
  • 2025年PSA制氮设备厂家权威推荐榜单:电解水制氢设备/氦气纯化系统/氘气回收纯化源头厂家精选
  • 解决git clone只有master分支的问题
  • 一文读懂循环神经网络(RNN):原理、局限与LSTM解决方案 - 指南
  • 2025年搬家纸箱权威推荐榜单:物流包装/电商纸箱/平口纸箱源头厂家精选
  • 大数据案例 -2025/10/24
  • 2025年阳台壁挂太阳能厂家权威推荐榜单:分体式阳台太阳能/阳台壁挂太阳能热水器/分体式阳台太阳能源头厂家精选
  • 使用C# 控制ethercat从站设备
  • 从价值直觉到价值理性:AI元人文演进路径解读
  • 0269-GRPC-使用 prost 编码
  • 0268-GRPC-prost 生成文件到目录
  • 0271-GRPC-prost 带长度的编解码
  • 2025 年坡口机源头厂家最新推荐排行榜:欧盟 CE 认证企业领衔,含 15 年工业服务经验品牌,自走式/自动/板材/管道坡口机厂家推荐
  • 0270-GRPC-使用 prost 解码
  • 完整教程:Java开发者进阶之路
  • 动手动脑4
  • python+request+unittest自动化测试
  • 2025 年保温涂料厂家最新推荐排行榜:聚焦技术专利与管理体系认证的优质品牌耐高温/防火耐热/防腐/纳米介孔微珠中空粒子保温涂料公司推荐
  • 2025年云南独立成团游公司权威推荐榜单:云南旅游团/云南私享之旅/云南专属行程游源头公司精选
  • 2025 年气凝胶生产厂家最新推荐排行榜:含气凝胶毡 / 粉 / 隔热板 / 保温罩 / 陶瓷板品牌,优质厂家推荐
  • 102302143郑泽雄第一次作业
  • 作业4