前言
最近一段时间忙于学习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更是寄中寄)。所以就没管了,也不相信管理员会复用这么简单的密码(后面才知道是自己高估了这帮管理员)。
然后又是各种提权失败、各种找文件,最终不负我的期望,终于找到了一个文件
猜猜这个文档里有什么?
没错,所有信息一览无余,直接干穿了。而且服务器密码和数据库密码一样,最蠢的密码复用。最后也是简单拿下
结语
还是一次比较有意思的渗透经历,本来听到老师的需求,还以为会有紧张刺激的打内网环节,但是在云服务器这里就已经结束了,乐趣还是少了一点的。实践告诉我们,拿下一个机器之后一定要尽最大努力来翻文件,并且永远不要高估运维和管理员的智商。很多时候,那些最有价值的东西就静静地躺在文件夹的某个不起眼的角落,等待攻击者的发掘。
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
前面有同学问我有没优惠券,这里发放100张100元的优惠券,用完今年不再发放