VulnHub靶机学习——JIS-CTF实战记录
字数 1575 2025-08-18 11:38:28

VulnHub靶机JIS-CTF渗透测试实战教程

靶机概述

  • 靶机名称: JIS-CTF
  • 难度等级: 初级
  • 目标: 获取5个flag
  • 下载地址: JIS-CTF-VulnUpload-CTF01.ova
  • 环境配置:
    • 攻击机: Kali Linux
    • 靶机: JIS-CTF
    • 网络设置: 均使用VMware的NAT模式

渗透测试过程详解

1. 网络发现与端口扫描

首先使用nmap扫描本地网络,发现靶机IP地址:

nmap 192.168.50.0/24

发现靶机IP为192.168.50.146

2. Web应用信息收集

访问靶机Web服务(http://192.168.50.146),发现用户登录页面。

目录爆破

使用目录爆破工具(如dirb、dirbuster等)扫描Web目录,发现敏感路径:

  • /flag - 包含第一个flag
  • /robots.txt - 提供线索
  • /admin_area - 管理区域

获取Flag1

直接访问/flag路径,获取第一个flag。

获取Flag2

  1. 访问/robots.txt文件,发现提示
  2. 访问/admin_area路径
  3. 查看页面源代码,发现第二个flag及一组凭据:
    • 用户名: admin
    • 密码: 3v1l_H@ck3r

3. 利用文件上传漏洞

  1. 使用获取的凭据登录Web应用
  2. 发现文件上传功能
  3. 测试上传路径:
    • /uploads - 不存在
    • /uploaded_files - 存在但为空

获取Web Shell

  1. 准备PHP一句话木马:
    <?php system($_GET['cmd']); ?>
    
  2. 上传木马文件
  3. 在Kali上启动监听:
    nc -lvnp 6666
    
  4. 通过Web Shell执行反弹Shell命令

4. 系统内信息收集

在获取的Shell中探索系统:

  1. 检查/home目录 - 无有用信息
  2. 检查/var/www目录:
    • /var/www/html/flag.txt - 第三个flag
    • /var/www/html/notice.txt - 提供提示,需要technawi用户权限

获取Flag3

直接查看/var/www/html/notice.txt文件内容,获取第三个flag。

5. 获取SSH访问权限

  1. 搜索technawi用户相关凭据:
    grep -rns technawi /etc/
    
  2. 发现/etc/credentials.txt文件
  3. 查看文件内容,获取:
    • 第四个flag
    • technawi用户密码: JIS_@_BEST_CTF

获取Flag4

/etc/credentials.txt文件中获取第四个flag。

6. SSH连接与权限提升

  1. 通过SSH连接靶机:
    ssh -p22 technawi@192.168.50.146
    
  2. 输入获取的密码JIS_@_BEST_CTF
  3. 访问之前无法查看的文件:
    cat /var/www/html/flag.txt
    

获取Flag5

成功查看/var/www/html/flag.txt内容,获取第五个flag。

技术要点总结

  1. 信息收集:

    • 网络扫描发现靶机
    • 目录爆破发现敏感路径
    • robots.txt文件分析
  2. 漏洞利用:

    • 通过源代码分析获取凭据
    • 文件上传漏洞利用
    • Web Shell获取与利用
  3. 权限提升:

    • 系统内敏感信息搜索
    • SSH服务利用
    • 受限文件访问
  4. Flag获取路径:

    • Flag1: 直接访问/flag
    • Flag2: /admin_area页面源代码
    • Flag3: /var/www/html/notice.txt
    • Flag4: /etc/credentials.txt
    • Flag5: /var/www/html/flag.txt(需要technawi用户权限)

学习收获

  1. 基础渗透测试流程的完整实践
  2. 多角度信息收集技巧
  3. 源代码分析的重要性
  4. 从Web漏洞到系统权限的完整攻击链
  5. 多flag靶机的挑战方式

改进建议

  1. 可以尝试不使用提供的凭据,通过其他方式获取Web应用访问权限
  2. 探索更多提权方法,不只是依赖SSH服务
  3. 尝试自动化工具与手动测试的结合使用
VulnHub靶机JIS-CTF渗透测试实战教程 靶机概述 靶机名称 : JIS-CTF 难度等级 : 初级 目标 : 获取5个flag 下载地址 : JIS-CTF-VulnUpload-CTF01.ova 环境配置 : 攻击机: Kali Linux 靶机: JIS-CTF 网络设置: 均使用VMware的NAT模式 渗透测试过程详解 1. 网络发现与端口扫描 首先使用nmap扫描本地网络,发现靶机IP地址: 发现靶机IP为192.168.50.146 2. Web应用信息收集 访问靶机Web服务(http://192.168.50.146),发现用户登录页面。 目录爆破 使用目录爆破工具(如dirb、dirbuster等)扫描Web目录,发现敏感路径: /flag - 包含第一个flag /robots.txt - 提供线索 /admin_area - 管理区域 获取Flag1 直接访问 /flag 路径,获取第一个flag。 获取Flag2 访问 /robots.txt 文件,发现提示 访问 /admin_area 路径 查看页面源代码,发现第二个flag及一组凭据: 用户名: admin 密码: 3v1l_H@ck3r 3. 利用文件上传漏洞 使用获取的凭据登录Web应用 发现文件上传功能 测试上传路径: /uploads - 不存在 /uploaded_files - 存在但为空 获取Web Shell 准备PHP一句话木马: 上传木马文件 在Kali上启动监听: 通过Web Shell执行反弹Shell命令 4. 系统内信息收集 在获取的Shell中探索系统: 检查 /home 目录 - 无有用信息 检查 /var/www 目录: /var/www/html/flag.txt - 第三个flag /var/www/html/notice.txt - 提供提示,需要technawi用户权限 获取Flag3 直接查看 /var/www/html/notice.txt 文件内容,获取第三个flag。 5. 获取SSH访问权限 搜索technawi用户相关凭据: 发现 /etc/credentials.txt 文件 查看文件内容,获取: 第四个flag technawi用户密码: JIS_@_BEST_CTF 获取Flag4 从 /etc/credentials.txt 文件中获取第四个flag。 6. SSH连接与权限提升 通过SSH连接靶机: 输入获取的密码 JIS_@_BEST_CTF 访问之前无法查看的文件: 获取Flag5 成功查看 /var/www/html/flag.txt 内容,获取第五个flag。 技术要点总结 信息收集 : 网络扫描发现靶机 目录爆破发现敏感路径 robots.txt文件分析 漏洞利用 : 通过源代码分析获取凭据 文件上传漏洞利用 Web Shell获取与利用 权限提升 : 系统内敏感信息搜索 SSH服务利用 受限文件访问 Flag获取路径 : Flag1: 直接访问 /flag Flag2: /admin_area 页面源代码 Flag3: /var/www/html/notice.txt Flag4: /etc/credentials.txt Flag5: /var/www/html/flag.txt (需要technawi用户权限) 学习收获 基础渗透测试流程的完整实践 多角度信息收集技巧 源代码分析的重要性 从Web漏洞到系统权限的完整攻击链 多flag靶机的挑战方式 改进建议 可以尝试不使用提供的凭据,通过其他方式获取Web应用访问权限 探索更多提权方法,不只是依赖SSH服务 尝试自动化工具与手动测试的结合使用