VnlnHub EvilBox---One
字数 1427 2025-08-12 11:34:27
EvilBox---One 靶场渗透测试教学文档
靶场环境搭建
-
下载与导入:
- 下载 EvilBox---One 的 .ova 虚拟机文件
- 使用 VMware 导入该虚拟机文件
-
网络配置:
- 将网络模式设置为 NAT 模式(也可使用桥接模式,但需与攻击机保持一致)
- 启动虚拟机后,IP 地址可能不会显示,但可通过扫描发现
信息收集
-
IP 扫描:
- 扫描 NAT 网段(示例中发现攻击机 IP 为 192.168.52.128,靶机为 192.168.52.135)
-
端口扫描:
- 发现开放端口:
- 22 端口:SSH 服务
- 80 端口:HTTP 服务(Apache 服务器)
- 发现开放端口:
Web 渗透测试
-
初始访问:
- 访问 80 端口显示 Apache 默认页面
- 检查 robots.txt 文件
-
目录枚举:
- 发现 /secret 目录
- 在 /secret/ 下发现 index.html(无内容)
- 使用不同工具测试:
- dirsearch 未发现结果
- gobuster 和 feroxbuster 发现 evil.php 文件
-
evil.php 测试:
- 初始访问无内容,推测需要参数
- 使用 ffuf 进行参数爆破:
ffuf -w /usr/share/wordlists/seclists/Discovery/Web-Content/burp-parameter-names.txt:dic1 \ -w /usr/share/wordlists/seclists/Discovery/Web-Content/canshuzhi.txt:dic2 \ -u http://192.168.52.135/secret/evil.php?dic1=dic2 -fs 0 - 发现参数:command=/etc/passwd
-
文件包含漏洞利用:
- 确认存在任意文件读取漏洞:
- 可读取 /etc/passwd
- 无法读取 /etc/shadow(权限不足)
- 测试远程文件包含(失败)
- 使用 PHP 伪协议读取文件源码:
php://filter/convert.base64-encode/resource=evil.php - 使用 CyberChef 解码获取源码
- 测试文件写入(失败,无写入权限)
- 确认存在任意文件读取漏洞:
SSH 渗透
-
用户发现:
- 从 /etc/passwd 发现可登录用户 mowree
-
密钥发现:
- 读取用户家目录发现 RSA 公钥和私钥
- 私钥文件:id_rsa
-
私钥利用:
- 将私钥保存到攻击机
- 赋予 600 权限
- 发现私钥需要密码
-
私钥密码爆破:
- 使用 ssh2john 生成 hash:
ssh2john id_rsa > passwd - 使用 john 爆破密码:
john --wordlist=/usr/share/wordlists/rockyou.txt passwd - 成功爆破密码:unicorn
- 使用 ssh2john 生成 hash:
-
SSH 登录:
- 使用私钥和密码登录:
ssh -i id_rsa mowree@192.168.52.135 - 获得普通用户 shell
- 使用私钥和密码登录:
权限提升
-
sudo 提权检查:
sudo -l检查无可用提权命令
-
SUID 提权检查:
- 查找 SUID 文件:
find / -perm -4000 2>/dev/null - 未发现可利用的常见 SUID 程序(如 nmap、vim、find 等)
- 查找 SUID 文件:
-
内核提权尝试:
- 搜索内核漏洞无果
-
文件权限检查:
- 查找可写文件:
find / -writable 2>/dev/null | grep -v /proc | grep -v /sys | grep -v /run - 发现 /etc/passwd 文件可写
- 查找可写文件:
-
passwd 文件提权:
- 生成 root 密码:
openssl passwd -1 - 替换 /etc/passwd 中 root 的密码字段
- 使用
su切换到 root 用户 - 成功提权并获取 flag
- 生成 root 密码:
关键点总结
- 工具选择:不同目录枚举工具(dirsearch、gobuster、feroxbuster)可能有不同结果
- PHP 伪协议:当直接文件包含不可用时,php://filter 是读取源码的有效方法
- SSH 私钥利用:即使有私钥也可能需要爆破密码
- 非常规提权:检查系统异常权限设置(如全局可写的 /etc/passwd)
- 密码生成:使用 openssl passwd 生成符合 /etc/passwd 格式的密码哈希
防御建议
- 限制敏感文件权限(如 /etc/passwd)
- 避免在 Web 目录存放敏感信息(如 SSH 私钥)
- 对用户上传的参数进行严格过滤
- 使用强密码保护 SSH 私钥
- 定期检查系统异常权限设置