溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

發(fā)布時間:2021-12-16 17:34:10 來源:億速云 閱讀:243 作者:柒染 欄目:網(wǎng)絡安全

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

簡介

主要是向大家演示,如何找到物聯(lián)網(wǎng)(IOT)設備中的漏洞。查找以下命令注入的過程可以分為3個步驟,有點類似于100 point CTF challenge:下載二進制文件,運行字符串,跟蹤系統(tǒng)調(diào)用到原點的輸入。

DLINK DCS-5020L

“DCS-5020L無線N Day&Night云臺/傾斜云臺攝像機是一款日夜型網(wǎng)絡攝像機,可輕松連接到您現(xiàn)有的家庭網(wǎng)絡,并支持在各種移動設備上進行遠程觀看。 它具有平移,傾斜和數(shù)碼變焦功能,可讓您使用單臺相機查看更為廣闊的區(qū)域,內(nèi)置Wi-Fi擴展器,輕松擴展無線覆蓋范圍,夜視距離達5米,聲音和運動檢測終極的安心無憂,H.264視頻壓縮為高質(zhì)量的圖像?!?/p>

提取固件

與任何物聯(lián)網(wǎng)設備一樣,我們需要做的第一件事就是(如果我們有權訪問它)從固件映像中提取文件系統(tǒng)。而對于這種設備,第一次binwalk掃描不會顯示任何東西:

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

我們正在尋找的是某種形式的嵌入式文件系統(tǒng),比如squashfs。如果找不到它,通常是因為它被使用了分層壓縮。 我們需要做的就是使用-M選項,遞歸運行binwalk。最終,我們在2層壓縮下發(fā)現(xiàn)了cpio文件系統(tǒng)。

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

讓我們來查看下負責Web服務器的httpd二進制文件。

文件名:alphapd

Md5sum: ea622a926c435e4637f4852536aafa8c

漏洞

就像文章開頭所說的那樣,首先我們在二進制文件上運行字符串,看看會發(fā)生什么:

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

這些看起來像是傳遞給系統(tǒng)的命令。這里的'sed'命令非常有趣,看起來好像是從某個地方輸入的。下一步是跟蹤輸入,看看我們是否可以控制它。

我們可以看到這里有兩個引用我們感興趣的字符串的函數(shù)。

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

反過來,每個函數(shù)都在setFormDefineManagement中被引用:

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

這些都是我們可以發(fā)送請求的POST表單。 例如,如果我們以下面的形式更改密碼,我們向setSystemAdmin發(fā)出POST請求:

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

應該注意的是,您需要擁有管理員憑據(jù)才能訪問此頁面,稍后再介紹。還有一點需要注意的是,setSystemUserModify表單總是返回一個404,所以我們堅持分析setSystemAdmin。

因此,從sub_42DCCC開始,代碼將從非易失性RAM以及websGetVar中取值。

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

這里的一個關鍵信息是對CheckSystemVar的調(diào)用,這段代碼調(diào)用websGetVarCheck來處理大量的輸入值,包括AdminID。

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

然后websGetVarCheck調(diào)用checkVarString,如下所示:

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

這顯然只是一個switch/case結構。我們感興趣的值是AdminID,可以看到它的值必須小于13個字節(jié)。

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

所以我們知道AdminID的約束是它必須少于13個字節(jié)。完成所有這些后,通過格式字符串傳遞給我們的AdminID參數(shù)來調(diào)用DoSystem。

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

很顯然,攻擊者可以使用一個簡單的payload來躲避'sed'命令,比如‘`touch a`’。 另一個例子是AdminID=a’`telnetd`’,它允許用戶登錄為“a”,并將此視作新的root帳戶:

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

注意,我們使用空密碼登錄。

進一步說明

我們還發(fā)現(xiàn),我們可以通過在大多數(shù)密碼字段中發(fā)送長密碼,來對web server segfault。如果我們發(fā)送198個字節(jié),服務會發(fā)生段錯誤,并且會導致總線錯誤。

不過可惜的是,我找不到讓gdbserver進入設備的方法,因此也無法轉儲核心文件并抓取它。

以下是使用210A的DDNSPassword參數(shù)向/setSystemNetwork發(fā)出POST請求的示例。 

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

掌握憑據(jù)的攻擊者可以利用該漏洞,在攝像機的Web界面上導致其拒絕服務。如果我們能找到在設備上調(diào)試二進制文件的方法,也有可能做到RCE。

影響

目前,這些設備中有近7000個連接到互聯(lián)網(wǎng):

DLINK DCS-5020L無線云攝像機遠程代碼執(zhí)行漏洞的實例分析

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI