总结一下自己CNVD原创证书获取姿势
2022-7-26 09:31:3 Author: 猪猪谈安全(查看原文) 阅读量:27 收藏

0x01 前言

挖CNVD证书是在准备出去实习的时候,想着挖个CNVD证书丰富一下自己的简历,再到后来挖CNVD证书完全是因为众测实在是太卷了,出洞率低,重洞率高,导致自己经常挖完众测之后就emo,然后去挖CNVD找一些存在感。很多师傅感觉挖CNVD证书很难,要挖掘0day出来。确实,要挖0day,听起来确实是挺困难的,但是挖CNVD证书不像是众有限定的资产,互联网上存在的系统数不胜数,我们只需要利用一些小技巧,找到满足发放证书的系统,然后在这里面去寻找相对薄弱的系统来进行挖掘,这样相对来说挖掘到证书的概率还是相对来说大上不少的。到写文章为止,除去还有几份未审核完的报告,我自己是存在4张CNVD证书的。在证书挖掘过程中,自己并未太刻意深入的去挖掘,非要说刻意去干的一件事还是在寻找CNVD证书发放条件的资产上。以下就总结一下自己挖掘CNVD证书的小技巧,希望对师傅们以后挖掘CNVD证书有所帮助。

0x02 概览

大致画了个思维导图(感觉不清楚的,可以加我微信,我发原图给师傅)

0x03 证书获取条件

条件一:通用漏洞(网上没有记录---0day)

条件二:公司注册资金超过5000万

条件三:所提交漏洞获得中危中危以上评分

条件四:互联网可复现案例需要三例(建议多放几例,防止审核过程中存在案例失效,我一般放10)

or

事件型漏洞必须是三大运营商(移动、联通、电信)的中高危漏洞,或者党政机关、重要行业单位、科研院所、重要企事业单位(如:中央国有大型企业、部委直属事业单位等)的高危事件型漏洞才会颁发原创漏洞证书

0x04 白盒挖掘

自己最初挖CNVD的时候是采用白盒的方式来挖取的,什么是白盒,就是找一些开源的系统,直接去审计代码,但是慢慢我在尝试挖掘的过程中发现一件尴尬的事。遇到小型的系统(厂商),挖掘出来漏洞,但是不满证书发放的条件。遇到中型的系统(厂商),会碰到一些扯皮的厂商,说是开源项目,不在管辖范围中之内(翻译一下就是你们用的开源的产品,没收你们钱,出了问题是你们自己的事)

哎,格局呢。遇到大型的系统(厂商),其对代码审计的能力要求比较高,所以比较难审计出洞,所以慢慢的后面我就改变思路改为黑盒挖去了。那为什么还要写白盒挖取这个,是因为有一些代码审计能力比较强的师傅,可以考虑一下这种挖掘方式,毕竟白盒的挖掘方式比黑盒更容易出洞。

0x05 黑盒挖掘

主要还是写写黑盒挖掘,自己的证书也全是黑盒挖掘过来的。那在挖掘CNVD证书的过程中,我认为最重要的一部分还是在选择挖掘目标上面。那怎么样去寻找满足发放证书条件的目标呢,以下有三个方法。

① 利用空间测绘寻找

② 利用脚本寻找

③ 在CNVD官网寻找

首先来讲讲第一个方法利用空间测绘,这里以fofa为例

我们可以搜索一些常见的系统可能使用的名称,比如说"管理系统"、"登录系统"、"某某平台"等等

还可以利用组合语法如一些常见登录系统会使用到的一些js文件,css文件等去进行寻找,比如

然后找到这些系统之后,看看归属于个公司,判断其归属于哪个公司,最好用的方法就是,在这种技术支持上去看是属于哪个公司

当然也有一些系统是没有这种技术支持的,这个时候我们就需要一些其他的方法去判断其归属于哪个公司,有源代码中有注释的,有进后台发现某某公司开发的,反正找归属是个细心活,没有太多的技巧。找到归属于哪一个公司之后的话,我们就可以利用爱企查等查企业信息等网址对该公司做一个查询,看看其注册资产

注册资产超过5000万,这套系统就满足发放证书的基本条件了,我们就可以进行一个挖掘,假如没超过5000万,我们就不用进行挖掘了,因为即使是挖到了洞,也不满足发放证书的条件。本人自己在最初挖掘CNVD证书的时候就是利用空间测绘这种方法,找满足条件的系统,然后进行挖掘。自己第一次挖掘CNVD的时候也是利用这种方法,也是有幸挖掘到一个Elastic的一个0day,然后申请了如下证书。

这种寻找目标的劣势也很明显,第一就是寻找系统不够精准(需要手动去确定目标是否满发放证书条件),第二就是需要我们去确定该套系统属于哪一个厂商。就如上两个问题就会浪费大量的时间,导致效率非常的低,所以不是很推荐这种寻找目标的方法。

第二个方法:利用脚本寻找

具体脚本如下文

快速获得CNVD证书的小技巧

作者:OceanSec文章来源于https://oceansec.blog.csdn.net/

这个脚本我自己没有使用过,不过其导出5000万漏洞资产,然后再结合一些工具半自动化测试确实适合快速去刷洞。

第三个方法:在CNVD官网寻找

这也是我自己使用最多的一个方法,怎么利用CNVD官网去寻找目标呢,首先来到CNVD官网。

在漏洞列表处,可以看到以往发生的安全漏洞,然后我自己比较喜欢寻找WEB应用的系统,所以我会选择一个WEB应用分类,当然师傅们也可以更具自己擅长挖掘的东西来进行选择。

可以看到其会报道处某某公司的某某系统存在某某漏洞

比如这里有个某某公司,那我们就可以利用爱企查去查询一下这个公司的注册资产,如果超过5000万,满发放证书条件,那我们就可以根据这个提示去试着寻找一下这个系统,找到之后呢,我们可以利用我们平常的测试手段,尽量模仿打一下CNVD官网所通报出来的漏洞,据我打过多个的经验来看,大多数都是能打到的,找到漏洞点进行漏洞复现的。当然测试到了漏洞点,你可以尝试提交一下,不过百分之99的概率是重复的,既然重复为什么还要在这寻找目标呢。

① 其实这个系统爆出一个漏洞,其实在某种程度上,其系统的安全性就与其他相比来说较低的,那我们就可以对这个系统进行一个详细的测试,细心一点测试的话,你就会收获到一些惊喜。

② 有些系统我们测试一下弱口令,假如我们测试出来弱口令(web应用系统的弱口令CNVD是不收录的),我们可以进入后台再进行一个深度挖掘。

③ 假如CNVD爆出的是某某可以getshell的漏洞,我们可以尝试复现,假如复现成功的话,我们可以把源代码打包备份一份出来,进行一个黑盒加白盒的深度测试。

其上三个方法呢,由前到后提交漏洞重复的概率会依次降低。在发现存在某个漏洞后,我们还可以去寻找该公司的其他系统,看看该公司其他公司是否也存在该种类型的漏洞(因为一个公司不同的系统很有可能是一个开发团队写出来的,一个系统存在问题,那么其开发的另一个系统也很大概率存在该问题),那么怎么寻找该公司的其他问题呢。我们利用爱企查查询一个企业过后,我们可以来到知识产权,然后点击软件著作权信息。

这里就可以寻找一些该公司开发的其他公司系统信息

运气好碰到类似的系统的话,就可以开心地把一份报告变成两份报告,拿两份证书。

0x06 挖掘思路

掌握了收集资产的方法,接下来需要的就是一定的挖掘技巧,在挖CNVD的过程中也存在一些经常挖到的漏洞种类和一些小小的挖掘技巧。

① 大型框架导致的漏洞(如log4j2,shiro身份绕过等等)

大型框架导致的0day,特别是最新爆发的核弹级漏洞log4j2,在平常的测试过程中可以注意一下这种框架漏洞。(log4j2证书鉴赏)

② 目录扫描、源代码、js文件、修改请求返回状态码探针后台地址挖掘未授权漏洞

自己在挖掘这些系统的时候,经常可以挖掘都未授权访问漏洞,挖掘未授权的方法,我们可以使用目录扫描,在源代码中、js文件中查看一些后台的url,还可以通过修改请求的状态码如把0改为1,false改为true等让系统跳转后台地址等。

③ 通过弱口令进入后台挖掘

前台的功能点功能较少,假如某个系统存在弱口令,我们就可以进入后台,扩大我们的攻击面(挖掘例子如下)

详细记录一次CNVD原创漏洞证书挖掘过程

④ 设备弱口令漏洞

虽然CNVD已经不收录WEB应用的弱口令的通用洞了,但是一些设备的弱口令漏洞其还是正常收录的。当然设备弱口令你挖掘到非常简单,但是你想挖掘到没有重复的那也是相当的卷,所以你想通过挖掘设备弱口令来获取证书的话,你就要去时刻关注这些设备厂商的动态,在其发布新设备的第一时间就去测试该新设备的弱口令,然后用上你最快的手速写好报告,提交报告,然后坐等证书。

⑤ RCE打包源码进行代码审计

当你RCE一个系统的时候,你可以把该系统的源代码打包一份出来,然后通过白盒的方式去审核源代码,进一步扩大战果。

0x07 结尾

大概挖掘思路就是这些,当然可能还有一些没有想到的没有写上来,以后想起来的单独写写。

最后祝师傅们证书满满。


 点击下方小卡片或扫描下方二维码观看更多技术文章

师傅们点赞、转发、在看就是最大的支持


文章来源: http://mp.weixin.qq.com/s?__biz=MzIyMDAwMjkzNg==&mid=2247502752&idx=1&sn=de2b6ff5b44bdf1a390cf95374cb2971&chksm=97d024b7a0a7ada1dfc2fb4de3d1e93d84f5b62a2adc6834ae00ab96b880358b3b9def0f0d13#rd
如有侵权请联系:admin#unsafe.sh