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