护网漏洞以0-Nday的杀伤最大,而js接口、未授权等最为平民化利用。
其中0day的难度最大,这种一般有两种情况,第一种,虽然称为0day,但实际接触护网中的一些攻击队的大部分0day都是市面上未公开的poc,然而在小范围内私有的,各大厂商和一些安全公司都会有自己私有的一些poc,这种只能看公司里的资源了。
还有小部分的0day即为比赛间真实打点遇到后进行挖掘到的,一般分为白盒审计和黑盒探测两种,主要区别在于有无源码。
白盒一般分为两种方式获取源码,一种通过访问同样系统的其他网站看是否有弱口令能够进入后台,然后尝试RCE后脱出源码再去审计后横向来回利用,也就是我们常听的打供应链。检索同系统的方法:下列以致远OA举例,通过图标检索。
另一种本身网站就有开源的源码例如GitHub上的一些CMS等框架,这种在通过js特征或者目录下的REMEAD都可以检索到信息.,如下图
对于一般的注册登陆,开源项目都会有些测试用户,而使用的人一般最多改下admin账户,容易忽略其他创建的,所以有时候不妨仔细翻读配置文件。还有一个在挖掘中遇到的思路,有些开源项目可能无法直接搜索到文章poc,但有些会在CVE和GitHub平台的issues中有所发现。
1.
2.
剩下还有一些零散的,例如webpack源码泄露也可以获得源码。
黑盒可能大家更为常见,因为白盒对代码审计能力还是有一定要求。护网和普通SRC还是有一定区别,他以RCE和隐私信息泄露、管理员权限等为主要得分入口点。RCE最为常见的方式即文件上传点亦或着通过构造特殊的传参来使系统执行参数利用,但这种利用方式大都需要前置条件,需要一定的权限(管理员or测试用户)。最常利用的思路就是弱密码爆破,123456和admin最为常见的密码,但这种随着大家安全意识增加和一些企业上线系统需要等保测试,出现的频率不是很高了。一些系统都会设置密码强度标准,禁止弱密码的设置和要求字符长度和类型。
接下来介绍大家最为关注的普通人挖掘方法
实际对于私企的还是比较好挖的,还是以Nday和接口泄露是最为容易上分的前置利用方式,而很多人连如何检测并使用Nday都不知道,最为常见的即为拿着一个扫描器和dirsearch扫所有的站点,这样百分之九十都是无效操作,导致扫了很长一段时间没有反馈就容易放弃了。
常规步骤
首先
我们得了解什么是指纹,很多人常听说过很多指纹工具,但多数人并没有意识到他提供的信息是什么用。
扫描器拿到指纹-->根据指纹找到对应的系统-->使用专属系统指纹扫描器
--->通过搜索查找扫描器没有的一些最新poc-->分析目录或者接口一些细微的变化,看是否需要改变。
其中有一点需要注意
1.不要只用一种扫描器扫完没货就跳过了,毕竟没有开发者能及时更新所有漏洞到工具,都是具有时效性的------多用几种不同的扫描器(看看别人同样的框架用什么工具打)
其次
有时候需要一些权限才能深入利用,在前述方式都尝试后,最为有效和常见的方式我想是通过未授权接口来获取某种信息进而来登陆后台,这里写下如何找未授权接口并且举例两种例子。
在插件商城中找到find something并安装
通过bp爆破来获取(这里拿自己的举例说明),通过不同颜色特征和Markinfo可以检索出特殊的响应信息
第一个例子
1.直接得到密码或非常规信息
发现存在另一个脆弱的URL位置,有着对应连接账号密码接口,直接登陆
2.能利用条件有限
我们可能可以获得到例如这种
/API/EMpShopSkill/list=
这里以张三为例子,对于一些公司里面大多年长的一些员工,尤其喜欢把生日或者电话加入密码组成。
最后通过生成的字典去爆破后台。
第二个例子
2.无明显后台、无电话,可用信息极少
这个是学校签到系统的一个数据包,这个系统的身份验证不是通过登陆直接分配的,而是通过学账号生先登录另一个系统,然后使用这个功能后会先申请一个验证令牌来访问。一开始是想着写一个一键化登陆脚本研究这个,有两种思路。
1.找到签到系统的登陆界面再看如何利用
2.找到前置系统分配令牌的加密数据包并且进行js逆向。
过程中遇到两个问题
1.签到系统没找到有登陆界面
2.前置系统向签到系统分配令牌的包找不到
最后只能用selenium来实现,后面不死心又回过头来研究抓到的包,发现下面这个包有点特别。可以看下下面这个图你可以有什么思路
其实还是本着第一种方法更为便捷,我从cookie特征出发,_WEU这个变量名发现是金智教育系统的特征,然后再去Google搜索,发现些有意思的
后面研究了很久他们的源码,都是以爬虫为主,发现有些加解密已经更新了,自己很难理解。所以我彻底放弃第二种思路,专心寻找登陆界面,因为已经确定了目标系统,我想到的思路就是我们学校不是使用后台登陆而是采取分配的方法,那总有学校是用这种的,所以我就拿着接口翻页面
/xsfw/sys/
最后真给我找到了
成功找到,然后这里开始想的是拿学生账号去忘记密码更改密码,但一直不成功,后面进去发现学生账号其实并不是这里登陆。这里其实是后台管理员登陆
那个时候因为找回密码无效也是无功而返,后面发现下图有个关键点,admin的出现,虽然看不到CZZ什么意思,但是凭着试试的想法,我填入账号为对应*****admin
密码我猜和用户名相同,想着这万分之一的机率不能发生,然而
只能说很抽象,并且进去后我推测这是开发者开发的问题,把学校的学生信息录入之后把系统整合就没管了,学校可能也真没人专门对接这个技术人员。进去之后直接就是拿到了全校学生和老师的身份信息。
同时还泄露了微信、钉钉、应用的id和secret,已经若干的系统配置。
最后
对于常规进入别的后台之后我们可以找什么点来增加利用?
1.VUE的框架经常出现未授权,我们依旧是通过接口来(只是这次是登陆后界面检测到的接口),看看有没有更高权限用户或者一些遍历敏感数据的相关操作,再重复上述攻击方式。
2.找查询点尝试是否有sql注入,这个也比较常见,同时可以翻配置信息,如果有ak/sk这种云的密钥就可以接管云服务器,或者wx、钉钉等,这里推荐用burp插件,自动检索到secret的关键词。
3.最好的就是文件上传了,如果能传马,先观察是云服务器还是可以打的内网段,云服务器就是进去翻系统的配置文件,找数据库密码。内网的话就可以上大分了,也需要学校内网渗透的方向知识来进行后续利用,想拿高分必须要会打内网。
总结
上述讲的也只是一部分,我们也会遇到一些不能直接rce的nday,例如ssrf,根据服务器类型,如果是linux的云服务器,可以尝试打元数据,内网的可以进行内网探测利用,根据有无回显,利用方式都会有所区别。如果是任意文件读取,读取一些敏感配置文件,例如读取/root/.bashrc看历史记录或许能有不一样的惊喜,一些特别的系统,如OA和海康这种,都有固定的文件配置路径,有时候部署者会有意更改,根据一些其他利用我们也可以分析出来再次绕过利用。
总之,漏洞的利用需要极其细微的心态和花足够的时间去熟悉更多的系统从而获得经验,从而进行螺旋式的上升。本期就讲到这了,如果有其他问题可以私信我,内容仅供参考。
原文始发于微信公众号(Licharser安全之极):护网入门平民化挖掘技巧分享(思路+例子)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论