物聯(lián)網(wǎng)取證之某國產(chǎn)攝像頭入侵事件取證實踐
0x01 取證背景
近日,實驗室部署的天穹威脅監(jiān)測系統(tǒng)監(jiān)測到IoT蜜罐系統(tǒng)中的某視攝像頭遭受了外部的一次成功攻擊。實驗室相關(guān)人員對該次成功攻擊事件展開了取證實踐,順利獲取到攻擊樣本,并以此展開深入取證分析。
0x02取證過程
1. 取證環(huán)境完善
為了進一步獲取到有效的線索,我方研究人員通過公司自研的物聯(lián)網(wǎng)取證系統(tǒng)獲取到了該攝像頭的Linux Root Shell。由于該設(shè)備自帶的Busybox已經(jīng)過廠商裁剪,部分取證所需命令缺失,于是上傳相應(yīng)架構(gòu)的完整Busybox用于后續(xù)取證。
2. 系統(tǒng)環(huán)境檢查
首先,針對設(shè)備文件系統(tǒng)進行了檢查,特別是/tmp目錄,均未發(fā)現(xiàn)可疑的新增文件。因為物聯(lián)網(wǎng)設(shè)備常用的文件系統(tǒng)如squashfs等屬于只讀文件系統(tǒng),攻擊者無法將惡意程序上傳到此文件系統(tǒng)內(nèi),而/tmp目錄對應(yīng)的則是一種臨時文件系統(tǒng)tmpfs,該文件系統(tǒng)是一種基于內(nèi)存的文件系統(tǒng),可允許寫入操作,所以一般攻擊者常見的操作是會將惡意程序放置在此目錄然后運行。
于是,想到另一種可能即程序在運行起來后會被刪除,查看進程信息,找到了如下圖所示的可疑進程,查看/proc目錄下該進程的exe文件,發(fā)現(xiàn)該程序是從/tmp目錄啟動的,具有非常大的可疑性。
至此,我方研究人員在設(shè)備中發(fā)現(xiàn)了一個原始二進制程序被刪除且從/tmp目錄啟動的程序,該程序具有極大的可疑性,于是立即對此證據(jù)進行固定,以便后續(xù)展開詳細的分析。
3. 可疑證據(jù)固定
由于設(shè)備存在重啟導(dǎo)致進程結(jié)束的可能性,也為了進一步對線索展開更深入的分析,需將可疑程序外傳至可控環(huán)境中。
我們使用工具nc來實現(xiàn)將證據(jù)外傳至服務(wù)器,首先在設(shè)備端通過nc監(jiān)聽某一端口并將樣本程序重定向至該通道,接著在可控服務(wù)器端通過nc連接該設(shè)備監(jiān)聽的端口并將結(jié)果重定向至新文件,最終完成從設(shè)備上將可疑證據(jù)外傳至我方服務(wù)器上,為后續(xù)證據(jù)有效性分析提供環(huán)境。
4. 證據(jù)有效性確認
雖然通過查看系統(tǒng)進程信息發(fā)現(xiàn)一個從可寫目錄/tmp啟動的進程,并且原始二進制程序在啟動后被刪除,具有較大的可疑性,但還需對該程序做更深入的分析來判斷其是否真正具有惡意行為,以及程序的具體行為來協(xié)助我們后期對該事件進行溯源。
程序信息
通過file?命令查看程序基本信息,發(fā)現(xiàn)該程序未被stripped。
靜態(tài)分析
- 構(gòu)造回連C&C的HTTP請求
a.根據(jù)程序啟動時外部參數(shù)個數(shù)不同,構(gòu)造不同的uri
b. 通過ioctl函數(shù)獲取設(shè)備網(wǎng)卡mac地址,并拼接到uri尾部
c.獲取當前程序運行路徑拼接到uri尾部
- 向C&C發(fā)送請求獲取響應(yīng)
a. 構(gòu)造發(fā)送到C&C的HTTP請求
b. 發(fā)送請求并接收響應(yīng)
- 解析響應(yīng)數(shù)據(jù)獲取下發(fā)的命令,該C&C響應(yīng)內(nèi)容有3個字段,通過A、B、C三個字段進行區(qū)分,其中A字段為循環(huán)請求C&C的睡眠時間;B字段為攻擊者指定的反彈shell的地址;C字段為攻擊者下發(fā)的命令
a. 提取字段A的內(nèi)容
b. 提取字段B的內(nèi)容,根據(jù)后續(xù)分析,字段B表示的是反彈目標的IP和端口
c. 提取字段C的內(nèi)容,根據(jù)后續(xù)分析,字段C是攻擊者下發(fā)的命令
- 執(zhí)行攻擊者下發(fā)的命令
反彈shell到目標地址,shell_func函數(shù)的參數(shù)v12根據(jù)其在棧中的位置推算,與data_paste函數(shù)第一個參數(shù)v11相差8個字節(jié),而v11+8是在data_paste函數(shù)中存儲了B字段中的IP內(nèi)容,v12[10]即v11+8+2x10則是在data_paste函數(shù)中存儲了B字段中的port內(nèi)容。
- 等待攻擊者指定的時間后再繼續(xù)請求任務(wù)
動態(tài)分析
模擬C&C任務(wù)下發(fā)服務(wù)以及反彈shell監(jiān)聽,實際運行效果與我們靜態(tài)分析一致。
分析總結(jié)
該樣本功能較為簡單,但基本滿足攻擊者對受控設(shè)備的持久化控制需求,首先通過向C&C服務(wù)器獲取任務(wù)信息,任務(wù)分為3塊內(nèi)容,第一為程序該次請求到下次請求的等待時間;第二是攻擊者下發(fā)的命令;第三則是指定受控設(shè)備反彈shell的目標地址。接著會通過sh -c執(zhí)行攻擊者下發(fā)的命令,再反彈shell到指定的地址,最后sleep指定的時間,此后繼續(xù)循環(huán)。
0x03 取證總結(jié)
此次取證實踐起因是天穹威脅監(jiān)測系統(tǒng)檢測到蜜罐系統(tǒng)中某攝像頭遭受到一次成功攻擊,我方研究人員利用設(shè)備漏洞獲取到系統(tǒng)權(quán)限,之后檢查了系統(tǒng)多種運行環(huán)境,發(fā)現(xiàn)了一可疑進程,固定了可疑進程的二進制程序進行了深入分析,最終摸清了攻擊者所植入的木馬的具體行為。
銀彈實驗室研究團隊專注于物聯(lián)網(wǎng)+關(guān)鍵信息基礎(chǔ)設(shè)施的硬件、固件、無線電、云平臺、App等方面的安全漏洞研究與解決方案制定。團隊持續(xù)完善自身的安全能力矩陣以應(yīng)對層出不窮的安全挑戰(zhàn),現(xiàn)已具備成熟的二進制逆向分析、漏洞挖掘、攻擊誘捕、 安全評估、藍軍演練、溯源取證、應(yīng)急處理等安全能力。
目前,上述安全能力已成功應(yīng)用于物聯(lián)網(wǎng)固件安全檢測、物聯(lián)網(wǎng)攻擊事件監(jiān)測、大規(guī)模IoT僵尸網(wǎng)絡(luò)監(jiān)測、APT檢測與監(jiān)測、物聯(lián)網(wǎng)攻擊溯源與取證、物聯(lián)網(wǎng)安全測評、物聯(lián)網(wǎng)安全培訓(xùn)等產(chǎn)品或服務(wù),并與多家政府和企事業(yè)單位在物聯(lián)網(wǎng)與關(guān)基安全領(lǐng)域展開長期合作,獲得了合作伙伴和客戶的高度認可。