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