打靶日记-Moneybox
字数 1363 2025-08-10 08:28:04
Moneybox靶场渗透测试教学文档
1. 项目概述
1.1 渗透测试目的
- 获取关键信息flag.txt
1.2 渗透测试范围
- 本地内网环境
- 目标系统:Moneybox
- 网站地址:http://192.168.21.50
1.3 测试环境
- VMware虚拟机内网环境
- 渗透测试人员:莫拉斯(molasses)
2. 渗透测试流程与方法
2.1 信息收集阶段
2.1.1 端口扫描
- 发现FTP服务开放
- 存在匿名登录漏洞
2.1.2 敏感目录扫描
- 发现/blogs目录
- 查看源码发现隐藏字段
2.2 漏洞利用阶段
2.2.1 FTP匿名用户漏洞利用
- 使用Kali Linux连接FTP服务:
ftp 192.168.21.50 用户名:anonymous 密码:空 - 发现当前目录存在trytofind.jpg图片
- 使用get命令下载图片到本地:
get trytofind.jpg
2.2.2 敏感文件泄露利用
- 访问/blogs目录
- 查看页面源码发现隐藏字段
- 根据隐藏字段猜测并访问新的敏感文件
2.2.3 图片隐写分析
- 检查图片中隐藏的文件:
steghide info trytofind.jpg- 发现嵌入了一个data.txt文件
- 提取隐藏文件:
steghide extract -sf trytofind.jpg- 使用之前获取的key分离文件
- 获得data.txt,内容包含账户renu和脆弱密码
2.2.4 弱密码漏洞利用
- 使用Hydra暴力破解:
hydra -l renu -P [密码字典] ssh://192.168.21.50 - 成功破解后使用SSH连接:
ssh renu@192.168.21.50 - 获取第一个flag:user1.txt
2.3 权限提升阶段
2.3.1 横向移动
- 浏览目录发现另一个用户lily
- 进入lily用户目录,发现第二个flag:user2.txt
2.3.2 历史命令分析
- 查看history历史命令:
history - 发现lily使用SSH密钥登录的命令
- 利用该信息登录lily账户
2.3.3 Sudo提权
- 使用find命令查找具有SUID权限的文件:
find / -perm -4000 2>/dev/null - 发现sudo具有s权限
- 使用Perl命令提权:
sudo perl -e 'exec "/bin/sh";' - 提权成功,获得root权限
2.3.4 获取最终flag
- 使用find命令查找txt文件:
find / -name "*.txt" 2>/dev/null - 发现隐藏文件.root.txt
- 打开获取第三个flag
3. 渗透测试结果汇总
发现的漏洞类型:
- FTP匿名用户登录漏洞
- 暴力枚举漏洞(弱密码)
- Sudo提权漏洞
4. 安全建议
-
FTP服务安全:
- 禁用匿名登录
- 限制FTP用户访问权限
- 考虑使用SFTP替代FTP
-
密码策略:
- 实施强密码策略
- 定期更换密码
- 禁用默认账户或修改默认密码
-
权限管理:
- 遵循最小权限原则
- 定期审核sudo权限
- 移除不必要的SUID权限
-
敏感信息保护:
- 避免在源码中暴露敏感信息
- 对敏感文件设置适当权限
- 定期检查隐藏文件和异常文件
-
日志监控:
- 启用并监控系统日志
- 设置登录失败警报
- 定期审计历史命令
5. 工具清单
本次渗透测试使用的主要工具:
- Nmap - 端口扫描
- FTP客户端 - 匿名登录测试
- Steghide - 图片隐写分析
- Hydra - 暴力破解工具
- SSH客户端 - 远程连接
- Find命令 - 文件查找
- History命令 - 历史命令分析
6. 技术要点总结
- 信息收集是关键:通过端口扫描和目录扫描获取初始攻击面
- 多层漏洞利用:从FTP匿名登录到图片隐写,再到弱密码破解,形成攻击链
- 权限提升路径:从普通用户到另一个用户,再到root权限的完整提权过程
- 痕迹利用:通过历史命令发现新的攻击路径
- 全面搜索:使用find命令查找所有可能的flag文件