深信服云对抗靶机设计思路

深信服云对抗靶机设计思路

💡 原文中文,约10800字,阅读约需26分钟。
📝

内容提要

参加深信服云对抗活动,使用Docker容器化搭建靶机环境,利用漏洞攻击进入后台进行提权操作。靶机设计中存在用户名枚举漏洞、Redis未授权访问和Struts2命令执行漏洞。其他师傅分享了使用宝塔搭建靶机的思路。

🔎

延伸解读

靶机网络设计:Docker网络替代控制跳板

作者利用Docker内置网络划分功能,创建了entry和sub-1两个网络,将DedeCMS和信呼OA置于entry网络,Redis和Struts2置于internal的sub-1网络。这样无需通过控制靶机A来攻击靶机B,简化了环境搭建。这种设计降低了复杂度,但可能偏离赛方要求,需注意规则符合性。

入口点设计:DedeCMS漏洞利用链

作者将入口点设为DedeCMS,利用用户名枚举和弱口令进入后台,再通过文件管理器写入Webshell。代码中展示了DedeCMS的过滤机制,但通过参数拼接等方式绕过。这提示防守方需关注后台文件管理功能的安全,攻击方则需灵活运用绕过技巧。

内网渗透:从信呼OA到Redis和Struts2

通过DedeCMS获取初始权限后,利用fscan发现信呼OA,通过adminer弱口令修改数据库密码,再结合CVE-2023-1501上传Webshell。随后发现Redis未授权和Struts2命令执行,直接获取root权限。这体现了多层网络环境中,弱口令和未授权访问是常见突破口。

搭建方式对比:Docker与宝塔的取舍

作者采用Docker容器化搭建,便于环境隔离和迁移。其他师傅使用宝塔面板,可能更快捷,但宝塔默认过滤危险函数,可能影响漏洞复现的真实性。选择搭建方式时需权衡便捷性与漏洞环境的完整性,确保靶机达到预期训练效果。

❓

Q&A

深信服云对抗活动的靶机搭建使用了什么技术?

靶机搭建使用了Docker容器化技术。

靶机设计中存在哪些漏洞?

靶机设计中存在用户名枚举漏洞、Redis未授权访问和Struts2命令执行漏洞。

如何将Docker容器导出并上传至靶机?

可以使用命令'docker save -o filename.tar 镜像名称'导出为.tar格式,然后通过SSH上传至靶机。

靶机设计中最难的点是什么?

靶机设计中最难的点是入口部分。

如何利用DedeCMS的漏洞进行提权操作?

可以通过文件管理器的新建文件功能进行GetShell,从而实现提权操作。

使用宝塔搭建靶机的思路是什么?

使用宝塔搭建靶机的思路是利用其PHP默认过滤了很多危险函数,可能会影响选手判断。

🏷️

标签

➡️

继续阅读