本次巅峰极客我们跟永信春秋GAME一起,共同负责“广诚市”的运维。
本次比赛我们一共出了70-80个靶标,为了更贴近于现实,本次题目都是源于现实场景,参赛选手应该会发现,每个外网的站点的内容都是基于广诚市的,修改前端这一任务就耗费了我们大量的时间。
这次比赛以电力场景为最终场景,除去一些边界节点,我们一共设计了三条路径能够打到电力的内网中,在征得主办方同意后,在这里将一条攻击链分享出来。
在比赛一开始的时候,我们就发放了一条公告:
“
重要剧情公告:广诚市交通大学计算机学院的李天于今年毕业经过层层选拔进入电力总公司运维部,其上司为了考察其能力,决定将十分重要的招聘网站交给其设计,编写,运维。
”
也就意味着其中有一条路线是通过招聘网站进入的,访问招聘网站(子域名搜集)后,我们会发现主页是一个待开发页面,并且扫描目录是没有任何信息的,对这个域名进行端口爆破后,我们发现7777端口开放了一个web服务:
后台当然不是弱口令了,当然不可能那么简单,根据剧情,我们很理所当然应该可以想到应该去渗透李天的学校内网去拿到他上大学的一些东西,如果信息搜集做得好,我们会发现只有计算机学院与自考站点不是在云场景的C段内,也就意味着其后面对应的是学校内网。
自考站点透露给我们两个信息,1是robots.txt,2是首页说明是四季工作室开发此站点,robots.txt拿到老系统的地址,简单翻看会发现只有一个自考报名提交的地方:
很显然,报名是肯定会insert入库的,这里的点虽然现实会碰到,但相对较少,同时因为大部分选手是CTF选手(为了照顾他们,我这里考察的点是通过堆叠注入拿shell),在拿到自考站点权限后,但我们发现是单网卡的。
这个时候我们会发现计算机学院是比较难渗透的,目录探测没有任何结果,这个时候我们会想到自考站点上说的四季工作室,在比赛中间的时候,我放了一个hint:
的确,现实情况中,当的最多的就是域名,所以我们会发现,四季工作室的官网是一个最新版的joomla,当然不会是要选手的用0day打,其后台密码其实是域名,很开心028SEC队伍在很早的时候就成功猜到密码进入其中,但是很遗憾他们在拿到后台后没发现后面的路。
进入后台后,我们会发现文章列表有一个私密文章,打开后会得到四季工作室的demo站点地址以及不可爆破目录,访问后测试会发现存在万能密码(当然也能拿到shell):
拿到shell后,会得到计算机学院网站的目录,我们会发现存在其某一目录下存在mysql 任意文件读以及navicat的http代理脚本,于是我们通过mysql任意读文件拿到数据库用户名以及密码(利用自考站点伪造mysql),然后通过navicat拿到计算机学院的shell,然后就是进入学校内网,经过几层信息搜集后,可以拿到李天的密码,然后进入电力招聘网站的后台,上传拿shell进入电力内网,然后就可以开心的域渗透了。
PS:
其实以往比赛中,我们会发现二进制的题目比较多,所以web选手体验性不是很高,正好借着这次机会,我们团队将平常玩的以及hw的案例加入到其中,就是为了让web选手玩的尽兴,所以很抱歉现场的pwn选手体验性不高。
在出题前,我们就尽可能地防止脑洞,所以有的站点存在多条路径去拿到权限,很开心在比赛过程中,我发现我出的几道云场景题目,阿斯巴甜少先队率先找到了其代码默认存在的一个不合理文件导致可以非预期拿权限,但是可能因为思路的原因导致他们没有进行进一步的操作。
这条路径乍看起来比较绕,但是是十分符合现实情况的,同时如果选手信息搜集做得好,也能够串起整条利用链。在我看来,渗透选手需要的基本素养就是“猥琐的思路”,希望大家享受渗透的乐趣,也希望以后Nu1L Team还有机会给喜欢渗透的web选手再次呈现这种高质量的靶场赛事场景。
最后再次感谢Nu1L Team的诸位队员(包括出题队员跟放弃参赛的队员)以及春秋GAME,一起保证了这场赛事。
另外,我们会在12月联合玖安信息上线一个新的平台,希望大家到时会喜欢。
扫描二维码
获取更多精彩
Nu1L Team