<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    天王級視頻監控產品某華認證繞過漏洞CVE-2021-330*復現與分析

    VSole2021-11-12 06:34:11

    引言

    某華是全球占有率排名第二的視頻監控品牌。2021年10月,多款攝像產品曝光了認證繞過漏洞,攻擊者可利用該漏洞繞過身份驗證,獲得設備管理權限,可對攝像頭進行配置修改、獲取配置信息、修改口令、重啟設備、添加用戶等,危害很高,影響IPC/VTH/VTO/NVR/DVR等主流產品。

    漏洞復現

    根據github上POC中的`requirements.txt`搭建環境:

    sudo pip3 install -r requirements.txt
    

    運行`Console.py`,登陸方式選擇`loopback`,協議選擇`dhip`,端口為攝像頭的web管理端口(通常為80):

    ./Console.py --logon loopback --rhost IP --proto dhip --rport port
    

    運行后就可以對設備進行管理員操作了,獲得一個合法的`session`會話:

    在會話中可以運行各類命令,例如,運行`device`命令可以看到設備的基本配置信息:

    漏洞分析

    該漏洞可通過某華`DHIP`協議觸發。除了攝像頭web端口支持`http/https`協議外,某華在其web端口上還實現了一套私有協議,命名為`DHIP`協議,實現遠程`RPC`調用的功能。通過抓包分析能夠基本弄清楚這套協議基本規范。

    0x01 從協議看表象

    `DHIP`實現了一套簡易的RPC調用協議,主要包括`DHIP header`和`DHIP body`兩部分:

    其中,`DHIP Header`長度為32個字節,組成如下:

    `DHIP body`采用json格式定義,包括`method`、`param`、`id`、`session`四個關鍵字段,以登陸數據包為例,對應的`DHIP`數據包格式為:

    其中,`Method`有多種類型,相當于是遠程調用的函數,`param`相當于是給函數傳遞的參數:

    如下的`DHIP packet`就是一個獲取設備郵件信息的`RPC`請求:

    {    "method": "configManager.getMemberNames",    "params": {        "name": "Email",    },}
    

    該漏洞問題出現在登陸類型的`RPC`請求上。當`method`為`global.login`時代表登陸數據包,但是當傳遞特殊構造的包含`loopback`登陸參數`param`時,能夠繞過認證。`loopback`用于告訴設備采用本地登陸方式登陸,是留給本地其他進程進行設備管理時通信接口。攝像頭服務端`RPC`處理函數遇到這類請求將不予認證,但是并沒有檢查請求發起方的IP地址。因而攻擊者可以通過遠程仿冒本地登陸數據包,直接繞過身份認證。用wireshark抓包可以看到,當`param`中登陸類型為`loopback`時,并設置任意用戶名與口令信息,攝像頭直接返回了認證成功的數據包。

    0x02 從固件逆向看本質

    但是到底為什么出現這個原因?只能分析固件了,從官網只能下到的最新固件已經被加密了,較難解開。一個直接想法就是找老版本固件,經過不懈努力終于找到了一個能解開的固件,版本為`**_NVR4XXX-4K_Chn_P_V3.210.0005.0.R.20160614`,大家可以自行搜索。偷懶使用了7z解壓大法,直接解壓了固件。

    用`grep`命令從解壓的目錄中搜索`loopback`關鍵字:

    grep -rn "loopback" ./
    

    定位到`Challenge`這個24.6MB的超大的文件應該是主功能模塊,把它放到IDA里面,分析時間比較久,等一會就出結果了。`Shift+F12`搜索`loopback`字符串,找到相關引用:

    通過向上追蹤幾步可以找到一個線程函數用于不斷處理接收數據包,命名為`RPC framework`,該函數為`RPC`框架的總入口:

    線程的回調函數此處命名為`ThreadPool`,在其內部有一個關鍵的數據包處理函數,命名為`proc_request_arrive`,用于處理接收數據包:

    第29至31行會首先檢查數據包中的`session`字段合法性,繼續往下看,發現71行對`gloabal`類型的數據包進行字段比較,并單獨進行處理:

    跟進去看一下,發現當數據包中存在`global.login`,會進入到處理`loopback`類型數據包的函數,這里命名為`Dealloopback`:

    可以看到`Dealloopback`函數調用完畢后會直接繞過`checkauthority`函數,跳轉到后面的`RPC`調用:

    從控制流圖上也能看出,`loopback`數據包函數調用后沒有進行授權檢查:

    最后提取數據包中的`method`,調用`deal_request`函數進行`rpc`調用。可以看出,全過程缺少對網絡連接發起方IP地址的檢查:

    思考

    從這個漏洞的分析可以看出來,二進制邏輯類漏洞實際上也可以通過fuzz測試分析發現,特別是對于某華協議,其協議格式十分清晰,檢驗是否通過認證只需看返回數據包中result字段是否為true。可以通過梳理登陸數據包各個參數并進行組合構造,爆破找到認證繞過類漏洞。大家可以自行實驗。

    由于傳播、利用此文檔提供的信息而造成任何直接或間接的后果及損害,均由使用本人負責,且聽安全團隊及文章作者不為此承擔任何責任。

    漏洞loopback
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    關于MIPS架構的寄存器及指令集請自行查閱資料,這里就不多作介紹了。,則也會在prologue處保存下來,并在epilogue處取出。流水線指令集相關特性MIPS架構存在“流水線效應”,簡單來說,就是本應該順序執行的幾條命令卻同時執行了,其還存在緩存不一致性(cache
    天王級視頻監控產品某華認證繞過漏洞CVE-2021-330*復現與分析。
    建議先通一遍文章再動手復現,復現之前一定要保存虛擬機快照,防止出現各種問題。
    8月底,思科警告說,攻擊者正試圖利用高嚴重性的內存耗盡服務拒絕漏洞,影響在運營商級路由器上運行的Cisco IOS XR網絡操作系統。“ Cisco IOS XR軟件的距離矢量多播路由協議功能中的漏洞可能允許未經身份驗證的遠程攻擊者耗盡受影響設備的進程內存。”該通報建議用戶運行 show igmp interface 命令來確定是否在其設備上啟用了多播路由。及更高版本 是 沒有 僅CSCvv54838需要修復。
    我們發現了一個路徑遍歷漏洞(CVE-2022-24716),該漏洞可被濫用以泄露服務器上的任何文件。它可以在沒有身份驗證和事先不知道用戶帳戶的情況下被利用。我們還發現了CVE-2022-24715,它會導致從管理界面執行任意PHP代碼。
    一般情況下利用URL解析導致SSRF過濾被繞過基本上都是因為后端通過不正確的正則表達式對URL進行了解析。該方式主要是利用URL解析器和URL請求器之間的差異性發起攻擊,由于不同的編程語言實現URL解析和請求是不一樣的,所以很難驗證一個URL是否合法。下圖展示了cURL請求函數與其他語言解析函數結合使用時,由于差異性造成的漏洞
    因此做為運維人員,就必須了解一些安全運維準則,同時,要保護自己所負責的業務,首先要站在攻擊者的角度思考問題,修補任何潛在的威脅和漏洞。 本文主要分為如下部分展開:
    potato提權技術
    2021-12-03 13:39:45
    早在2015年,Google project zero就發布了關于DCOM DCE/RPC本地NTLM Relay的研究,其中提到了使用COM對象及OLE Packager并舉了個例子實現任意文件寫入。
    TA410是一個傘式網絡間諜組織,根據安全公司ESET的研究人員本周發表的一份報告,該組織不僅針對美國的公共事業部門進行攻擊,而且還會針對中東和非洲的外交組織進行攻擊。 雖然它從2018年以來就一直很活躍,但TA410直到2019年才首次被研究人員發現。當時研究員發現了一個針對公用事業部門進行攻擊的網絡釣魚活動,該活動使用了一種當時被稱為LookBack的新型惡意軟件。 大約一年后,該威脅組織
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类