技术分享 | 自定义PoC对接插件,漏扫更强大

匿名者  40天前

微信图片_20200917183725.png


前言:群里的大佬们纷纷写出各种牛X的插件,让人羡慕到飞起。对于我这种编程盲来说,写一个新的插件那估计是费了!不过,千古插件一大抄…咳咳,千古奇文一大抄,抄来抄去创新高!哈哈,开玩笑的!接下来,我就打个样,试试水,在大佬的插件基础上修改一下下,配合自己编写的PoC,也可以玩的风生水起!

正好手头上也有个监控的漏洞, 所以就借鉴了Vanilla大佬的“Hikvision”插件(不要来打我)。

1. 最终效果

以我自定义的Goahead-Cameras未授权访问漏洞为案例,结合修改Hikvision插件,效果一毛一样!5秒刷新一次的PPT

Image

2. 自定义POC

由于某些敏感原因这里以Goby预置的海康摄像头未授权访问这个漏洞为案例。

Hikvision IP Camera Access Bypass(ICSA-17-124-01/CVE-2017-7921)

2.1 漏洞触发url

根据漏洞的详情可以看到两个触发点:

  • 查看用户角色 

http://camera.ip/Security/users?auth=YWRtaW46MTEK

图片2.png

    • 查看监控实时截图

    http://camera.ip/onvif-http/snapshot?auth=YWRtaW46MTEK

    图片3.png

    • 配置文件下载

    http://camera.ip/System/configurationFile?auth=YWRtaW46MTEK

    图片4.png

    2.2 Goby内置查询规则

    首先扫描一批案例,通过Goby内置的指纹来识别出资产的信息可以看到硬件层的显示为“Hikvision-Cameras-and-Surveillance”

    图片5.png

    那么搜索语法就是

    app=”Hikvision-Cameras-and-Surveillance”

    看下图搜索结果

    图片6.png

    图片7.png

    当然我们也可以通过别的方法进行搜索资产,比如body=”xxx”,header=”xxx”等等首先要找到一个通用的存在的字符串,如下图,body,header,banner等一些信息都是在打开url第一个响应的页面里面,如下图,将body里面的“doc/page/login.asp“作为搜索关键字那么语法为

    body=”doc/page/login.asp”

    图片8.png

    看一下搜索结果:

    图片9.png

    图片10.png

    2.3 自定义POC的编写

    经过2.1和2.2我们已经知道了两个重要的信息,搜索资产的语法和漏洞触发的url

    2.3.1 漏洞信息编写

    必要填写名称和查询规则。选择填写高级配置里面的,漏洞来源,详情,作者,修复方案!

    图片11.png

    2.3.2 测试部分编写

    共有三个漏洞URL,我们可以任选其一,或者其二,干脆三个一起来判断,理论上判断维度越多,漏洞判断越精准,当然判断时间也会长。 

    我想选择第一个url进行测试,看一下漏洞URL的响应,我们选择一个特有性,唯一性,的字符串作为判断漏洞的存在(我选择administrator的原因是,监控肯定会存在一个管理员权限的账户,但是账户的名称或许不是admin)。

    图片12.png

    Goby填写测试如下,http头部没有添加是因为Goby发包的时候默认会添加头部,也可自己添加,data部分没有的也无需添加。

    图片13.png

    最后提交保存(这个提交不是提交到Goby官方上,不会泄露你所有的漏洞信息,只是保存到本地,提交是生成一个json文件)。

    注:文件名不支持中文字符,一定要英文字符。

    图片14.png

    2.3.3 测试效果

    提交保存后,重新开启一个扫描任务,可以看到刚编写PoC的漏洞扫描结果:自定义的搜索所规则和Goby内置的还是差2个风险资产。也说明咱们的规则是没有错的。

    图片15.png

    可以看到扫描出来的漏洞结果和Goby内置的一样:

    图片16.png

    图片17.png

    自定义POC基本差不多就是这个流程了,接下来开始搞插件~

    3.修改插件

    按照Goby官方的开发文档里的说明,修改插件的关键部分——package.json和extensions.js

    3.1 下载原插件

    扩展程序界面找到Hikvision验证插件下载

    图片18.png

    3.2 修改插件介绍信息

    下载完成后,到文件目录如下:

    图片19.png

    图片20.png

    直接打开package.json和extensions.js这两个文件,里面的内容都可以修改,主要的是commandvisible,因为extensions.js里面需要这两个参数。

    图片21.png

    这里是我修改后的样子:

    图片22.png

    3.3 修改漏洞信息

    extensions.js四个地方需要修改,package.json里面的commandvisible,一个是咱们自定义漏洞的名称(注释地方都已经说了哈),最后一个是窗口的title。

    图片23.png

    这个是我修改过的:

    图片24.png

    漏洞名称在这里查找,中文名称也可以的哈哈!

    图片25.png

    3.4 拼接漏洞URL

    最后一步,index页面的修改!这个没啥好说的了,就是拼接一下漏洞url,就可以了。

    图片26.png

    4. 小结

    由于某些敏感原因,自定义PoC编写部分没有以我的Goahead-Cameras未授权访问漏洞为案例,不过流程是一样的,表哥们掌握了方法即可至于插件编写部分,表哥们不要喷我哈,本人开发能力着实有限!此次也是为了熟悉一下Goby插件基本开发流程。大家可以更多的发挥一下~


    文章来自Goby社区成员:mojie,转载请注明出处。

    下载Goby内测版,请关注微信公众号:GobySec

    最新评论

    off white包  :  **s://**.off-white.com.tw/
    23天前 回复
    昵称
    邮箱
    提交评论