Linux應急響應(四):蓋茨木馬
0x00 前言
Linux蓋茨木馬是一類有著豐富歷史,隱藏手法巧妙,網路攻擊行為顯著的DDoS木馬,主要惡意特點是具備了後門程式,DDoS攻擊的能力,並且會替換常用的系統檔案進行偽裝。木馬得名於其在變數函式的命名中,大量使用Gates這個單詞。分析和清除蓋茨木馬的過程,可以發現有很多值得去學習和借鑑的地方。
0x01 應急場景
某天,網站管理員發現伺服器CPU資源異常,幾個異常程序佔用大量網路頻寬:
0x02 事件分析
異常IP連線:
異常程序:
檢視進行發現ps aux程序異常,進入該目錄發現多個命令,猜測命令可能已被替換
登入伺服器,檢視系統程序狀態,發現不規則命名的異常程序、異常下載程序 :
異常啟動項
進入rc3.d目錄可以發現多個異常進行:
/etc/rc.d/rc3.d/S97DbSecuritySpt
/etc/rc.d/rc3.d/S99selinux
搜尋病毒原體
find / -size -1223124c -size +1223122c -exec ls -id {} ; 搜尋1223123大小的檔案
從以上種種行為發現該病毒與“蓋茨木馬”有點類似,具體技術分析細節詳見:
Linux平臺“蓋茨木馬”分析
http://www.freebuf.com/articles/system/117823.html
懸鏡伺服器衛士丨Linux平臺“蓋茨木馬”分析
http://www.sohu.com/a/117926079_515168
手動清除木馬過程:
1、簡單判斷有無木馬 #有無下列檔案 cat /etc/rc.d/init.d/selinux cat /etc/rc.d/init.d/DbSecuritySpt ls /usr/bin/bsd-port ls /usr/bin/dpkgd #檢視大小是否正常 ls -lh /bin/netstat ls -lh /bin/ps ls -lh /usr/sbin/lsof ls -lh /usr/sbin/ss 2、上傳如下命令到/root下 ps netstat ss lsof 3、刪除如下目錄及檔案 rm -rf /usr/bin/dpkgd (ps netstat lsof ss) rm -rf /usr/bin/bsd-port#木馬程式 rm -f /usr/bin/.sshd#木馬後門 rm -f /tmp/gates.lod rm -f /tmp/moni.lod rm -f /etc/rc.d/init.d/DbSecuritySpt(啟動上述描述的那些木馬變種程式) rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt rm -f /etc/rc.d/init.d/selinux(預設是啟動/usr/bin/bsd-port/getty) rm -f /etc/rc.d/rc1.d/S99selinux rm -f /etc/rc.d/rc2.d/S99selinux rm -f /etc/rc.d/rc3.d/S99selinux rm -f /etc/rc.d/rc4.d/S99selinux rm -f /etc/rc.d/rc5.d/S99selinux 4、找出異常程式並殺死 5、刪除含木馬命令並重新安裝
0x03 命令替換
RPM check檢查:
系統完整性也可以通過rpm自帶的-Va來校驗檢查所有的rpm軟體包,有哪些被篡改了,防止rpm也被替換,上傳一個安全乾淨穩定版本rpm二進位制到伺服器上進行檢查
./rpm -Va > rpm.log
如果一切均校驗正常將不會產生任何輸出。如果有不一致的地方,就會顯示出來。輸出格式是8位長字串, ``c 用以指配置檔案, 接著是檔名. 8位字元的每一個 用以表示檔案與RPM資料庫中一種屬性的比較結果 。``. (點) 表示測試通過。.下面的字元表示對RPM軟體包進行的某種測試失敗:
命令替換:
rpm2cpio 包全名 | cpio -idv .檔案絕對路徑 rpm包中檔案提取 Rpm2cpio 將rpm包轉換為cpio格式的命令 Cpio 是一個標準工具,它用於建立軟體檔案檔案和從檔案檔案中提取檔案 Cpio 選項 < [檔案|裝置] -i:copy-in模式,還原 -d:還原時自動新建目錄 -v:顯示還原過程
檔案提取還原案例:
rpm-qf /bin/ls查詢ls命令屬於哪個軟體包 mv/bin/ls /tmp rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls 提取rpm包中ls命令到當前目錄的/bin/ls下 cp /root/bin/ls/bin/ 把ls命令複製到/bin/目錄 修復檔案丟失 掛載命令rpm包: mkdir/mnt/chrom/建立掛載點 mount -t iso9660 /dev/cdrom/mnt/cdrom/掛在光碟 mount/dev/sr0 /mnt/cdrom/ 解除安裝命令 umount裝置檔名或掛載點 umount /mnt/cdrom/
本文由Bypass原創釋出,轉載請保留出處