目录
1 前言
2 信息收集+资产收集
2.1域名查询
2.2邮箱查询
2.3 ICP备案信息查询
3 综合资产查询姿势
3.1 FOFA+鹰图
3.2企查查/小蓝本
3.3 黑客语法(Google+必应)
4 统一身份认证登录绕过
4.1逻辑缺陷绕过
4.2爆破账户/前端绕过验证
5 纯手工信息收集进系统
6 关注edusrc开发商排行
5.1具体操作
7 总结
1 前言
本期文章是针对edu漏洞挖掘的分享,对于edusrc的挖掘打点和信息收集过程,本人是小白,本次文章只做分享,任何使用或者依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。
最近在挖教育类edudrc漏洞,发现大学都有的站点功能——校园统一身份认证登录。这个站点每个学校的学生管理端基本上都有,然后每个系统的认证登录点也不一样,大学的统一身份认证基本逃不过几层方面,第一层就是账户信息(sfz+sfz后六位),第二层就是学校设定的默认账户密码(例如:学号+111111等),所以学校的信息收集这些东西都是关键,也是拿到权限的突破口之一
2 信息收集+资产收集
2.1域名查询
首先可以先确定一个学校,然后查看这个学校的域名信息,自行判断这个学校的官网(主域名),然后再对主站的域名进行子域名收集。
①微步社区:https://x.threatbook.com/
②ip138:https://www.ip138.com/
我觉得这手工信息收集,这两个比较好用,信息也比较全面
③子域名挖掘机:GitHub - euphrat1ca/LayerDomainFinder: Layer子域名挖掘机
④oneforall工具:GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具
基本上就用这四个收集就比较全面了,然后再对子域名访问,查看各个子域名的功能点
2.2邮箱查询
①在该大学的官网站点进行一个往下看到最下面,一般都会有这个大学的邮箱信息,那么邮箱信息也是可以可以打一波信息收集的了
② 拿到邮箱信息之后,就可以用小狐狸头站点对邮箱进行分析,也是常用的一个针对于邮箱的资产收集的站点,其实也是个别学校会在官网下方泄露邮箱,很多学校靠的还是信息收集这一步骤,尤为重要。
https://hunter.io/
把我们需要收集资产的该大学的邮箱丢进去,看看能不能收集到什么有价值的信息
一般来说,edu学校邮箱或者某些HW行动 企业集团 这种查询邮箱效果比较理想,比如其实有的时候 你查询某edu大学的邮箱的时候 ,其实你可以从邮箱都能找到学号和工号
2.3 ICP备案信息查询
icp备案网也是尤为重要,可以利用备案信息结合搜索引擎收集信息
①ICP备案查询网:https://www.beianx.cn/
②ICP备案查询 - 站长工具:http://icp.chinaz.com/
③国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html
(还有很多工具可以查,以上只是例子参考等等)
3 综合资产查询姿势
3.1 FOFA+鹰图
①fofa搜索引擎和鹰图搜索引擎都是非常强大的引擎,可以搜出来的资产很多,比如结合icp备案信息,可以直接检索,可以看到整个备案信息下的资产。
可以看到下面的这个关键信息,这个学校的校园统一身份认证登录 的站点被我们找到了那么我们后面再利用鹰图进行一个检索,然后看看校园统一身份认证登录相关的信息
②鹰图也是同样的
3.2企查查/小蓝本
①企查查和小蓝本相关的操作,我们在平常对于某一个站点目标进行打点的时候,会经常碰到要收集该目标的相关资产或者说收集到的资产不全。那么我们就可以利用企查查和小蓝本的作用了,特别是里面的vip付费的模块,可以很大程度的帮我们快速找到对应的目标的相关资产。比如下面拿企查查查询某个资产,然后可以特别关注下面的知识产权
②下面的域名收集起来,然后使用灯塔ARL或者oneforall子域名收割机去跑相关资产的子域名,然后进行去重,然后就可以收集到很多可以打点的资产了
③还有就是微信小程序的一个收集了,有些时候web端没有账号密码进不去,那么我们就可以尝试下在微信小程序进行一波打点,然后通过微信小程序的一个漏洞打点然后再到web端
④小蓝本可以直接新媒体 能查到公司旗下有哪些公众号小程序或者APP
⑤下面推荐一下狼组大佬的爬虫工具,专门针对于企查查和小蓝本的一些付费功能的信息
基于各大API的一款企业信息查询工具,为了更快速的获取企业的信息,省去收集的麻烦过程,web端于plat平台上线python ENScan.py -k keyword.txt
//keyword.txt里面填企业名称
3.3 黑客语法(Google+必应)
首先信息收集到一些统一认证平台或者登录框之后,为了突破进入到系统内部,就需要使用到一些黑客语法,最直观的可以获取学生的学号,这也是打很多edu的方式:
①Google语法
1.site:域名 intext:管理|后 台|登陆|用户名|密码|验证码|系统|帐号|manage|admin|login|system
2.site:域名 inurl:login|admin|manage|manager|admin_login|login_admin|system
3.site:域名 intext:"手册"
4.site:域名 intext:"忘记密码"
5.site:域名 intext:"工号"
6.site:域名 intext:"优秀员工"
7.site:域名 intext:"身份证号码"
8.site:域名 intext:"手机号"
9.site:域名 intext:"操作说明" filetype:pdf
10.site:域名 intext:"奖学金" filetype:pdf
11.site:域名 intext:"学号" filetype:pdf
12.site:域名 intext:"身份证" filetype:pdf
语法(filetype:pdf、doc、xls、xlsx)来回的变化即可
②必应
2.site:域名 inurl:login|admin|manage|manager|admin_login|login_admin|system
3.site:域名 intext:"手册"
4.site:域名 intext:"忘记密码"
5.site:域名 intext:"工号"
6.site:域名 intext:"优秀员工"
7.site:域名 intext:"身份证号码"
8.site:域名 intext:"手机号"
最后用操作手册搜出了一条关键信息,得出默认密码,进入后台
site 域名 intext:"操作说明" filetype:pdf
③各种软件
针对于sfz,可以去各种小视频软件,公众号,qq群,小程序去搜索,查询就是某某大学录取通知书,奖学金等等,都可以随意去变换,总会有收获的。
4 统一身份认证登录绕过
4.1逻辑缺陷绕过
①以最开始进行资产收集的那个大学站点,然后也是开始进行资产的收集然后后面通过FOFA和鹰图找到了比较多的站点的信息,然后找到了一个实验室的一个后台站点,刚好那个站点使用弱口令admin:123456直接登录了进去(一般可以尝试弱口令登录连接)
②然后里面有一个导出数据的功能,然后也是可以看到该实验课的所有学生和老师的姓名、学号、班级信息,信息泄露严重,可以看到下面的数据总共有好几千个学生和老师的信息都出现了
③上面就是经过系统所收集的敏感信息,你像要是在打edu的时候,获取到了该学校的学号以及身份证之类的敏感的信息,都可以去找找该学校的统一身份认证管理后台,然后看看他的这个登录机制有没有可以绕过的功能点
④下面我们首先看,这个统一身份认证的登录时要我们输入学号和密码,我们这里知道学号,然后密码的话,我们是不知道的,但是我们可以尝试使用bp进行一个弱口令123456的爆破,看看能不能出一个弱口令的账号密码,然后进行一个登录后台的操作,可以看到利用bp抓取数据包,且账号密码都是以明文的形式输入,所以可以尝试爆破的方法
⑤爆破没有成功,应该是要求改强密码了,不过没有关系,这个也是一个思路,主要是想给师傅们分享下一个在拿到账号的情况下,可以去尝试的操作
①首先我们点击下面的忘记密码
②一看可以找回密码,且要我们输入账号,账户就是我们开始收集到的学号
③然后就到了这一步,一看是要接收手机号,那么一般就在想着应该没戏了,其实不是的,像这样的站点,其实可以去抓它的数据包,然后看数据包进行一个尝试逻辑绕过
④通过bp抓包,然后进行数据包分析
⑤这里直接右击拦截返回包,然后通过返回包看看这个是通过什么方式进行的前端校验
⑥然后进行分析这个返回包,师傅们可以看到这里可以判断下这个前端是通过下面的返回包的哪个字段进行的校验
⑦一般就是code和这个false错误进行的一个前端校验,那么我们就可以挨个尝试下,把false改成true后,然后再放包,就直接绕过手机验证码了
{"code":"B0000004","data":{},"flag":true,"msg":"您输入的手机验证码错误","rows":[]}
到此为止,我们就成功的绕过了改身份认证登录后台的修改密码的验证了,主要还是开始先收集到的学号信息,然后再进行一个前端绕过的一个判断。
4.2爆破账户/前端绕过验证
①下面这个站点也是之前遇到的,改站点登录也没如下:
②老样子,跟上面的一样,这里直接点击忘记密码,然后看看后面的验证机制是什么,然后再看看可以通过什么方式进行一个前端的绕过
③点击这个里面的用户名验证,可以看到下面的验证机制,是验证用户名,那么我们就可以尝试一个用户名的爆破了
④输入用户名test点击下一步并抓包,可以看到msg字段返回1
⑤然后再看看test666,看到msg字段返回0,那么通过判断发现返回0就是用户名不存在,返回1就是表示用户名存在,那么我们就可以是要常见的用户名字段去爆破
⑥爆破用户名,可以看到爆破成功了很多用户名,最后使用一个108万姓名全小写的这个字段爆破了很久,然后爆破出来了好几千个用户
⑦拿上面的用户去演示下绕过的过程,然后直接这个也是跟上面的站点一样,使用手机号验证
⑧这里抓包,然后看这个数据包的返回包,然后进行判断一个前端绕过,可以看到这个又是一个msg参数的前端验证,那么下面就是尝试一个msg的修改,然后看看当修改为什么的时候可以进行一个前端绕过
⑨通过判断msg修改成2,然后就可以成功绕过前端验证码的验证直接绕过了
5 纯手工信息收集进系统
①首先还是先确定一个学校,然后对子域名进行收集,可以看到很多资产,如有统一身份认证的、财务的、教务的等等。
②然后一个一个打开试一下,最先开始测试xss,查看前端代码,插入xss代码进行验证,狗屎运,居然弹窗了,尝试了很多url,都是有这个问题,但是回头想想,好像也没啥用,各位佬以后遇到可以尝试交,万一过了呢
④尝试使用google+bing语法,尝试找sfz敏感信息,无果;
转换思路,寻找一些操作说明,奖学金,操作手册,学号等,可以看到很多很多关于学校开学初期的公告,里面有默认密码,利用语法把找到的学号和默认密码结合使用
site:域名 intext:"操作说明" filetype:pdf
site:域名 intext:"奖学金" filetype:pdf
site:域名 intext:"学号" filetype:pdf
site:域名 intext:"身份证" filetype:pdf
⑤最终进入该学校系统,可以看到sfz等敏感信息
⑥拿到此类敏感信息之后,就可以对统一认证或者学校资产的登录框进行验证,账户无非就是学号和sfz这两类,接下来的思路各位师父可以尝试。
这就是纯靠信息收集拿到的敏感信息,花点功夫每个人都是可以找到的。
6 关注edusrc开发商排行
①随着edu平台的跟新,我发现他多了一个开发商排行,这样等于是给我们列出来了edu用户的系统公司,就可以节省我们的时间再去查找开发商来找对应的系统.
教育漏洞报告平台(EDUSRC)
②那么我们知道这些开发商后,我们只需要把这些开发商是产品进行收集,然后一些空间安全引擎比如使用FOFA、鹰图等进行产品查找不就可以达到系统通杀的效果呢?
再看下面这个标题,很明显存在大量的弱口令漏洞,且修复率不是很高,那么师傅们这不就可以尝试下了嘛
③可以看见对于系统的弱口令通杀还是通杀挺多的,当你通过弱口令进入后台后,继续挖掘可以扩大rank值。
5.1具体操作
①首先我们需要确定我们的目标厂商。开发商名称:北京某某科技有限公司
②然后就可以使用我们的空间安全搜素引擎了,比如我平常常用的FOFA以及鹰图,都是蛮不错的
③主要这里FOFA还给我们整理了icon图标,可以找对应的icon,然后也是同一系统,然后也是可以打一个通杀的
④对于这些都是属于网瑞达公司的这个产品,点进去你可以发现全是教育网段的!
⑤接下来就是比如你可以去找该系统或者该学校的手册,然后去里面找找有没有系统的默认弱口令,因为很多学校系统都不该密码,运维人员也少,所以维护也没,这就可以去找下系统的默认弱口令了,然后再进去打一套别的漏洞,提高危害rank。
也可以先尝试常见弱口令,比如admin/admin admin/123456一类的,不成功就是寻找手册,关键字查找方法:xxxxx(公司名部分关键字任意组合)xxxxx(某某系统)操作手册、默认密码、管理员手册(这里自己补充能涉及密码的关键词)
⑥可以看见有很多文档,需要自己花自己整理,找到有效的数据。
⑦继续在里面找,还可以看到别的关键信息,在我们的眼里这些是弱口令,但是在运维眼里这些密码均为强口令了
7 总结
这篇文章比较详细的给师傅们总结和演示了统一身份认证的一个绕过的过程以及这个思路,先是给师傅们很详细的介绍了各种对于一个目标资产的一个收集,然后再到下面的利用这个收集到的资产信息去打一个怎么样的漏洞,收集的信息越多,对于我们后面的打点渗透测试工作就会越轻松。
也分享了3个edu实战案例的绕过过程,像这样的站点,尤其是Java开发的站点,都可以利用这样的姿势去尝试绕过,可以说这样的技巧都是通杀的,只不过前提得看你的信息收集能力了,你得收集足够多的资产然后再去一个统一身份认证的登录后台去进行一个逻辑缺陷的一个绕过。文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!