HTB: Ten
盒子信息
属性 | 值 |
---|---|
名称 | Ten |
发布日期 | 2025年7月24日 |
操作系统 | Linux |
难度 | 困难 [40] |
创建者 | jkr |
侦察
初始扫描
nmap发现三个开放的TCP端口:FTP (21)、SSH (22) 和 HTTP (80):
|
|
详细版本扫描显示:
- Pure-FTPd (21/tcp)
- OpenSSH 8.9p1 Ubuntu (22/tcp)
- Apache 2.4.52 (80/tcp)
FTP - TCP 21
尝试匿名登录失败:
|
|
网站 - TCP 80
站点分析
访问IP地址重定向到/index.php,显示一个虚拟主机服务页面。“Sign up today"链接引导至域名注册页面。
技术栈:PHP站点,Apache服务器。
目录暴力枚举
使用feroxbuster发现以下关键路径:
/info.php
- PHP信息页面/attribution.php
- 图片来源信息/dist/
- 可列目录,包含静态资源
自定义站点
在hosts文件中添加域名映射后,通过FTP使用提供的凭据登录,可以上传文件到自定义子域名站点。
子域名枚举
使用ffuf发现子域名webdb.ten.vl
:
|
|
webdb.ten.vl - TCP 80
WebDB实例显示数据库列表,包含MySQL on localhost。通过"Guess Credentials"按钮获取有效凭据后,可以访问pureftpd数据库中的users表。
获取tyrell shell
文件系统访问
通过修改WebDB中用户的dir值为/srv/..
实现目录遍历,获得根目录访问权限。
文件系统枚举
从/etc/passwd发现用户tyrell:
|
|
SSH访问
通过修改用户的UID/GID为1000(tyrell的UID),然后将FTP根目录设置为/home/tyrell/.ssh
,上传SSH公钥到authorized_keys文件:
|
|
成功通过SSH登录:
|
|
获取root权限
枚举
发现三个Apache站点配置文件:
000-default.conf
- 托管/var/www/html001-webdb.conf
- 代理到webdb实例010-customers.conf
- 动态生成客户虚拟主机
etcd键值存储
使用etcdctl查看客户数据:
|
|
remco配置管理
发现remco进程监控etcd的/customers键,每5秒重新生成Apache配置并重启服务。
利用Apache配置注入
通过向etcd注入包含换行符的值,实现Apache配置注入:
|
|
利用Apache的Piped Logs功能执行命令,将tyrell的SSH密钥复制到root账户。
root权限获取
通过SSH以root身份登录:
|
|