作者:啟明星辰ADLab
一、基本功能簡述
現時針對物聯網設備的惡意軟件越來越普遍,一般來說針對物聯網設備的攻擊分為兩個方面:一方面是通過自動化工具使用密碼字典嘗試批量猜解物聯網設備的管理員帳號及密碼,導致攻擊者可以輕易訪問物聯網設備(物聯網設備被攻擊者控制);另一方面是因為物聯網設備存在安全性漏洞,攻擊者利用漏洞來對設備進行攻擊,達到控制設備的目的。被控制的物聯網設備往往會被攻擊者集中起來,組建僵屍網路,從而發起DDoS攻擊。
近日,Palo Alto Networks的研究人員發現了Linux僵屍網路Tsunami的新變種,並命名為Amnesia。Amnesia即為通過利用漏洞來對物聯網設備進行攻擊的惡意軟件,Amnesia也是首個採用虛擬機器檢測科技來躲避惡意軟件分析沙箱的Linux嵌入式惡意軟件。Amnesia僵屍網路允許攻擊者利用遠程程式碼執行漏洞對未打補丁的數位視訊錄影機設備發起攻擊。該遠程程式碼執行漏洞由安全專家Rotem Kemer在2016年3月22日披露,其中全球大概70多家廠商受到影響,這些廠商均使用了由TVT Digital(深圳同為)生產的設備。根據現時的掃描數據,全球有227000臺設備受此漏洞影響,主要受影響的國家和地區包括:中國臺灣、美國、以色列、土耳其和印度。
本次發現的Amnesia僵屍網路運行在PowerPC架構上,首先攻擊者通過暴力猜解或者其他手段感染DVR設備,使Amnesia惡意程式碼在DVR上開始運行,當Amnesia運行後,它會連接遠程C&C,並根據控制指令中指定的IP範圍掃描網絡中的其他DVR設備進行傳播。
二、逆向分析描述
1.反虛擬機器
Amnesia是首個採用虛擬機器檢測科技來躲避惡意軟件分析沙箱的Linux嵌入式惡意程式碼。針對Windows或安卓的惡意軟件常常會採用虛擬機器檢測科技來躲避沙箱環境的分析,然而該科技在Linux嵌入式系統上卻很少採用。當僵屍網路Amnesia發現自身運行於VirtualBox、VMware或QEMU虛擬機器中,它將删除系統中的所有檔案來阻礙惡意軟件分析沙箱的正常運行。
Linux系統中的/sys/class/dmi/id目錄裏存放了主機的相關硬體資訊,包括產品資訊、主機板資訊、Bios資訊等,Amnesia就是通過讀取該目錄中的檔案獲取當前主機的硬體資訊。當Amnesia運行時會讀取/sys/class/dmi/id/product_name和/sys/class/dmi/id/sys_vendor檔案,並匹配其中是否包含關鍵字“VirtualBox”、“VMware”和“QEMU”來判斷當前目標系統是否為虛擬機器。當檢測到當前主機為虛擬機器時,Amnesia將開啟自我删除,並删除Linux根目錄、當前用戶主目錄、工作目錄,這些删除操作相當於擦除整個Linux系統,會對整個系統造成損害。
/sys/class/dmi/id
/sys/class/dmi/id/product_name
/sys/class/dmi/id/sys_vendor
2.主要行為
當目標系統不是虛擬機器環境時,Amnesia會執行命令來更改系統限制。其中主要命令包括:
當目標系統不是虛擬機器環境時,Amnesia會根據當前用戶的許可權將自身拷貝到/etc/init.d/.reboottime和/etc/cron.daily/.reboottime,然後修改用戶目錄下的.bashrc、.bash_profile檔案,實現自身隨系統啟動運行。Amnesia會殺死與Telnet及SSH相關的行程,來防止管理員或其他攻擊者通過遠端存取來控制設備。將自身寫入到用戶目錄下.bashrc、.bash_profile實現隨系統啟用運行。殺死與Telnet相關行程。殺死與SSH相關行程。
/etc/init.d/.reboottime
/etc/cron.daily/.reboottime
.bashrc、.bash_profile
.bashrc、.bash_profile
3.控制指令
Amnesia採用IRC協定與C&C進行通信,其中支持的控制指令較多,而且包括許多與DDoS攻擊相關的指令。通過對控制命令的進一步分析,發現Amnesia使用了與Tsunami惡意程式碼相同的控制指令,也進一步印證了Amnesia為Tsunami的新變種。
4.漏洞利用
在控制指令中包括兩個特殊的指令CCTVSSCANNER和CCTVPROCS。其中,CCTVSSCANNER用來掃描DVR設備,CCTVPROCS用來對存在漏洞的設備進行攻擊。
當Amnesia收到CCTVSSCANNER指令時,Amnesia會構造請求向指定的IP地址發起連接,然後讀取返回內容,如果返回內容中包括“Cross Web Server”,則表示該DVR設備存在。Amnesia會構造請求並在請求中加入要遠程執行的shell命令發起對DVR設備的訪問。(其中{IFS}&&shell,由於Swedish不存在,所以會執行tar -zxf /mnt/mtd/WebSites/language.tar.gz Swedish && shell命令 /* -C /nfsdir/language命令。即Swedish後面連接的shell命令會被執行,這就導致了遠程命令執行。(關於該漏洞的詳細資訊可參閱http://www.kerneronsec.com/2016/02/remote-code-execution-in-cctv-dvrs-of.html)
tar -zxf /mnt/mtd/WebSites/language.tar.gz Swedish && shell命令 /* -C /nfsdir/language
TVT DVR設備處理請求時的程式碼調用圖如下:
三、總結
隨著越來越多的物聯網設備連接至互聯網,那些不安全的物聯網設備正在成為威脅實施者眼中唾手可得並可輕鬆利用的成熟果實。正如臭名昭著的Mirai僵屍網路,針對網絡監視器和家庭路由器等設備中的登入漏洞進行攻擊利用,發起了迄今為止已知的規模最大的DDoS攻擊。如果物聯網設備製造商不能確保其設備的絕對安全,對數字經濟的潜在影響將是毀滅性的。
四、IOC
C&C:
Sample SHA-256:
啟明星辰積極防禦實驗室(ADLab)
ADLab成立於1999年,是中國安全行業最早成立的攻防技術研究實驗室之一,微軟MAPP計畫核心成員。截止目前,ADLab通過CVE發佈Windows、Linux、Unix等作業系統安全或軟件漏洞近300個,持續保持亞洲領先並確立了其在國際網路安全領域的覈心地位。實驗室研究方向涵蓋作業系統與應用系統安全研究、移動智慧終端安全研究、物聯網智慧設備安全研究、Web安全研究、工控系統安全研究、雲安全研究。研究成果應用於產品核心技術研究、國家重點科技專案攻關、專業安全服務等。
本文由Seebug Paper發佈,如需轉載請注明來源。本文地址:https://paper.seebug.org/302/