linux病毒木马分析,Linux平台“盖茨木马”分析
最近對Linux.BackDoor.Gates.6的一個病毒樣本進行了分析,通過調查發現Linux蓋茨木馬是一類有著豐富歷史,隱藏手法巧妙,網絡攻擊行為顯著的DDoS木馬。這篇文章主要介紹了Linux蓋茨木馬的分析過程,同時會講解在Linux環境下惡意軟件分析的常用技巧和安全工具的使用方法。
蓋茨木馬整體情況
此類Linux木馬主要惡意特點是具備了后門程序,DDoS攻擊的能力,并且會替換常用的系統文件進行偽裝。木馬得名于其在變量函數的命名中,大量使用Gates這個單詞。從網上公開資料可以看出,蓋茨木馬主要針對中國地區的服務器進行DDoS攻擊,有95%的攻擊目標都在中國,排名第二的是美國。接下來會對蓋茨病毒的一個分支樣本,進行更為細致的靜態分析和動態分析。
靜態分析
3.1.ELF文件信息
在靜態分析中,首先會對文件類型進行判斷,在Linux環境下,file工具[1]能夠對ELF類型進行初步的判斷。例如下表中,通過文件信息,能夠得出該樣本是32位ELF可執行程序,運行于IntelCPU上,靜態鏈接。更重要的一個信息是,該樣本沒有除去符號表,這就為后續的逆向分析提供了豐富的調試信息。
MD5
6dfc7ea279b50b1f962523d517cd76fb
入口點
8048120
文件信息
ELF32-bitLSBexecutable,Intel80386,version1(SYSV),staticallylinked,forGNU/Linux2.2.5,notstripped
Tips:file命令可以識別文件類型。
3.2.導出符號分析
使用strings工具[2]可以從ELF文件中搜索ASCII字符串,可以發現一些IP信息,加載內核命令,惡意攻擊函數名。
Tips:strings命令可以從二進制文件中提取字符串。
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",
... ...
加載內核模塊命令如下:
"aa3f2insmod/usr/lib/xpacket.ko"
函數名中含有惡意網絡攻擊的名稱:
{
"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信息和函數中的攻擊名稱很大程度會幫助殺毒軟件識別已知的病毒。
后續的靜態分析包括靜態反匯編,查找導入導出表等,因為逆向的過程是一個動靜結合的過程,反匯編部分計劃通過后續的動態分析來展現。
動態分析
因為樣本沒有去掉符號信息,為反匯編和反編譯提供了很好的支持。該樣本從main()開始,共有4個主要的執行分支:
樣本根據CSysTool::CheckGatesType()返回的結果分別會調用這4個函數。本文會首先分析CheckGatesType()的邏輯,然后主要對默認情況進行分析。
4.1.CheckGatesType()分析
在調用該函數之前,樣本會將變量g_strMonitorFile賦值為”/usr/bin/pythno” 。
首先,調用CUtility::GetModuleFullPath()獲得樣本的全路徑名稱。通過readlink(“/proc/{getpid()}/exe”) 得到。這個動作會被strace[3]捕獲。
304520:10:41.345483readlink("/proc/3045/exe","/root/workspace/websevrer",1024)=25
Tips:strace命令可以捕獲程序使用的系統調用(包括參數、返回值和執行時間等)以及接收到的signal。
其次,調用CSysTool::GetBackDoorFile()拼接出backdoor文件全路徑”/usr/bin/bsd-port/knerl”。
最后,CheckGatesType()的邏輯用表格表示為:
返回值
條件strcmp
0
樣本路徑==”/usr/bin/pythno”
2
樣本路徑==”/usr/bin/bsd-port/knerl”
3
樣本路徑==常用的系統工具
1
默認情況
這里可以看出,當樣本替換系統命令之后,執行的行為和默認情況是不同的。這里說明樣本具有偽裝成系統工具的惡意能力。
總結
以上是生活随笔為你收集整理的linux病毒木马分析,Linux平台“盖茨木马”分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华山多少钱啊?
- 下一篇: linux wifi-tools,Lin