HTB: Dog
概述
Dog是一个运行Backdrop CMS的HTB靶机。通过利用Web服务器上暴露的Git目录获取配置文件,发现用户名和密码。登录CMS后上传恶意模块获取远程代码执行权限。通过共享密码横向移动到另一个用户,发现其可以以root权限运行Backdrop管理工具bee,最终通过执行任意PHP代码获得root shell。
靶机信息
- 名称: Dog
- 发布日期: 2025年3月8日
- 退役日期: 2025年7月12日
- 操作系统: Linux
- 难度: 简单(20分)
侦察
Nmap扫描
Nmap发现两个开放的TCP端口:SSH(22)和HTTP(80):
|
|
详细版本扫描显示:
- OpenSSH 8.2p1 Ubuntu
- Apache 2.4.41 (Ubuntu)
- Backdrop CMS 1.27.1
- 暴露的.git目录
网站分析(TCP 80)
技术栈
网站运行Backdrop CMS, footer和HTTP头都确认了这一点:
|
|
目录枚举
使用feroxbuster发现多个可列目录:
- /modules/
- /themes/
- /sites/
- /files/
- /core/
- /layouts/
源代码获取
Git仓库下载
利用git-dumper工具下载暴露的.git目录:
|
|
配置文件分析
在settings.php中发现数据库连接信息:
|
|
通过Git日志发现用户邮箱:
获取www-data Shell
CMS管理员访问
使用凭据:
- 用户名: tiffany
- 密码: BackDropJ2024DS2024
成功登录Backdrop CMS管理后台。
恶意模块上传
通过"安装新模块"功能上传包含webshell的恶意模块(reference.tar):
|
|
反向Shell获取
通过webshell执行反向Shell命令:
|
|
成功获得www-data权限的shell。
横向移动至johncusack
用户枚举
发现两个用户:
- jobert
- johncusack
权限提升
使用相同的密码(BackDropJ2024DS2024)成功切换到johncusack用户:
|
|
Root权限获取
Sudo权限分析
发现johncusack可以以root权限运行bee工具:
|
|
Bee工具利用
bee是Backdrop CMS的命令行管理工具,包含eval命令可执行PHP代码:
|
|
Root Shell获取
通过eval命令执行bash获取root权限:
|
|
总结
通过系统性的渗透测试过程,从信息收集到最终获取root权限,完整展示了现代Web应用渗透测试的典型流程和技术手段。