反彈連線埠型木馬

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

基本介紹

  • 中文名:反彈連線埠型木馬
  • 類型: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。否則刪除服務端程式後什麼程式也不能運行了。
由於以前的木馬都是客戶端主動連線,所以目前大部分防火牆對於連入的連線往往會進行非常嚴格的過濾,對付木馬我們只要在防火牆上設定為只能連出不能連進,就可一勞永逸了。然而反彈連線埠型木馬的出現對傳統的防火牆提出了新的要求:防火牆不但要防外還要防內,即應用程式訪問網路規則,過濾那些存在於用戶計算機內部的各種不法程式對網路的套用,從而可以有效的防禦像“反彈式木馬”那樣的騙取系統合法認證的非法程式。當用戶計算機內部的應用程式訪問網路的時候,必須經過防火牆的內牆的審核。但這也帶來一些問題:我們在訪問網路的時候必須手工確認哪些程式合法,這個工作可能非常煩瑣。再者對一個電腦入門者,決策哪些程式合法也是一個非常困難的問題。防,隨著攻的發展始終存在不完善之處,但是卻始終遵循一個原則:魔高一尺,道高一丈。

相關詞條

熱門詞條

聯絡我們