Torii:打不死的隱祕IoT殭屍網路
新IoT殭屍網路潛伏周圍,同時執行6個不同例程以實現長期隱蔽駐留。
因為陷入蜜罐的某些例項出自Tor已知節點,該IoT殭屍網路得名Torii。其攻擊目標涵蓋多種架構,但功能中似乎並未含有DDoS、垃圾郵件或加密貨幣挖礦等IoT殭屍網路常見的惡意功能。
不過,該殭屍網路的資訊滲漏功能強大而豐富,還有可通過多層加密通訊獲取並執行指令及檔案的模組化架構。
安全公司Avast發現,Torii至少自2017年12月起開始活躍,可感染MIPS、ARM、x86、x64、PowerPC、SuperH、Motorola 68k 等架構驅動的裝置。該惡意軟體對遠端登入(Telnet)協議弱憑證下手,初步入侵後執行Shell指令碼以確定裝置的架構,並通過HTTP或FTP下載合適的攻擊載荷。
Shell指令碼會去取作為第二階段載荷釋放器的二進位制檔案,該ELF檔案通過多種方式嘗試實現長期駐留。二段攻擊載荷包含在該ELF檔案中,被安裝到主機系統的偽隨機位置。
載荷執行後,釋放器通過6種不同方法實現駐留:
1) 注入程式碼到環境變數設定檔案~\.bashrc;
2) 定時任務裡新增“@reboot”重啟語句;
3) 作為系統守護服務由systemd新增到開機啟動中;
4) 寫入 /etc/init 和環境變數PATH;
5) 修改SELinux策略管理;
6) 新增到初始化程序配置檔案/etc/inittab中。
作為成熟的殭屍主機,第二階段可以執行取自命令與控制(C&C)伺服器的指令。該惡意軟體還具備簡單的反除錯技術、資料滲漏、多級通訊加密和其他功能。
因為第二階段的很多功能在釋放器中也存在,Avast的安全研究員認為,釋放器與第二階段攻擊載荷都是同一個程式員開發的。不過,釋放器中的程式碼不隨目標架構而改變,對所有架構都使用同一套程式碼;第二階段攻擊載荷則根據目標硬體架構不同,程式碼略有差異。
該惡意軟體的反分析方法比較簡單,只是在執行後睡眠60秒,以及嘗試隨機化程序名以規避程序黑名單檢測。其作者還刪除了可執行檔案中的符號,給軟體分析製造困難。
C&C地址以異或(XOR)金鑰字元的方式簡單加密,每個Torii變體都預留了3個C&C地址。自9月15日期,這些域名都解析到 66.85.157.90 ,該IP地址上還託管有其他可疑域名。惡意軟體與C&C伺服器的通訊經由 TCP 443 埠進行。
連線C&C伺服器時,Torii會將主機名、程序ID、第二階段可執行檔案的路徑 、/sys/class/net/%interface_name%/address 中所有MAC地址機器MD5雜湊值、呼叫uname()獲取到的資料(作業系統名、版本、發行版號、機器ID號),以及其他指令收集到的額外資訊,都滲漏出來。
該惡意軟體不斷輪詢伺服器是否有需要執行的指令,接收指令並執行後返回指令的執行結果。
在攻擊者的FTP伺服器上發現的另一個二進位制檔案 sm_packed_agent 可以用來向目標裝置傳送遠端指令。該檔案以Go語言編寫,重編譯和平臺遷移很方便,而且可以作為後門或服務協調多臺機器。
儘管我們的調查仍在繼續,Torii很明顯是IoT惡意軟體進化的一個樣本,其複雜性超越了我們以往所見。Torii一旦感染主機,不僅僅會向C&C傳送有關受害主機的大量資訊,還會通過與C&C的通訊執行任意程式碼或投放任意攻擊載荷。在不遠的將來,Torii可能會演進為模組化的平臺。
Avast披露部落格:
ofollow,noindex">https://blog.avast.com/new-torii-botnet-threat-research