當前位置:
首頁 > 新聞 > 「IOT幽靈」樣本分析報告:物聯網殭屍網路的監測與分析

「IOT幽靈」樣本分析報告:物聯網殭屍網路的監測與分析

背景


近年來,國家高度重視物聯網的發展,物聯網已經上升為國家戰略產業。隨著物聯網的普及,規模的擴大,安全問題也必然隨之而來。

16年10月,Mirai利用物聯網設備發動一起規模龐大的DDoS攻擊,引起了人們對物聯網安全問題的重視。


近日,蜜罐系統捕獲到與Mirai具有相同特點的攻擊樣本(Backdoor.Linux.Gafgyt,下面簡稱「Gafgyt」)。Gafgyt於 2014 年 8 月第一次被發現,2014 年末LizardSquard ( 黑客組織 ) 利用該樣本發起一起DDoS引起安全界的小範圍關注。 2015 年 1 月 Gafgyt 的源代碼被公開,出現越來越多的變種,安全威脅日趨嚴重。


蜜罐告警


7月13日,蜜罐系統監測到大量的telnet爆破事件



截止7月30號,兩周共捕獲到Gafgyt新變種樣本28個



我們統計了蜜罐最近一周telnet埠受到的攻擊次數



























































攻擊來源 攻擊次數 百分比 IP歸屬地
180.163.192.211 222530 21.76% 上海市
84.244.31.8 76573 7.48% 俄羅斯
85.154.111.67 69943 6.84% 阿曼
122.54.169.122 61161 6.10% 菲律賓
71.227.146.158 46205 4.52% 美國
195.22.126.166 25567 2.50% 波蘭
93.87.168.206 15316 1.50% 塞爾維亞
61.48.40.26 15027 1.47% 北京市
151.65.163.68 12691 1.24% 義大利
178.132.2.114 11154 1.10% 俄羅斯

行為分析


Gafgyt逐漸演變成一個龐大的家族,樣本支持X86-64/ARM/MIPS/PowerPC/Motorola68000/SPARC/SuperH等多個不同平台,每個樣本的上線(主控)IP也各不相同。




















MD5 運行平台 主控IP
521fd3a64c9d50fb5cf88c306572ef24 ARM 185.

.

.25:444
5d8c1884e29ea1cfa81bf59079702d75 X86 185.

.

.117:23
2d764a26d6bcbcabf1d87c94ca43d6cf ARM 104.

.

.150:444

我們重點分析了X86平台的變種(其它平台變種程序邏輯相同),首先看一下程序運行邏輯:



樣本運行後,首先將自身進程改名,偽裝成/usr/sbin/dropbear(類似SSH服務),這是Linux下木馬慣用伎倆,目的是讓TOP或PS命令所看到的進程路徑和樣本實際路徑不同,運維人員可能較容易發現可疑進程,但找到樣本 實際路徑需要費點功夫,增加了手工查殺的難度。



然後和主控端建立連接,連接後發送上線信息。


並創建埠監聽,接收並處理主控端發送的指令。


樣本包含15條通信指令




















































指令 含義
PING 心跳包,響應回復「PONG」
GETLOCALIP 獲取本地ip
SCANNER 開始掃描
HOLD 和指定ip保持連接
JUNK 發送垃圾數據
UDP UDP攻擊
TCP TCP攻擊
HTTP HTTP攻擊
CNC 同指定ip建立連接
COMBO 調用JUNK/HOLD兩處函數
KILLATTK 結束所有任務
FATCOCK 刪除一些文件
GTFOFAG 結束自身進程
DUPPP 結束自身進程
SH 執行命令

下圖是PING、SH兩條指令的代碼截圖:




比較特殊的是SCANNER指令,當一個Bot端接收到這個指令時,將啟動一個子進程(以fork方式),該子進程在與主控端失聯的情況下,依然對公網隨機IP的23埠進行掃描爆破,除非接收到KILLATTK/GTFOFAG/ DUPPP指令。


接下來讓我們一起看看掃描爆破的流程是怎樣的,一提到掃描爆破,很多人會想到高效的掃描工具+強大的密碼字典,是黑客必備工具。但該樣本的密碼字典卻出奇的簡單(28個常見用戶名、密碼),如下圖:



看到上圖,你可能立即想問:這麼簡單的字典能爆破什麼東東啊?

在分析樣本時我們也有相同的疑問,按照以往的經驗,黑客用來爆破SSH/Telnet的字典數量一般在幾百到2000左右,這個樣本採用少量的密碼字典,推測一是跟大範圍的掃描公網IP,字典少掃描效率相對較高;二是和病毒作者想攻擊的目標有關——IoT設備,互聯網上存在大量的IOT設備(開啟Telnet 23埠)使用默認或簡單的密碼,說明這些設備的使用者安全意識比較薄弱,拿下這些設備反而能作為長期「肉雞」來使用。


以上只是我們的推測,歡迎各位大神拍磚,交流下不同的看法。


掃描開始之前會通過調用getrlimit函數計算一下最大能同時打開的文件數,並將該值的四分之三作為同時掃描的最大ip數,防止並發連接數過多,影響被感染設備正常運轉,避免被用戶察覺。



並且會建立一個結構體數組,數組元素如下圖所示:



每個元素裡面記錄了掃描目標和掃描中的一些狀態。


對於每個ip,從開始掃描到成功最多經歷9個狀態變化。對每個狀態作不同的處理:


case 0

:生成公網ip 嘗試連接


如果成功連接會將該ip的狀態設置為1;如果失敗,則將更換ip標誌置1,下一輪循環的時候,重新生成目標ip。


case 1

:設置socket狀態


檢查socket是否可寫,並設置一些掃描過程中需要的標誌。


case 2

:是否需要輸入賬號



檢查是否需要輸入賬號密碼,如果不需要則下一輪循環直接跳到狀態7,開啟shell。


case 3

:發送爆破賬號


成功則進入狀態4;否則跳回狀態0。


case 4

:判斷是否需要密碼 判斷賬號是否正確



判斷目標的telnet是否需要輸入密碼,如果需要,則進入狀態5;如果不需要輸入密碼,則直接跳到狀態7,開啟shell;出錯則跳回狀態0。


case 5

:輸入密碼


成功則進入狀態6;否則跳回狀態0


case 6

:判斷密碼是否正確



判斷密碼是否正確,如果不正確的話,換下一個密碼,繼續嘗試連接。密碼正確則進入狀態7。


case 7

:開啟shell



case 8

:發送下載的指令 上傳賬號密碼


開啟shell後,向目標主機發送下載指令,同時向主控端發送,發送下載指令時間間隔小於8秒,程序認為指令發送成功,並認為本次賬號+密碼+IP爆破成功,並且打開了shell。


向目標機發送下載的指令。這樣,目標也被感染木馬。


流量截圖



程序會將成功爆破的主機信息(IP+Username+Password)發送到主控端。


後續


物聯網(IOT)已經走入我們的生活,相信不久的將來,我們會越來越依賴物聯網的普及所帶來的方便與快捷,而黑客也把物聯網作為新的攻擊目標,攻擊規模會日益擴大。所以,物聯網安全值得我們每一個人去關注。


*本文原創作者:水滴安全實驗室,屬於FreeBuf原創獎勵計劃,禁止轉載。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

知道創宇趙偉:單打獨鬥非好漢,合作方能成就未來
常見的WiFi攻擊技術及檢測方法總結
ACHE:一款功能強大的聚焦型網路爬蟲

TAG:FreeBuf |