Ice Year

Ice Year

blog
codeberg
github
matrix
email

对某协会临时做题平台的分析尝试记录

写在前面#

 仅供学习与研究,切莫违反社区共识进行攻击行为。

分析#

前端#

 通过控制台,可以获取到到网站采用的是 GZTimeWalker 的 GZCCTF 项目的 v0.15.4 版本。虽然网站未更新至最新发布的该项目在近日发布 v0.15.5,但是新发布的版本仅修复了一些小 Bug ,且目前并未有大型安全修复,故前端方面尚属安全。

后端#

 在阅读完 GZCCTF 部署文档后,得知该项目部署方式为 k8s 与 Docker 的混合方式,通过对 docker-compose.yml 的分析,可以得出该项目部署所拉取的 Docker 镜像为 gztime/gzctf,选取 latest tag 进行分析,发现该镜像基于 Debian 系进行打包,采用 ASPNET 与 .NET 7.0.9 作为反向代理,该版本 .NET 为近期发布,且 Docker 逃逸难度极高,故后端防御尚属安全。

端口与系统#

 测试后可知,服务器仅开放 80 与 22 端口,其中 22 端口用于 SSH 服务,采用的是 OpenSSH 8.2p1 服务端,而 80 端口的反向代理使用的是 Microsoft Kestrel 与 ASPNET。通过 TTL 等数据包收发细节分析猜测服务器系统为 Ubuntu 20.04。

 对影响到 OpenSSH 8.2p1 的 CVE 进行分析,两枚集中于拥有 SSH 访问或文件写入权限后提权或进行代码注入(CVE-2020-12062,CVE-2020-15778),四枚集中于服务端开启 SSH 代理隧道或不常用配置(CVE-2021-28041,CVE-2021-36368,CVE-2021-41617,CVE-2023-28531),均无法在未取得 SSH 普通用户访问权限的前提下进行,但仍推荐尽快将 SSH 进行更新。

IP 部分#

 经查询可知,ip 归属地为 HK,风险等级较低,预计可能是机房托管或较原生的 ISP 提供商,但也不排除内网映射的可能性。由于未绑定域名,采取公开 IP 与 HTTP 1.1 明文。由于某些地区存在的特殊情况,存在通过大量敏感词组来触发关键封锁机制的可能性,这将导致服务器在某些地区无法通过 ip 直接访问。

结论与建议#

  1. 目前安全状况尚属良好,但仍有隐患。

  2. 建议升级 OpenSSH 以防范旧版本未来可能被挖掘的漏洞,并可采取措施限制 SSH 的访问,例如限制指定 IP ,或采用虚拟局域网方案。

  3. 及时保持与上游存储库同步,定期检查防止逃逸。

  4. 建议绑定域名,并采用 Nginx 等进行反向代理 Docker 或 K8S 端口,并套用 CDN 隐藏服务器真实 IP,亦可尽量缓解 DDos。采取 HTTPS 加密以防中间人攻击与数据监听。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。