網頁后門:網頁后門主要通過服務器上正常的Web服務來構造自己的連接方式。腳本語言是為了縮短傳統的“編寫—編譯—鏈接—運行”(edit-compile-link-run)過程而創建的計算機編程語言,即腳本語言是一種解釋性的語言,常見的腳本語言有Python、VBScript、JavaScript、InstallshieldScript、ActionScript等。不像C、C++等編程語言需要編譯成二進制代碼才可以執行,腳本語言不需要編譯,可以直接調用,具體由解釋器來負責解釋。早期的腳本語言經常被稱為批處理語言或工作控制語言,目前的腳本語言已經成熟到可以編寫一些復雜的程序。由于腳本語言具有簡單、易學、易用及使用廣泛等特點,不但成為大多數編程人員首選的工具,也成為提供后門的有效方法。另外,由于腳本語言不像編程語言那樣需要嚴格的語法和復雜的規則,相對松散的代碼為后門程序的隱藏創造了一定的條件。例如,HTML(Hyper Text Mark-upLanguage,超文本標記語言)就是一種腳本語言,瀏覽器就是它的解釋器。此外,隨著動態網頁技術的發展,ASP、JSP、PHP等嵌入網頁的腳本語言也被廣泛使用,不過這些腳本要通過Web Server解釋。凡是熟悉網頁編程的讀者都知道,利用這些腳本語言來預留后門是比較容易實現的。
根據實現方式的不同,可以將后門分為以下類型:
網頁后門:網頁后門主要通過服務器上正常的Web服務來構造自己的連接方式。腳本語言是為了縮短傳統的“編寫—編譯—鏈接—運行”(edit-compile-link-run)過程而創建的計算機編程語言,即腳本語言是一種解釋性的語言,常見的腳本語言有Python、VBScript、JavaScript、InstallshieldScript、ActionScript等。不像C、C++等編程語言需要編譯成二進制代碼才可以執行,腳本語言不需要編譯,可以直接調用,具體由解釋器來負責解釋。早期的腳本語言經常被稱為批處理語言或工作控制語言,目前的腳本語言已經成熟到可以編寫一些復雜的程序。由于腳本語言具有簡單、易學、易用及使用廣泛等特點,不但成為大多數編程人員首選的工具,也成為提供后門的有效方法。另外,由于腳本語言不像編程語言那樣需要嚴格的語法和復雜的規則,相對松散的代碼為后門程序的隱藏創造了一定的條件。例如,HTML(Hyper Text Mark-upLanguage,超文本標記語言)就是一種腳本語言,瀏覽器就是它的解釋器。此外,隨著動態網頁技術的發展,ASP、JSP、PHP等嵌入網頁的腳本語言也被廣泛使用,不過這些腳本要通過Web Server解釋。凡是熟悉網頁編程的讀者都知道,利用這些腳本語言來預留后門是比較容易實現的。
線程插入后門:線程插入后門是指后門程序在運行時沒有進程,所有操作均插入到其他應用程序的進程中完成。線程插入后門的特點是:在進程管理器中沒有顯示對應的進程,平時也沒有打開的端口,潛伏在系統中很難被安全檢測程序發現。同時,根據應用環境的不同,線程插入后門一般還提供了正向連接和反向連接功能,尤其是利用反向連接功能,后門程序可以主動向外發送連接請求,以防止防火墻對數據包的攔截。因為防火墻的設置一般是“防外不防內”,即防火墻會攔截從外向內發送的違規數據包,而放行從內向外發送的數據包。
擴展后門:擴展后門可以看成是多個后門程序的工具集,即將多個后門功能集成到一起,方便攻擊者的控制。擴展后門一般同時集成了文件上傳與下載、系統用戶檢測、HTTP訪問、打開端口、啟動/停止服務等功能。例如,WinEggDropShell.Eternity便是一個經典的擴展后門程序,它能實現進程管理(查看或結束進程)、注冊表管理、服務管理(停止、啟動等)、端口到程序關聯、系統重啟與注銷、嗅探密碼、重定向、HTTP服務等功能。
C/S后門:C/S(Client/Server)結構是木馬主要使用的工作模式,同時也是后門程序的一種操作方式,尤其是具有控制功能的后門多采用該結構。ICMP Door便是一種典型的C/S后門,它利用ICMP協議,通信過程中不需要打開任何端口,只是利用系統本身的ICMP包進行控制。ICMP Door的另一個應用是實現從外網向內網的滲透,實現對網絡內部主機的控制。由于ICMP Door使用了ICMP協議,如果主機啟用了防火墻,則該后門程序將無法正常工作。
賬戶后門:賬戶后門是指攻擊者為了長期控制目標主機,通過后門在目標主機中建立一個備用管理員賬戶的技術。一般采用克隆賬戶方式來實現。克隆賬戶一般有兩種方式:一種是手動克隆賬戶;另一種是使用克隆工具。
回答所涉及的環境:聯想天逸510S、Windows 10。