实战 | 时隔多年再次帮高中母校做渗透测试是什么体验?
2022-10-21 09:4:44 Author: HACK学习呀(查看原文) 阅读量:20 收藏

前言

最近一段时间忙于学习JAVA安全以及企业SRC挖掘,很少开展比较完整的渗透测试了。前一段时间高中的老师再次找到我,让我再次对学校的系统进行一些测试,核心目标是获取全校师生数据以及校园网的运行数据,最后也是成功拿下。这篇文章就是对测试进行的复盘,过程也不难,主要是看个乐呵。

前期测试

其实这不是第一次对母校进行测试了,在高一开学的时候,就用弱口令进过学校的后台,还偷偷留了一点痕迹。时过境迁,曾经的学校网站还是自己搭建的,到后来就由市教育局的站群统一管理,到现在甚至连站群都不上,直接搞了个微信公众号了,和时代接轨的很快。

因为服务看起来全都上公众号了,所以也就没有分心去找别的信息了,就专门来看看公众号上的功能,这个智慧校园马上就吸引了注意。

点进去一看,感觉还是有东西的,因为能查成绩、能查校园卡消费等等,这一切基本都说明这个系统和校园网有着千丝万缕的联系。

既然有东西,那么就确认一下这个服务是谁提供的,由什么服务器提供的。这里有很多办法,比如微信公众号抓包、查看公众号详情等等,当然还有一种比较简单的方法就是左上角直接复制链接

最终也是成功得到了域名,刚看到域名的时候还感觉查子域名估计能轻松拿下,wx明显是微信公众号服务的命名规律,但是后面查了才发现其实根本只有这一个子域名。

不过也无所谓,就当是查IP了

那接下来就是全端口过一遍了,成功搞出了几个WEB服务

其中83和82两个端口上各运行了一个web服务,后续的工作也主要是针对这两个服务进行的

82端口上运行的服务如下,从“工号”也能看出这是给老师登录的,先不管

而另一个83端口上运行的就是我们一开始看到的智慧校园系统,其中有个可以登录的地方

这里本来如果记得自己的学号和密码的话应该能搞得更快的,但是无奈忘得太快了,翻了翻以前的记录也没找到,故作罢。打算爆一下账号密码,也是没结果。这里就简单测测逻辑漏洞吧。

这里看起来有一个比较典型的逻辑洞,改成1的时候,雀食成功了,但是杯具的地方又来了

返回包直接给我重定向到内网,把登陆凭证也传过去了,不讲武德!

这个点看起来就拉倒了,扫了扫目录也没发现什么东西,估计功能点也全在内网里,那你把这些功能放公众号上放了个寂寞

那只能看看82端口了,82端口上运行的服务看起来挺正式的,还有验证码。简单测了测之后发现没有什么逻辑洞。不过这里有个意外收获,那就是验证码其实是前端校验的,发送的数据包里并没有验证码。

也就是说可以简单的爆破一手了,但很不幸,我还把老师的工号规律忘了,在百度找了半天终于找到一些规律了。

最后也是成功的找到了一位不幸的老师

进后台之后自然也是各种经典的漏洞测测测,什么越权、注入之类比较常见的都测了一遍,最后只发现几个越权

只要这里全部打上星星,那么就可以越权查到其它所有老师的账号信息,用户导入和重置密码等功能根本不能用,怀疑是开发这个系统的老师偷懒,直接找了个后台的模板改改就丢上来了

另有一处用户查询功能,也有同样的问题,本来只能查到几个老师,但是如果查*号就可以把所有人查出来

更恐怖的是这里还可以看每个老师教的学生的信息,因为很敏感所以我就全部马掉了,希望各位见谅。

到这里其实目标已经快完成一半了,但是到这里还是不太满意的,本来想着进后台找几个点来getshell,但是到现在也没有找到什么点,想要完美实现目标不把这个服务器搞下来肯定是不行的。那么应该怎么操作呢?

GetShell过程

前文提到,现在我们只需要找一个点来getshell了。我忽然想到,既然现在测的这个站可能是老师基于某个后台管理系统二开而来的,本来想扫目录找找特征,但是扫着扫着,就看到了一个有趣的东西(下图为目录扫描的导出结果)

这不?Ueditor,asp.net站点看到这玩意,十有八九是稳了。

然后就是喜闻乐见的getshell环节了,ueditor各个语言各个版本的利用方式可以参考:

https://blog.csdn.net/qq_39101049/article/details/97684968

百度上也能找到很多别的,这里就不赘述了。终于在我的一通操作之下,总算getshell了

上了蚁剑就来简单的看看信息罢,可以看到这个权限是低的可怜

最恶心的是,360是全装上了,这就比较恶心人

(PS:码上的都是有可能暴露学校名的进程)

直接先转交给哥斯拉处理吧。其实在这个阶段,我们已经完成目标了,因为这里有个大的一批的数据库(还有些往届的),和老师核实之后确定了这个就是核心的目标文件,我现在拿下来的这个服务器是校园网的云端服务器,全校师生的各种信息(2021届),包括校园网的数据其实都在这个文件里了,翻了翻文件夹还找到了往届的,总之就是数据量很吓人

当然既然有授权的话,不把服务器也拿下来我是不会善罢甘休的,这个iis apppool权限看的实在是心慌,期间也试过用哥斯拉的shellcodeLoader功能上线过CS,用了几个提权插件和辅助脚本都提不下来,毕竟是个云服务器,还有个360,想提下来肯定是很困难的。所以我打算继续翻翻文件。

翻文件就继续回到蚁剑来操作了,因为蚁剑对中文的支持比较好,然后我就在配置文件里找到了这个玩意

连接数据库的账号密码,本来到这里我还不屑一顾的,因为我们刚刚已经找到太多数据库备份文件了,连上去用Mssql的各种提权姿势操作了一下,但是因为360在统统都没有成功(主要是原本的权限就太低,加上360更是寄中寄)。所以就没管了,也不相信管理员会复用这么简单的密码(后面才知道是自己高估了这帮管理员)。

然后又是各种提权失败、各种找文件,最终不负我的期望,终于找到了一个文件

猜猜这个文档里有什么?

没错,所有信息一览无余,直接干穿了。而且服务器密码和数据库密码一样,最蠢的密码复用。最后也是简单拿下

结语

还是一次比较有意思的渗透经历,本来听到老师的需求,还以为会有紧张刺激的打内网环节,但是在云服务器这里就已经结束了,乐趣还是少了一点的。实践告诉我们,拿下一个机器之后一定要尽最大努力来翻文件,并且永远不要高估运维和管理员的智商。很多时候,那些最有价值的东西就静静地躺在文件夹的某个不起眼的角落,等待攻击者的发掘。

推荐阅读:

实战 | 记一次1000美金的TikTok盲打XSS的漏洞挖掘

实战 | 记一次挖掘到微软的存储型XSS漏洞的经历

干货 | 最全的CTF练习网站和在线攻防网站总结

实战 | 记一次23000美元赏金的漏洞挖掘

2022年零基础+进阶系统化白帽黑客学习 |  10月特别优惠活动

实战 | 记一次Everything服务引发的蓝队溯源

原创投稿作者:[email protected]


文章来源: http://mp.weixin.qq.com/s?__biz=MzI5MDU1NDk2MA==&mid=2247508589&idx=1&sn=839affc43fcfae9744dca1674787728e&chksm=ec1cf752db6b7e44a0f972d2eb137baba0de15a71cc54a144631043b92f1d3ac5ce5b34a4363#rd
如有侵权请联系:admin#unsafe.sh