linux病毒木马分析,Linux平台“盖茨木马”分析
最近對(duì)Linux.BackDoor.Gates.6的一個(gè)病毒樣本進(jìn)行了分析,通過(guò)調(diào)查發(fā)現(xiàn)Linux蓋茨木馬是一類有著豐富歷史,隱藏手法巧妙,網(wǎng)絡(luò)攻擊行為顯著的DDoS木馬。這篇文章主要介紹了Linux蓋茨木馬的分析過(guò)程,同時(shí)會(huì)講解在Linux環(huán)境下惡意軟件分析的常用技巧和安全工具的使用方法。
蓋茨木馬整體情況
此類Linux木馬主要惡意特點(diǎn)是具備了后門程序,DDoS攻擊的能力,并且會(huì)替換常用的系統(tǒng)文件進(jìn)行偽裝。木馬得名于其在變量函數(shù)的命名中,大量使用Gates這個(gè)單詞。從網(wǎng)上公開資料可以看出,蓋茨木馬主要針對(duì)中國(guó)地區(qū)的服務(wù)器進(jìn)行DDoS攻擊,有95%的攻擊目標(biāo)都在中國(guó),排名第二的是美國(guó)。接下來(lái)會(huì)對(duì)蓋茨病毒的一個(gè)分支樣本,進(jìn)行更為細(xì)致的靜態(tài)分析和動(dòng)態(tài)分析。
靜態(tài)分析
3.1.ELF文件信息
在靜態(tài)分析中,首先會(huì)對(duì)文件類型進(jìn)行判斷,在Linux環(huán)境下,file工具[1]能夠?qū)LF類型進(jìn)行初步的判斷。例如下表中,通過(guò)文件信息,能夠得出該樣本是32位ELF可執(zhí)行程序,運(yùn)行于IntelCPU上,靜態(tài)鏈接。更重要的一個(gè)信息是,該樣本沒(méi)有除去符號(hào)表,這就為后續(xù)的逆向分析提供了豐富的調(diào)試信息。
MD5
6dfc7ea279b50b1f962523d517cd76fb
入口點(diǎn)
8048120
文件信息
ELF32-bitLSBexecutable,Intel80386,version1(SYSV),staticallylinked,forGNU/Linux2.2.5,notstripped
Tips:file命令可以識(shí)別文件類型。
3.2.導(dǎo)出符號(hào)分析
使用strings工具[2]可以從ELF文件中搜索ASCII字符串,可以發(fā)現(xiàn)一些IP信息,加載內(nèi)核命令,惡意攻擊函數(shù)名。
Tips:strings命令可以從二進(jìn)制文件中提取字符串。
IP信息如下:
"abaec 61.132.163.68",
"abafa 202.102.192.68",
"abb09 202.102.213.68",
"abb18 202.102.200.101",
"abb28 58.242.2.2",
"abb33 202.38.64.1",
"abb3f 211.91.88.129",
"abb4d 211.138.180.2",
"abb5b 218.104.78.2",
"abb68 202.102.199.68",
"abb77 202.175.3.3",
"abb83 202.175.3.8",
... ...
加載內(nèi)核模塊命令如下:
"aa3f2insmod/usr/lib/xpacket.ko"
函數(shù)名中含有惡意網(wǎng)絡(luò)攻擊的名稱:
{
"str": "11CAttackBase",
"offset": "a98fc"
},
{
"str": "13CPacketAttack",
"offset": "a990a"
},
{
"str": "10CAttackUdp",
"offset": "a9928"
},
{
"str": "10CAttackSyn",
"offset": "a9944"
},
{
"str": "11CAttackIcmp",
"offset": "a9960"
},
{
"str": "10CAttackDns",
"offset": "a997c"
},
這些IP信息和函數(shù)中的攻擊名稱很大程度會(huì)幫助殺毒軟件識(shí)別已知的病毒。
后續(xù)的靜態(tài)分析包括靜態(tài)反匯編,查找導(dǎo)入導(dǎo)出表等,因?yàn)槟嫦虻倪^(guò)程是一個(gè)動(dòng)靜結(jié)合的過(guò)程,反匯編部分計(jì)劃通過(guò)后續(xù)的動(dòng)態(tài)分析來(lái)展現(xiàn)。
動(dòng)態(tài)分析
因?yàn)闃颖緵](méi)有去掉符號(hào)信息,為反匯編和反編譯提供了很好的支持。該樣本從main()開始,共有4個(gè)主要的執(zhí)行分支:
樣本根據(jù)CSysTool::CheckGatesType()返回的結(jié)果分別會(huì)調(diào)用這4個(gè)函數(shù)。本文會(huì)首先分析CheckGatesType()的邏輯,然后主要對(duì)默認(rèn)情況進(jìn)行分析。
4.1.CheckGatesType()分析
在調(diào)用該函數(shù)之前,樣本會(huì)將變量g_strMonitorFile賦值為”/usr/bin/pythno” 。
首先,調(diào)用CUtility::GetModuleFullPath()獲得樣本的全路徑名稱。通過(guò)readlink(“/proc/{getpid()}/exe”) 得到。這個(gè)動(dòng)作會(huì)被strace[3]捕獲。
304520:10:41.345483readlink("/proc/3045/exe","/root/workspace/websevrer",1024)=25
Tips:strace命令可以捕獲程序使用的系統(tǒng)調(diào)用(包括參數(shù)、返回值和執(zhí)行時(shí)間等)以及接收到的signal。
其次,調(diào)用CSysTool::GetBackDoorFile()拼接出backdoor文件全路徑”/usr/bin/bsd-port/knerl”。
最后,CheckGatesType()的邏輯用表格表示為:
返回值
條件strcmp
0
樣本路徑==”/usr/bin/pythno”
2
樣本路徑==”/usr/bin/bsd-port/knerl”
3
樣本路徑==常用的系統(tǒng)工具
1
默認(rèn)情況
這里可以看出,當(dāng)樣本替換系統(tǒng)命令之后,執(zhí)行的行為和默認(rèn)情況是不同的。這里說(shuō)明樣本具有偽裝成系統(tǒng)工具的惡意能力。
總結(jié)
以上是生活随笔為你收集整理的linux病毒木马分析,Linux平台“盖茨木马”分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华山多少钱啊?
- 下一篇: linux wifi-tools,Lin