插件分享 | 可以查看摄像头快照的“Hikvision插件”
前言:之前在Goby群里看到有人討論過(guò)海康這個(gè)漏洞,自己平時(shí)也有遇到過(guò)。該漏洞能夠查看攝像頭的的快照,但是每次都需要手動(dòng)去訪(fǎng)問(wèn)。耳東表姐一直催插件(沒(méi)有),所以寫(xiě)一個(gè)簡(jiǎn)單的驗(yàn)證插件來(lái)熟悉熟悉goby的插件開(kāi)發(fā)流程。希望通過(guò)此次分享,吸引更多人大佬能加入到開(kāi)發(fā)插件的行列中來(lái),搞點(diǎn)牛批的插件出來(lái)。
0x001 插件效果
當(dāng)掃描出Hikvision IP Camera Access Bypass漏洞后,會(huì)在漏洞頁(yè)面和資產(chǎn)詳情頁(yè)面顯示”驗(yàn)證按鈕”(和MSF插件是一樣的),點(diǎn)擊之后即可彈窗看到攝像頭快照PPT(5秒刷新一次)。
0x002 開(kāi)發(fā)流程
1. 注冊(cè)自定義組件要觸發(fā)的命令
Goby官方的開(kāi)發(fā)文檔里有很詳細(xì)的說(shuō)明,也有提供樣例項(xiàng)目,將其下載并解壓到goby/extensions目錄下,然后運(yùn)行g(shù)oby就能看到demo了,剩下的就是改了:
exports.activate = activate;function activate(content) {goby.registerCommand('Hikvision', (content) => { let path = __dirname + "/index.html?hostinfo=" + content.hostinfo; //設(shè)置打開(kāi)新窗口的html文件路徑,并傳入當(dāng)前hostinfo信息goby.showIframeDia(path, "Hikvision登錄繞過(guò)驗(yàn)證", "800", "600"); //打開(kāi)一個(gè)800*600的iframe窗口,窗口標(biāo)題為“Hikvision登錄繞過(guò)驗(yàn)證”});goby.registerCommand('Hikvision_visi', (content) => { return content.name === "Hikvision IP Camera Access Bypass(ICSA-17-124-01/CVE-2017-7921)" //對(duì)漏洞名稱(chēng)進(jìn)行判斷}); }exports.activate = activate;提示: 因?yàn)橐趻呙杞Y(jié)果中存在該漏洞才能顯示該組件。所以這里使用了控制組件是否顯示的回調(diào)命令,它綁定在views的visible字段上,根據(jù)其返回的布爾值來(lái)決定是否顯示該組件。
2. 配置視圖入口點(diǎn)
插件的入口點(diǎn),我選在漏洞列表頁(yè),需要在package.json里進(jìn)行配置,即contributes.views.vulList,填寫(xiě)想要的標(biāo)題、對(duì)應(yīng)的命令、以及控制該組件顯示的回調(diào)命令。
"contributes": {"views": {"vulList": [{"command": "Hikvision","title": "驗(yàn)證","visible": "Hikvision_visi"}]}3. 開(kāi)發(fā)html頁(yè)面
官方使用的layui,因?yàn)椴恍枰獜?fù)雜的界面,直接就在給的樣例HTTP發(fā)包插件的基礎(chǔ)上去改。開(kāi)發(fā)流程很簡(jiǎn)單,因?yàn)槲沂钦娴牟?#xff0c;所以請(qǐng)教了我的同事@Ma1tobiose
開(kāi)發(fā)流程如下:
開(kāi)發(fā)測(cè)試完之后就是打包上傳了,因?yàn)橹苯邮悄霉俜綐永薷牡?#xff0c;所以目錄結(jié)構(gòu)不需要再重構(gòu)。
4. 打包上傳
打包前需要注意的兩點(diǎn):一是demo的gif需要生成一個(gè)在線(xiàn)的地址,因?yàn)間oby還不支持還沒(méi)實(shí)現(xiàn)抓取readme圖片。二是壓縮包和文件夾名稱(chēng)須保持一致,文件放置如下圖所示。
5. 更新
因?yàn)楦鼡Qdemo圖地址,所以我更新了一次版本。打開(kāi)package.json修改版本號(hào),以及在CHANGELOG.md新增更新說(shuō)明。更新上傳過(guò)程中還遇到一個(gè)bug:沒(méi)有權(quán)限,但是耳東小姐姐積極溝通復(fù)現(xiàn)解決掉了。
0x003 小結(jié)
Goby的開(kāi)發(fā)文檔里寫(xiě)的很詳細(xì)很清楚,開(kāi)發(fā)整個(gè)插件也就用了一個(gè)小時(shí)的時(shí)間。當(dāng)然也是因?yàn)楣δ鼙容^簡(jiǎn)單,感覺(jué)沒(méi)啥太大用處,主要是為了熟悉Goby的插件開(kāi)發(fā)流程。理論上來(lái)說(shuō)插件能夠搭配Goby實(shí)現(xiàn)很多場(chǎng)景的應(yīng)用,但是因?yàn)椴寮δ軇傞_(kāi)放沒(méi)有成為亮點(diǎn),只能用JS開(kāi)發(fā)也比較有限制性。
表哥們可以利用FOFA插件和大壯表哥開(kāi)發(fā)的Shodan插件查詢(xún)海康威視攝像頭資產(chǎn),并批量導(dǎo)入,掃出漏洞后使用Hikvision插件看PPT(你懂的)。
漏洞詳情可參考:https://www.seebug.org/vuldb/ssvid-96469
插件開(kāi)發(fā)文檔:https://github.com/gobysec/GobyExtension
總結(jié)
以上是生活随笔為你收集整理的插件分享 | 可以查看摄像头快照的“Hikvision插件”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cocos2dx 历史版本下载
- 下一篇: 解决寻找第K小元素问题——三种不同的算法