複製鏈接
請複製以下鏈接發送給好友

反彈端口型木馬

鎖定
反彈端口型木馬是一個專業級遠程文件訪問工具,利用它可實現對本地及遠程驅動器進行包括文件刪除、複製、移動、修改在內的各種操作,而且可以任意修改驅動器屬性、修改文件屬性。並且由於它利用了“反彈端口原理”與“HTTP隧道技術”,它的服務端(被控制端)會主動連接客户端(控制端)。
中文名
反彈端口型木馬
外文名
Rebound Port Trojan
類    型
80端口
屬    性
木馬的服務端
連    接
客户端

反彈端口型木馬相關背景

首先要知道反彈端口的原理:
簡單地説,就是由木馬的服務端主動連接客户端所在IP對應的電腦的80端口。相信沒有哪個防火牆會攔截這樣的連接(因為它們一般認為這是用户在瀏覽網頁),所以反彈端口型木馬可以穿牆。
以下是在“網絡神偷”的介紹中挖下來的:道高一尺、魔高一丈,不知哪位高人分析了防火牆的特性後發現:防火牆對於連入的連接往往會進行非常嚴格的過濾,但是對於連出的連接卻疏於防範。於是,與一般的軟件相反,反彈端口型軟件的服務端(被控制端)主動連接客户端(控制端),為了隱蔽起見,客户端的監聽端口一般開在80(提供HTTP服務的端口),這樣,即使用户使用端口掃描軟件檢查自己的端口,發現的也是類似 TCP UserIP:1026 ControllerIP:80 ESTABLISHED 的情況,稍微疏忽一點你就會以為是自己在瀏覽網頁(防火牆也會這麼認為的)。看到這裏,有人會問:既然不能直接與服務端通信,那如何告訴服務端何時開始連接自己呢?答案是:通過主頁空間上的文件實現的,當客户端想與服務端建立連接時,它首先登錄到FTP服務器,寫主頁空間上面的一個文件,並打開端口監聽,等待服務端的連接,服務端定期用HTTP協議讀取這個文件的內容,當發現是客户端讓自己開始連接時,就主動連接,如此就可完成連接工作。
反彈端口型木馬:利用反彈端口原理,躲避防火牆攔截的一類木馬的統稱。國產的優秀反彈端口型木馬主要有:灰鴿子、上興遠程控制、PcShare等。

反彈端口型木馬基本簡介

1  一般木馬的工作過程
木馬程序有兩部分組成,一部分是服務器(Server)端程序,服務端運行後,會在本機打開一個特定的網絡端口監聽客户端的連接。另一部分是客户(Client)端程序,即控制在攻擊者手中的程序,攻擊者通過它獲取遠程計算機的數據並通過它控制遠程計算機。攻擊者用客户端去連接服務端計算機的特定端口,進行登錄,發出控制命令等,進而取得對計算機的控制權限,可以任意查看或刪改服務端文件,操作服務端的註冊表 ,獲取服務端的系統信息 ,竊取口令等 ,就如同訪問他自己的計算機一樣方便。
其過程可用 VB 實現如下:(Horse_Server 和Horse_Client 均為 Winsock控件) :
服務端:
Horse_Server. LocalPort = 31339 (打開一個特定的網絡端口)
Horse_Server.Listen(監聽客户端的連接)
客户端
Horse_Client . RemoteHost = RemotelP (設遠端地址為服務器端IP地址)
Horse_Client . RemotePort = 31339(設遠程端口為服務端程序起動的特定端口)
Horsec_Client . Connect (連接服務端計算機)
一旦服務端接到客户端的連接請求 ConnectionRequest ,就接受連接。
Private Sub Horse_Server_ConnectionRequest (ByVal requestlD As Long)
Horse_Server.Accept requestlD
End Sub
客户機端用 Horse_Client . SendData 發送命令 ,而服務器在 Horse_Server_DataArrive事件中接受並執行命令(如:修改註冊表、刪除文件等) 。
如果客户斷開連接 ,則服務端連接並重新監聽端口:
Private Sub Horse_Server_Close ()
Horse_Server. Close (關閉連接)
Horse_Server.Listen(再次監聽)
End Sub[1 ]
2  反彈端口型木馬的工作原理
一般木馬服務端運行後,會用郵件、ICQ 等方式發出信息通知入侵者,同時在本機打開一個網絡端口監聽客户端的連接(時刻等待着客户端的連接) 。收到信息後,入侵者再運行客户端程序向服務器的這一端口提出連接請求(Connect Request) ,服務器上的守護進程就會自動運行,來應答客户機的請求。
目前,由於大部分防火牆對於連入的連接往往會進行非常嚴格的過濾,能對非法端口的IP包進行有效的過濾,非法連接被攔在牆外,客户端主動連接的木馬,現已很難穿過防火牆。
與一般的軟件相反,反彈端口型木馬是把客户端的信息存於有固定IP的第三方FTP服務器上,服務端從 FTP 服務器上取得信息後計算出客户端的IP和端口,然後主動連接客户端。另外,網絡神偷服務端客户端在進行通信 ,是用合法端口,把數據包含在像HTTP或FTP的報文中,這就是黑客們所謂的“隧道”技術。其過程如下:
服務端:
Horse_Server. RemoteHost = RemotelP(設遠端地址為從指定FTP服務器取得的客户端IP地址)
Horse_Server. RemotePort = RemotePort (設遠程端口為客户端程序起動的特定端口,如:80、21等)
Horse_Server. Connect (連接客户端計算機)
客户端:
Horse_Client . LocalPort = LocalPort (打開一個特定的網絡端口,如:80、21等)一旦客户端接到服務端的連接請求 ConnectionRequest ,就接受連接。
Private Sub Horse_Client_ConnectionRequest(ByVal requestlD As Long)
Horse_Client .Accept requestlD
End Sub
Horse_Client .Listen(監聽客户端的連接)客户機端用Horse_Client . SendData 發送命令,而服務器在 Horse_Server DataArrive事件中接受並執行命令。如果客户斷開連接,則服務器端關閉連接:
Private Sub Horse_Server_Close ()
Horse_Server. Close (關閉連接)
End Sub
之後每隔一段時間服務端就會向客户發一個連接請求:Horse_Server. Connect (連接客户端計算機)
目前,大部分防火牆對於連入的連接往往會進行非常嚴格的過濾,但對於連出的連接卻疏於防範。像這種“反彈端口”原理的木馬,又使用“隧道”技術,客户端的監聽端口開在防火牆信任的端口上,把所有要傳送的數據全部封裝到合法的報文裏進行傳送,防火牆就不會攔截。如80(提供HTTP服務的端口)或21(提供FTP服務的端口),它會認為內部用户在瀏覽網頁或進行文件傳輸,則木馬穿過防火牆。其實即使用户使用端口掃描軟件檢查自己的端口,對類似TCP local address :1026 foreign address :80 ESTABLISHED的情況也未必注意。這樣,反彈端口型木馬不但可以穿過防火牆,而且可以通過HTTP、SOCKS4/ 5 代理,甚至還能訪問局域網內部的電腦。像用NAT透明代理和HTTP的 GET型代理等的局域網,還有撥號上網、ISDN、ADSL 等的主機,都有可能。
3  查殺方法
對是不是中了反彈端口型木馬我們可以做如下檢查:
(1)關掉所有的網絡連接程序(如:IE瀏覽器、FTP服務等) ,轉入命令行狀態用netstat -a命令,netstat命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用户得知目前都有哪些網絡連接正在運行。
(2)用網絡監視軟件,如:sniffer、IParmor 等查一下自己懷疑的端口是否被偵聽。如在(1)中發現類似TCP local address :1026 foreign address :HTTP ESTABLISHED(或者是類似TCP local address :1045 foreign address:FTPESTABLISHED)的情況或在(2)中發現懷疑的端口被偵聽,有可能中了此類木馬。
目前發現的反彈端口型木馬有網絡神偷和灰鴿子(輻射版)兩種。如果中了反彈端口型的木馬,對於網絡神偷,我們可以用下面的方法清除:
(1)查看註冊表啓動項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中的可疑鍵值(鍵名是在生成服務端時由用户設置的)並刪除(做這一步必須對Windows註冊表非常熟悉),重啓後,再刪除系統目錄(C:\Windows\System)中的服務端程序(文件名也是由用户設置的) 。
(2)在中了木馬的機器上運行客户端程序,可以再生成並運行新的配置正確的服務端,就會把原來的服務端沖掉。重新運行客户間 ,在客户端的“服務端在線列表”找到自己並連接上,再用菜單“網絡” — >“遠程卸載” ,就可以徹底清除。
對於灰鴿子,由於此軟件原理與其他同類軟件不同,它的服務端只有生成它的客户端才能訪問,其他人是不可能訪問的,所以不能用自動卸載的方法清除它 ,只能手工清除:先刪除註冊表啓動項
(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices)
(HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
中的可疑鍵值(鍵名是在生成服務端時由用户設置的)。重啓後,再刪除系統目錄(C:\Windows\System)中的服務端程序(文件名也是由用户設置的)。最後檢查一下是不是木馬程序與EXE關聯,如果與EXE關聯則修改註冊表:(HKEY_CLASSES_ROOT\exefile\shell\open\command\)默認值為:“%1”% 3。否則刪除服務端程序後什麼程序也不能運行了。
由於以前的木馬都是客户端主動連接,所以目前大部分防火牆對於連入的連接往往會進行非常嚴格的過濾,對付木馬我們只要在防火牆上設置為只能連出不能連進,就可一勞永逸了。然而反彈端口型木馬的出現對傳統的防火牆提出了新的要求:防火牆不但要防外還要防內,即應用程序訪問網絡規則,過濾那些存在於用户計算機內部的各種不法程序對網絡的應用,從而可以有效的防禦像“反彈式木馬”那樣的騙取系統合法認證的非法程序。當用户計算機內部的應用程序訪問網絡的時候,必須經過防火牆的內牆的審核。但這也帶來一些問題:我們在訪問網絡的時候必須手工確認哪些程序合法,這個工作可能非常煩瑣。再者對一個電腦入門者,決策哪些程序合法也是一個非常困難的問題。防,隨着攻的發展始終存在不完善之處,但是卻始終遵循一個原則:魔高一尺,道高一丈。