LKM Rootkit
Windows平臺木馬使用各種各樣的rootkit功能來實現(xiàn)自身目的已經(jīng)很長時間了。這些木馬之中就有不少是用來進行洪水攻擊的(從2006年開始,各種此類木馬的源代碼已經(jīng)陸續(xù)公開),在之前Botconf 2014時,我們就提交過一份關于此類木馬的分析報告:《中國雞:雄雞中的戰(zhàn)斗雞》(《中國肉雞:多平臺DDoS僵尸網(wǎng)絡》),在這篇報告中,老外詳細分析了一款國產(chǎn)木馬,墻裂建議閱讀。而我們目前分析的這款木馬主要功能就是在實現(xiàn)目的的同時隱藏自身的行蹤:
木馬會創(chuàng)建一個 rs_dev進程來檢查rootkit,并且通過ioctl函數(shù)來調用這些請求。
請求包含兩個參數(shù):一個是rootkit執(zhí)行任務的值,另一個則是需要隱藏的端口的值。下面是一個木馬隱藏TCP連接的實例(注意任務序列值為3):
我們從木馬的名稱來猜測,極有可能木馬的作者是受到開源項目Suterusu(https://github.com/mncoppola/suterusu)的啟發(fā),而且還借鑒了部分該項目的代碼(進程注入部分)。該項目的描述是這么說的:針對于 Linux 2.6/3.x on x86(_64), and ARM平臺的LKM rootkit。關于該項目的的分析可以戳這里:http://poppopret.org/2013/01/07/suterusu-rootkit-inline-kernel-function-hooking-on-x86-and-arm/
C&C通信分析
通信是雙向加密的,使用的是相同的XOR加密方式的硬編碼方式,秘鑰為BB2FA36AAA9541F0。通信過程中,/var/run/sftp.pid文件中包含一個唯一的長度為32位的字符串以識別不同的僵尸機器。下圖是一個C&C通信的命令列表,我們可以看到僵尸機器所監(jiān)聽的命令:開始洪水攻擊,結束洪水攻擊,下載文件,更新升級,發(fā)送進程md5值,殺死指定進程
在shell腳本中,C&C服務器列表是存儲在一個__remote__變量中的,該木馬首先將運行系統(tǒng)的參數(shù)發(fā)送給C&C服務器,而回復則是以一個命令的形式返回的。命令的報頭是一個長度為0x1C的字符串,該字符串存儲于Header變量中。第一個命令首先是停止所有攻擊,同時下達一個列表中的命令(命令重置)。下圖表示了整個命令,其中高亮圈出來的分別是:返回命令總長度(0x102C),任務序列值(0×3,這里對照上面的列表知道是_cmd_start)和洪水任務值(0xF):
小編推薦閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權,請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)