引言:提起木馬后門程序,大家都不陌生。在傳統印象中,木馬一般都是“活躍”在電腦中,其手法是采用各種方式潛入系統,之后開啟后門,然后等待黑客對其執行遠程控制。其實,木馬不僅會藏身在電腦中,還會侵入智能手機,來危害移動通訊設備的安全。
木馬程序是比較流行電腦病毒之一,它具有極強的隱蔽性能,很好的避開一般的殺毒軟件。它通過將自身偽裝吸引用戶下載執行,向施種木馬者提供電腦門戶,使施種者可以任意毀壞、竊取被種者的文件,甚至遠程操控被種者的電腦。有效的清除隱藏木馬,能很好的解決我們電腦使用中的隱藏隱患。提起木馬后門程序,在傳統印象中,木馬一般都是“活躍”在電腦中,其手法是采用各種方式潛入系統,之后開啟后門,然后等待黑客對其執行遠程控制。其實,木馬不僅會藏身在電腦中,還會侵入智能手機,來危害移動通訊設備的安全。現在智能手機已經普及到了幾乎人手一部的情況,其強大的功能為人們的生活增加了許多樂趣。正因為如此,智能手機也成了病毒木馬等惡意程序覬覦的新目標。于是,各種各樣的手機病毒木馬紛紛出籠,對用戶的手機安全構成極大的威脅,
雖說現在各大安全廠家都針對智能手機開發了安全防護軟件,不過,當狡猾的病毒木馬襲來時,僅僅依靠手機殺軟有時無法將其徹底識別和清除。這是因為手機和電腦畢竟存在很大的區別,手機殺軟目前功能還無法與電腦殺軟相比,對付一些狡猾的手機病毒木馬有時顯得力有不逮。這就要求我們善于利用相應的工具程序,來發現和清除狡猾的手機木馬。這里就已常用的Android手機為例,來說明具體的操作方法。為了查殺手機木馬,需要ADB(即Android Debug Brige)這款小工具,其原是Android SDK開發包中的一個工具,使用該工具可以直接操作管理Android模擬器或者Android設 備。其工作模式比較特殊,通過監聽Socket TCP 5554等端口的方式讓IDE和Qemu進行通訊,在默認情況下,ADB會監控守護相關的所有端口。下載地址:http://www.cr173.com/soft/62321.html。
我們知道,木馬運行后必然會開啟后門端口,在Windows中 運 行“netstat”命令,可以查看所有的網絡連接信息,對其加以分析不難發現非法開啟的端口,進而找到與之關聯的木馬程序,之后結束其運行狀態,并將其木馬程序刪除,就可以解除其威脅。在對付Android木馬時,采用的方法與之很類似。Android木馬也會在手機中開啟非法端口,由此不難發現其蹤跡。先將Adnroid手機設置成調試模式,例如在其設置界面中打開“應用程序”面板,勾選“調試”項即可。將手機通過USB線連接到電腦上,將ADB下載后解壓到C盤根目錄中,例如“C:adb”。之后在CMD窗口中切換到該路徑中,執行“abd shell”命令,進入Shell環境中。注意,如果無法進入,程序顯示“adb server is out of date”的提示,說明Adb Server端口被別的進程占用了。為此,先執行“adb nodaemon server”命令,來查看Adb Server端口號,假設為5037。執行“netstat–an | findstr "5037"”命令,在網絡連接信息中查找使用該端口號的進程的ID號碼,假設為“9236”,執行“tskill 9236”命令,將該進程關閉。之后就可以執行“abd shell”命令,順利進入Shell環境中。
在Shell環境中顯示命令提示符,如果顯示為“$”,可以執行“su”命令,將其變為“#”號,表用擁有管理員權限。執行“netstat”命令,顯示手機中的網絡連接信息,包括協議類型,收取,發送標記,本機地址和端口,遠程地址和端口以及連接狀態等內容。當然,在上述信息中無法顯示相關進程的UID信息,這樣,即使在網絡連接列表中找到了可疑的端口。也無法確定該端口和哪個進程相關聯。為此可以執行“cat/proc/net/tcp”命令,可以在使用IPV4協議的模式下,顯示所有的TCP連接信息。如果使用的是IPV6協 議,則 執 行“cat/proc/net/tcp6”命令。在顯示的連接信息中,可以看到每個連接的編號,本地地址和端口,遠程地址和端口,進程ID,超時等信息。例如,在每一行的“local_adress”列中顯示本地地址和端口號,在“remote_address”列中顯示遠程地址和端口號,
在“st”列中顯示連接狀態。對于該狀態,如果顯示為“00”,表示“ERROR_STATUS”,顯示為“01”,表示“TCP_ESTABLISHED”,顯示為“02”,表示“TCP_SYN_SENT”,顯示為“03”,表 示“TCP_SYN_RECV”,顯示為“04”,表示“TCP_FIN_WAIT1”,顯示為“05”,表 示“TCP_FIN_WAIT2”,顯示為“06”,表示“TCP_TIME_WAIT”,顯示為“07”,表示“TCP_CLOSE”,顯示為“08”,表示“TCP_CLOSE_WAIT”,顯示為“0A”,表示“TCP_LISTEN”顯示為“0B”,表示“TCP_CLOSING”,根據該狀態的數值,可以了解對應的網絡連接的狀態。
根據以上網絡連接信息,經過仔細分析,不難發現可疑連接的蹤跡,并據此找到對應的進程的ID號。在Windows中,可以打開任務管理器,來發現與該ID對應的可疑進程信息。在ADB Shell環 境中,可以執行“dumpsys activity |grep uid”命令。來通過進程ID來發現手機系統中對應的進程信息。例如根據對連接信息的分析,發現一個連接狀態為“TCP_SYN_SENT”,進程ID為10091的進程很可疑,執行“dumpsys activity | grep 10091”命令,在顯示信息中可以發現對應的進程名稱。找到了可疑進程后,在手機端進入系統設置界面,在“應用程序”面板中打開“正在運行的程序”列表,找到對應的程序,終止其運行并將其卸載。當然,也可以使用第三方的卸載程序,對該程序進行卸載。當然,前提是最好擁有手機的Root權限。