■
某次筆者撥號上網后,當正在使用世界之窗瀏覽器上網時,安裝的某款防火墻彈出提示信息,顯示Internet Explorer試圖連接網絡,詢問是否對其放行。因為筆者并沒有啟動IE,而是使用別的瀏覽器訪問網絡,考慮到可能是系統(tǒng)自身的原因,筆者重啟系統(tǒng)。但是當撥號上網之后,過了一段時間IE又試圖訪問Internet。這就很奇怪了,筆者斷網后使用某免費殺毒軟件對系統(tǒng)進行了細致的掃描,奇怪的是并沒有發(fā)現什么異常。雖然殺毒軟件沒有發(fā)現問題,不過筆者憑經驗判斷可能有不法程序在后臺作祟。
看來單純依靠殺毒軟件未必絕對可靠,筆者運行XueTR這款強悍的安全工具,來查找潛伏的木馬。在其主界面中打開“網絡”面板,在其中的“端口”面板中執(zhí)行刷新操作,可以看到當前活動的所有網絡程序,包括其打開的端口、連接的遠程地址、連接狀態(tài)、進程路徑等信息。經過仔細觀察,發(fā)現與IE進程對應的協(xié)議類型是UDP。也就是說潛藏的木馬居然開啟了UDP端口。在通常情況下,不管是正常的網絡程序,還是木馬程序采用的都是TCP協(xié)議??紤]到木馬啟動往往會通過非法添加服務的形式加載,筆者決定先對系統(tǒng)服務進行檢查。在“我的電腦”圖標的右鍵菜單上點擊“管理”項,在計算機管理窗口左側選擇“服務和應用程序”-“服務”項,在右側窗口中顯示所有的系統(tǒng)服務。經過查找,在其中發(fā)現了名為“PrtSQx”的可疑服務,雙擊該服務,在其屬性窗口中發(fā)現與其關聯(lián)的程序為“C:Windowssystem32sapoolsv.exe”??磥?,必須將該不法服務清除才行。
在CMD窗口中執(zhí)行“sc stop prtsqx” 和“sc delete prtsqx”命令,就可以將該服務停止并刪除了。雖然將可疑服務清除,不過上述情況并沒有消除。由此推斷,木馬一定是注入到了IE進程中。在XueTR主界面中的“進程”面板中選擇“iexplorer.exe”進程,在其右鍵菜單單上點擊“查看進程模塊”項,在彈出窗口中顯示IE中加載的所有DLL模塊,果然在其中發(fā)現了“sol.dll”文件十分可疑,其路徑為“C:Program FileInternet Explorer”。在該DLL文件右鍵菜單上點擊“卸載模塊”項,將其卸載掉。之后在XueTR的“文件”面板中分別找到上述“sapoolsv.exe”和“sol.dll”文件并將其徹底刪除,之后重啟系統(tǒng),問題消失。經過分析,該UDP木馬可能經過了免殺處理,因此可以逃避殺毒軟件的檢測,因其采用UDP協(xié)議,所有隱蔽性很強。
筆者的好友使用的是電信寬帶,使用電信提供的撥號軟件上網。某次當筆者和朋友邊上網邊聊天時,偶然打開任務管理器發(fā)現同時存在兩個相同的撥號程序“ghcadailui.exe”。筆者覺得有些奇怪,就隨手啟動Wsyschk這款小工具,對其進行了一番檢測,卻意外地發(fā)現了其中的貓膩。在“進程管理”面板中選中一個撥號程序,在窗口底部列表中顯示其加載的所有模塊信息,其中的“avicap32.dll”看起來很熟悉。該文件實際上是用于捕捉視頻信息的,一般安裝攝像頭的話,就需要該文件來捕捉視頻數據。不過,這對于正常的撥號程序來說,并沒有什么實際用途。
因為是撥號軟件,只需要一個撥號程序即可,這個多余的撥號進程肯定存在問題。進入撥號軟件安裝路徑,發(fā)現其主 文 件 為“ghcadailui.exe”,大小為4M左右。在其中仔細查看,發(fā)現還有一個名為“ghcadailui”的文件很奇怪,其大小為1.2MB左右。據此不難推斷出該可疑程序的活動特點,一定是先將原撥號程序“ghcadailui.exe”更 名 為“ghcadailui”,然后將自身更名為“ghcadailui.exe”,運 行 自身后然后再啟動原撥號程序。對比這兩個同名但擴展名不同的文件,發(fā)現兩者的圖標完全一樣,看來該“ghcadailui.exe”文件其實是一個木馬程序,并且經過了巧妙的偽裝,冒充正常程序在用戶眼皮下活動。筆者關閉了這兩個撥號進程,之后將虛假的“ghcadailui.exe”文件備份后刪除。將“ghcadailui” 文 件 還 原 為“ghcadailui.exe”,經過運行可以正常撥號上網,這就證實了筆者的猜測。這個“ghcadailui”文件才是真正的撥號程序。
雖然將假冒的撥號軟件清除,不過筆者決定這個冒牌貨進行一番研究,了解其特點。運行PE explorer這款資源編輯軟件,分別打開真假“ghcadailui.exe”文件,來觀察其內部結構,從中不難看到,真實的“ghcadailui.exe”文件內部結構完整,包括菜單、位圖、對話框、字符串、圖標、版本、界面等等資源項目,而假冒的“ghcadailui”文件內部則顯得很簡陋,只包括位圖、圖標等很少的資源。該機上安裝有360安全衛(wèi)士,打開其流量監(jiān)控程序,發(fā)現假冒的“ghcadailui”程序開啟了UDP端口,啟動WsockExpert程序,對其進行抓包分析,發(fā)現其每隔一段時間就向外界某個地址發(fā)送一次UDP數據包,但是攔截的數據包明顯經過加密處理,無法洞悉其具體內容,經過連續(xù)的檢測,發(fā)現該UDP木馬開啟的UDP端口并不是固定的,而是隨機變化的。該木馬似乎很智能,會針對常用的軟件對自身進行偽裝,通過對進程信息進行分析判斷,來決定是否啟動木馬程序。該木馬程序“ghcadailui.exe”看起來體積有4.2MB,不過使用WinHex等工具將其打開后,發(fā)現其中存在大片的空白區(qū)域,真實的體積實際上很小。看來,該木馬采用增大自身體積的方法,來逃避殺毒軟件的追捕。
根據以上分析可以看出,該UDP木馬使用了UDP協(xié)議,得以避開殺毒軟件的監(jiān)控,因為常用的安全軟件都比較重視TCP端口,對隱蔽開啟的UDP端口警惕度不足。該木馬通過將自身偽裝成正常軟件(例如撥號程序等),并和其綁定在一起,起到讓人真假難辨的目的,而沒有采取修改注冊表,添加服務等常規(guī)手段,讓人難以發(fā)現其行蹤。該木馬通過對自身名稱和圖標進行偽裝,來冒充正常的文件。并且對正常文件進行修改,實現先啟動木馬程序再啟動正常軟件的目的,其活動并不影響正常軟件的運行,這是其顯著特點。不過這一特點也恰恰是其最薄弱的環(huán)節(jié),有經驗的用戶會通過檢測文件信息的方法,來發(fā)現其存在。從中可以看出,木馬為了逃避檢測,入侵的手段日益隱蔽和狡詐。所以同這類木馬進行斗爭。需要采取相應的對象。
例如,查看相關進程加載的DLL模塊,看是否存在可疑模塊(例如非視頻程序卻加 載“avicap32.dll”等),由此可以發(fā)現木馬蹤跡。使用Restorator、PE explorer等資源編輯工具打開可疑文件,查看其內部資源結構,如果體積較大的文件內部資源很少,就說明其存在很大的疑點。相反,如果程序內部資源豐富細致,表明其不太可能是木馬。
當筆者在單位維護網絡時,當登錄某臺服務器時,在該機安裝的防火墻軟件提示某個陌生的程序試圖連接外網某個地址的29838端口,同時試圖掃描局域網其它主機的445等端口,同時該開啟了UDP 4910端口。因為該機之前處于等待登錄狀態(tài),雖然沒有登錄系統(tǒng),但是從網絡上已經可以訪問。而且在該狀態(tài)下,系統(tǒng)的安全狀態(tài)實際上處于最低的水平。運行IceSword這款安全工具,在其進程列表中搜索一番,發(fā)現名為“taskdll.exe”的進程頗為可疑。其路 徑 位 于“C:WindowsSystem32”。但是在資源管理器中進入該路徑,卻沒有發(fā)現該文件。看來,該可疑程序已經采用了RootKit等技術,對自身進行了隱藏。不過,使用該機上安裝的SpeedCommander這款強悍的文件管理工具,卻讓該可疑程序露了原形。在SpeedCommand采用雙頁面文件管理方式,查找文件很輕松。進入上述路徑,果然發(fā)現了這個可疑文件。筆者將其復制了出來。到了這一步,只需將該可疑進程關閉,同時將其刪除,并掃除對應的啟動項,就可以將其驅逐出去,
不過,為了了解該可疑文件的具體功能,筆者決定對其進行一番測試研究。實際上,該可疑程序是一款UDP木馬。因為其會連接Internet上某個地址,筆者直接對該地址進行了在線檢測,發(fā)現其位于外省某個城市。在CMD窗口中執(zhí)行“telnet xxx.xxx.xxx.xxx 29838”,居然出現“StnyFTPD”等字樣,看來該地址上開啟了小型的FTP服務,看來該木馬內部隱藏有對應的賬戶名和密碼,可以遠程登錄到該FTP服務器上,之后可以將被控機的敏感數據遠程發(fā)送給黑客。運行PEiD這款分析工具,在其主界面中的“文件”欄中點擊瀏覽,選擇該可疑文件,發(fā)現其是由VC6.0開發(fā)的。在窗口底部顯示“FSG”等字樣,這表明其使用了FSG壓縮技術,真正的木馬程序其實包含在FSG構建的外殼中。因為PEiD已經自帶了針對該外殼的處理插件,因此毫不費力的去掉了其外殼,得到了真實的木馬文件。
使用WinHex這款編輯工具打開該木馬文件,在窗口左側顯示其十六進制代碼,在右側顯示對應的真實編碼。經過仔細分析,從中看出該木馬擁有的“本領”還不少。例如,在其中看到 了“Msxxxx”“TFTP”、“XP_cmdshell”、“IPC$”、“Admin$system32” 等 字樣,表示其利用某些系統(tǒng)漏洞,SQL漏洞、IPC$連接等手段,對局域網中的其它主機進行破壞和滲透,完成病毒的掃描、復制以及傳播動作。在可以識別的編碼中,還可以看到該木馬附帶了很多文件參數。因為WinHex反編譯的功能有限。于是筆者運行C32ASM這款反編輯軟件,在其主界面中點擊“Ctrl+O”鍵,選擇該木馬文件,對其進行反編譯處理。這樣,木馬的代碼就更容易分析了。
在其中從上到下仔細查看,陸續(xù)發(fā)現了“RPC_D C O M ”、“e x p l o i t”、“ms11046”等字樣,這表明其使用了一些溢出工具對系統(tǒng)盡心破壞,來獲得更高運行權限,這表明該木馬采用TFP工具來傳輸數據,同時試圖使用SQL 注入技術進行滲透。在對應的模塊中還可以看到有關的掃描信息。筆者注意到其中包括“syn”、“ack”等字眼,表示該木馬自帶有DDOS拒絕攻擊模塊,并且擁有攻擊統(tǒng)計功能。此外,C32ASM還顯示該木馬中自帶了大量的掃描參數。經過深入分析,發(fā)現該木馬對各種可能的異常情況處理得很完善,可以看到詳細的關于木馬運行情況的判斷語句。該木馬不僅具有傳播功能,還具有升級功能,可以從指定的地址下載升級數據,對自身進行完善,在木馬的文件管理模塊中,發(fā)現其可以查看驅動器容量。
不過筆者感興趣的是其遠程FTP登錄的賬戶和密碼究竟是什么,于是繼續(xù)查看其代碼,在“220 stnyFtpd owns j0x0A”顯示登錄信息,之后執(zhí)行登錄驗證模塊,在其后跟隨一個跳轉指令,可能是賬戶名認證失敗則跳轉到預設地址。在其附近顯示“ftpuser0”字樣,有可能是FTP賬戶名。之后跟隨的代碼是驗證密碼的,如果驗證失敗,就跳轉到別的位置。根據提示信息,密碼是“pass0”。如果認證完全通過,就可以執(zhí)行數據傳輸操作了。并對磁盤盤符進行了列舉操作,可以探測從A到Z所有盤符,其支持的PASV模式。在文件結尾處顯示“[LOGS]:Cleared”字 樣,顯示了清除相關日志文件操作。在文件最后顯示可能是有關作者的名稱代碼和問候語等。綜合以上分析,該木馬的功能很“全面”,采用多種入侵技術,可以對局域網其它主機進行滲透,使其得以傳播到所有主機上。而且該病毒體積只有幾百KB,運行很穩(wěn)定,占用系統(tǒng)資源極低,具有很強的隱蔽性。該木馬潛伏在系統(tǒng)中,可以悄無聲息地執(zhí)行盜取數據、刺探信息等操作。如果不仔細檢測,恐怕很難發(fā)現其行蹤。因為局域網其它主機都安裝有防火墻等安全軟件,雖然該木馬并沒有對局域網造成大的危害,但是其滲透和破壞力卻不可小覷。及時發(fā)現和清除該類潛伏能力強而且功力較強的UDP木馬,可以最大限度地保護系統(tǒng)安全。