您好,登錄后才能下訂單哦!
DLINK DCS-5020L無線云攝像機遠程代碼執行漏洞的實例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
主要是向大家演示,如何找到物聯網(IOT)設備中的漏洞。查找以下命令注入的過程可以分為3個步驟,有點類似于100 point CTF challenge:下載二進制文件,運行字符串,跟蹤系統調用到原點的輸入。
“DCS-5020L無線N Day&Night云臺/傾斜云臺攝像機是一款日夜型網絡攝像機,可輕松連接到您現有的家庭網絡,并支持在各種移動設備上進行遠程觀看。 它具有平移,傾斜和數碼變焦功能,可讓您使用單臺相機查看更為廣闊的區域,內置Wi-Fi擴展器,輕松擴展無線覆蓋范圍,夜視距離達5米,聲音和運動檢測終極的安心無憂,H.264視頻壓縮為高質量的圖像。“
與任何物聯網設備一樣,我們需要做的第一件事就是(如果我們有權訪問它)從固件映像中提取文件系統。而對于這種設備,第一次binwalk掃描不會顯示任何東西:
我們正在尋找的是某種形式的嵌入式文件系統,比如squashfs。如果找不到它,通常是因為它被使用了分層壓縮。 我們需要做的就是使用-M選項,遞歸運行binwalk。最終,我們在2層壓縮下發現了cpio文件系統。
讓我們來查看下負責Web服務器的httpd二進制文件。
文件名:alphapd
Md5sum: ea622a926c435e4637f4852536aafa8c
就像文章開頭所說的那樣,首先我們在二進制文件上運行字符串,看看會發生什么:
這些看起來像是傳遞給系統的命令。這里的'sed'命令非常有趣,看起來好像是從某個地方輸入的。下一步是跟蹤輸入,看看我們是否可以控制它。
我們可以看到這里有兩個引用我們感興趣的字符串的函數。
反過來,每個函數都在setFormDefineManagement中被引用:
這些都是我們可以發送請求的POST表單。 例如,如果我們以下面的形式更改密碼,我們向setSystemAdmin發出POST請求:
應該注意的是,您需要擁有管理員憑據才能訪問此頁面,稍后再介紹。還有一點需要注意的是,setSystemUserModify表單總是返回一個404,所以我們堅持分析setSystemAdmin。
因此,從sub_42DCCC開始,代碼將從非易失性RAM以及websGetVar中取值。
這里的一個關鍵信息是對CheckSystemVar的調用,這段代碼調用websGetVarCheck來處理大量的輸入值,包括AdminID。
然后websGetVarCheck調用checkVarString,如下所示:
這顯然只是一個switch/case結構。我們感興趣的值是AdminID,可以看到它的值必須小于13個字節。
所以我們知道AdminID的約束是它必須少于13個字節。完成所有這些后,通過格式字符串傳遞給我們的AdminID參數來調用DoSystem。
很顯然,攻擊者可以使用一個簡單的payload來躲避'sed'命令,比如‘`touch a`’。 另一個例子是AdminID=a’`telnetd`’,它允許用戶登錄為“a”,并將此視作新的root帳戶:
注意,我們使用空密碼登錄。
我們還發現,我們可以通過在大多數密碼字段中發送長密碼,來對web server segfault。如果我們發送198個字節,服務會發生段錯誤,并且會導致總線錯誤。
不過可惜的是,我找不到讓gdbserver進入設備的方法,因此也無法轉儲核心文件并抓取它。
以下是使用210A的DDNSPassword參數向/setSystemNetwork發出POST請求的示例。
掌握憑據的攻擊者可以利用該漏洞,在攝像機的Web界面上導致其拒絕服務。如果我們能找到在設備上調試二進制文件的方法,也有可能做到RCE。
目前,這些設備中有近7000個連接到互聯網:
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。