- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
近期,一款專(zhuān)門(mén)針對IoT設備的惡意軟件開(kāi)始暗中活動(dòng),它被命名為SBIDIOT,造成的主要威脅是分布式拒絕服務(wù)(DDos)攻擊。目前它在 VirusTotal上的檢測數量相對較少,并且網(wǎng)絡(luò )安全社區也暫時(shí)沒(méi)有和它相關(guān)的充分記錄。盡管某些物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò )專(zhuān)門(mén)從事加密貨幣挖掘或欺詐活動(dòng),但與SBIDIOT惡意軟件相關(guān)聯(lián)的僵尸網(wǎng)絡(luò )幾乎完全致力于DDoS攻擊。
本文將揭示SBIDIOT如何與目標進(jìn)行通信,以及它支持什么類(lèi)型的命令。分享這些信息將有助于檢測威脅,從而在威脅行為發(fā)生前及時(shí)阻止
一、SBIDIOT惡意軟件分析
SBIDIOT惡意軟件的傳播依賴(lài)于IoT設備使用的過(guò)時(shí)固件中的漏洞。似乎很大一部分受感染的設備是運行較舊固件版本的ZTE路由器,該固件版本易受遠程代碼執行(RCE)漏洞的影響。在那些受感染設備上可以觀(guān)察到,shell腳本一旦通過(guò)各種方式傳遞到受害機器上便會(huì )下載并執行二進(jìn)制有效負載:
獲得的樣本:
e2b3ca0a97107fa351e39111c80b3fef……41eabe845af4b9 使用了標準UPX工具打包,不過(guò)UPX頭有做修改。雖然惡意樣本仍然是可執行的,但不再可能使用相同的工具直接解包它:
正如下圖中看到簽名的,UPX! 被一個(gè)自定義的簽名 YTS\x99 替代了:
所以修復它后才能夠使用標準的UPX工具解包:
分析中發(fā)現威脅特征非常常見(jiàn),其中DDoS的部分代碼與Gafgyt等其他惡意軟件家族是共享的。
考慮到樣本是靜態(tài)鏈接并且被剝離了符號表的,針對物聯(lián)網(wǎng)的惡意軟件幾乎都是這樣,下一步是為uClibc加載FLIRT簽名,使分析更容易。uClibc是一個(gè)小型的C標準庫,通常用于基于Linux內核的嵌入式設備,物聯(lián)網(wǎng)惡意軟件開(kāi)發(fā)人員也經(jīng)常使用它以方便交叉編譯。FLIRT簽名本質(zhì)上是一種逆向工程工具(如IDA)用來(lái)匹配已知庫的方法,它可以極大地加快分析過(guò)程。分析中發(fā)現威脅特征非常常見(jiàn),其中DDoS的部分代碼與Gafgyt等其他惡意軟件家族是共享的。
使用FLIRT可以識別出大量的函數
樣本在執行之后,嘗試連接到其C2,在本例中,C2是硬編碼到二進(jìn)制文件中的IP地址和端口。盡管C2服務(wù)器在分析期間無(wú)法提供服務(wù),但可以強制樣本與自主搭建的C2服務(wù)器通信。再加上一些靜態(tài)分析,也足以實(shí)現模擬交互。
樣本中負責處理命令的函數將從C2服務(wù)器接收到的每個(gè)命令與以下字符串進(jìn)行比較,也就是總共能夠執行16個(gè)從C2服務(wù)器接收的命令。
二、SBIDIOT支持的命令
TCP命令要求bot在指定的時(shí)間間隔內向指定的主機/端口組合發(fā)送TCP 報文。此外,它還允許操作者設置一些可選的TCP標志。
上圖展示了TCP命令處理程序中支持的自定義TCP標志
HTTPSTOMP
它接受的參數包括HTTP方法、主機/端口組合、攻擊持續時(shí)間和指定重復此操作次數的計數。如果攻擊沒(méi)有被超過(guò)指定的持續時(shí)間和請求數,該函數將使用提供的設置和隨機選擇的User-Agent字符串繼續執行HTTP請求。
下圖是硬編碼的User-Agent字符串列表
HTTPSTOMP命令處理程序:
此外,程序中還會(huì )調用另一個(gè)函數來(lái)發(fā)起對主機名/端口/cdn-cgi/l/chk_captcha URI的HTTP請求,同樣,也可以配置攻擊持續時(shí)間和請求計數。這樣做是為了規避CloudFlare保護機制。
VSE
用于DDoS的另一個(gè)命令,根據提供的參數,它使用UDP或原始套接字。同樣,可以提供目標和攻擊持續時(shí)間的參數,但是攻擊者還可以指定發(fā)送到目標的數據包之間的時(shí)間間隔。Gafgyt的變種和其他物聯(lián)網(wǎng)惡意軟件偶爾會(huì )使用一個(gè)VSE命令,用來(lái)瞄準運行Valve Source引擎的服務(wù)器。
下圖是實(shí)現時(shí)間間隔的VSE命令處理程序的代碼片段:
VOX
VOX命令以主機、端口和攻擊持續時(shí)間作為參數,然后從三種硬編碼有效負載中隨機選擇一個(gè)發(fā)送UDP數據包。
下圖是包含硬編碼有效負載的惡意UDP流量
UDP
樣本會(huì )將UDP有效負載發(fā)送到目標主機的指定端口,其他參數包括攻擊持續時(shí)間和生成的有效負載的最大大小。由于使用了strlen函數,負載的實(shí)際大小可能會(huì )比通過(guò)strlen得到的更小,因為該函數是從內存的某個(gè)位置(可以是字符串開(kāi)頭,中間某個(gè)位置,甚至是某個(gè)不確定的內存區域)開(kāi)始掃描,直到碰到第一個(gè)字符串結束符'\0'為止,然后返回計數器值(長(cháng)度不包含'\0')。
命令處理程序驗證UDP參數的部分代碼:
HEX / STD / R6 / NFO / FN / OVHKILL / NFOKILL / UDPH
以上所有命令調用相同的處理函數,該函數接收主機名、端口和攻擊持續時(shí)間,然后開(kāi)始生成具有固定負載的UDP流量。
STOP/stop/Stop
這個(gè)命令向當前被跟蹤的所有進(jìn)程id發(fā)送一個(gè)SIGKILL信號,停止指定進(jìn)程的任何子進(jìn)程。
三、相關(guān)C&C
2021年出現的33個(gè)C&C IP地址在全球的分布如下,可以看出主要集中在美國和一些歐洲城市。
其他常用的文件名:
連接到互聯(lián)網(wǎng)的IoT設備數量正在急速增長(cháng),新的惡意軟件家族以及現有惡意軟件的變種會(huì )定期出現。無(wú)論這些惡意軟件的復雜性如何,它們都將構成威脅。
四、小結
因此對于用戶(hù)而言,強烈建議:1、 使用IoT設備時(shí)立即更改默認密碼。2、定期檢查固件版本并及時(shí)更新。3、如無(wú)必要需求,不要將IoT設備端口向互聯(lián)網(wǎng)開(kāi)放。4、關(guān)鍵環(huán)境中部署檢測、防護設備。
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP