hack the box 之blocky靶场练习
字数 1349 2025-08-11 08:35:55
Hack The Box - Blocky 靶场渗透测试教学文档
1. 靶场概述
Blocky 是一个中等难度的 Hack The Box 靶机,主要考察以下技能:
- 端口扫描与信息收集
- WordPress 站点枚举
- JAR 文件反编译分析
- 密码复用攻击
- Linux 权限提升
2. 初始信息收集
2.1 端口扫描
使用 nmap 进行初始端口扫描:
nmap -sV -p- <target_ip>
发现开放端口:
- 21/tcp - FTP
- 22/tcp - SSH
- 80/tcp - HTTP
2.2 FTP 匿名登录尝试
尝试匿名登录 FTP:
ftp <target_ip>
输入用户名 anonymous 和空密码,但登录失败。
3. Web 服务枚举
3.1 访问 HTTP 服务
直接访问 http://<target_ip> 无法访问,需要修改 hosts 文件:
echo "<target_ip> blocky.htb" | sudo tee -a /etc/hosts
3.2 目录扫描
使用工具如 dirb、gobuster 或 dirsearch 扫描目录:
gobuster dir -u http://blocky.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
发现以下重要目录:
- /wp-login.php (WordPress 登录页面)
- /phpmyadmin/ (phpMyAdmin 界面)
- /plugins/ (包含 JAR 文件)
3.3 WordPress 枚举
使用 wpscan 枚举 WordPress 用户:
wpscan --url http://blocky.htb --enumerate u
发现用户:notch 和 Notch
尝试暴力破解密码未成功。
4. JAR 文件分析
4.1 下载 JAR 文件
从 /plugins/ 目录下载 JAR 文件:
wget http://blocky.htb/plugins/blockycore.jar
4.2 反编译 JAR 文件
安装并使用 JD-GUI 进行反编译:
sudo apt install jd-gui
jd-gui blockycore.jar
在反编译后的代码中发现硬编码凭据:
用户名: root
密码: 8YsqfCTnvxAUeduzjNSXe22
5. 凭据利用
5.1 尝试 phpMyAdmin 登录
使用发现的凭据登录 phpMyAdmin:
URL: http://blocky.htb/phpmyadmin/
用户名: root
密码: 8YsqfCTnvxAUeduzjNSXe22
登录成功,但无法直接解密 WordPress 用户密码。
5.2 SSH 登录尝试
尝试使用相同凭据通过 SSH 登录:
ssh notch@blocky.htb
密码: 8YsqfCTnvxAUeduzjNSXe22
成功登录,确认密码复用漏洞。
6. 权限提升
6.1 检查当前权限
id
whoami
6.2 检查 sudo 权限
sudo -l
6.3 尝试直接提权
sudo su root
输入 notch 用户的密码后成功获得 root 权限。
6.4 验证 root 权限
whoami
# 应返回 root
7. 获取 Flag
7.1 查找 user flag
find / -name user.txt 2>/dev/null
cat /home/notch/user.txt
7.2 查找 root flag
find / -name root.txt 2>/dev/null
cat /root/root.txt
8. 关键知识点总结
- 密码复用攻击:从 JAR 文件中发现的凭据被复用于 SSH 登录
- 反编译技术:使用 JD-GUI 分析 Java 字节码获取敏感信息
- 最小权限原则违反:notch 用户可以直接通过 sudo su 提权
- 信息收集重要性:全面的目录扫描发现关键 JAR 文件
- 凭证管理不当:硬编码凭据在应用程序中
9. 防御建议
- 避免在代码中硬编码凭据
- 实施最小权限原则,限制 sudo 权限
- 为不同服务使用不同凭据
- 定期审计代码中的敏感信息
- 加强 WordPress 安全配置,限制用户枚举
10. 工具清单
- nmap - 端口扫描
- gobuster/dirsearch - 目录枚举
- wpscan - WordPress 漏洞扫描
- JD-GUI - Java 反编译工具
- ssh - 远程登录
通过这个靶场,可以学习到从信息收集到权限提升的完整渗透测试流程,特别是密码复用和代码审计在实际渗透中的重要性。