摘要:在計算機網絡安全中,遠程控制是永恒的話題,文章通過分析傳統遠程控制工作原理及防火墻基本工作原理,闡述了反向連接技術在遠程控制系統應用的重要性。最后對加入反向連接技術的遠程控制攻擊提出了幾點防御措施。
關鍵詞:遠程控制;反向連接;防火墻;防范措施
中圖分類號:TP393 文獻標識碼:A文章編號:1009-3044(2009)35-9925-02
Research on Reverse Link Type Remote Control System and Prevention
LU Lei-ji1, FANG Zhi1, ZHAO Wei2
(1.The Basis of the Department of Computing in the Artillery Academy, Hefei 230031, China; 2.3.Anhui Medical University Student Affairs Office, Hefei 230031, China)
Abstract: Remote control is the eternal topic In computer network security,By analyzing the working principle of a traditional remote control and the basic working principle of a firewall,Describes the reverse connection technology in the realization of the importance of remote control,Concludes with a reverse-connection technology for adding remote control attacks a few preventive measures.
Key words: remote control; reverse connection; firewalls; precautionary measures
在網絡這個不斷更新換代的世界里,網絡中的安全漏洞無處不在。即便舊的安全漏洞補上了,新的安全漏洞又將不斷涌現。遠程控制正是利用這些存在的漏洞和安全缺陷對系統和資源進行控制,但隨著防火墻技術和反木馬技術的不斷發展,傳統遠程控制已經慢慢失去了效應,而加入反向連接技術的新型遠程控制又給我們帶來新的挑戰,我們需要加以認真研究,以便有的放矢做好防范。
1 傳統遠程控制技術的工作原理
遠程控制系統有兩部分組成,一部分是控制端程序,即控制在控制者手中的程序,控制者通過它獲取遠程計算機的數據并通過它控制遠程計算機。另一部分是受控端程序,一旦在目標計算機執行后就會打開特定的網絡端口等待遠程控制計算機的連接。傳統遠程控制系統都是由控制端計算機主動向目標計算機發起連接。其基本工作原理圖如圖1所示。
用控制端程序去連接被控計算機特定端口,進行登錄,發出控制命令等,進而取得對被控計算機的控制權限,可以任意查看或刪改被控計算機文件,操作被控計算機注冊表,獲取被控計算機的系統信息,竊取口令等,就如同訪問自己計算機一樣方便。
傳統遠程控制軟件控制端程序實現如下(Contrl_Client為Winsock控件):
Contrl_Client.RemoteHost=RemoteIP(設遠端地址為被控計算機IP地址)
Contrl_Client.RemotePort=31339(設遠程端口為被控端程序起動的特定端口)
Contrl_Client.Connect(主動連接被控端計算機)
一旦被控端計算機收到主控端的連接請求ConnectionRequest,就能實現連接。
2 防火墻基本原理
在網絡安全防護中,防火墻一般作為首要防護措施。由于防火墻安全規則(一切未被允許的都是禁止的,一切未被禁止的都是允許的)的限制,一般情況下是很難穿透的,因此,在一定意義上保護了內網的安全。
當計算機裝了防火墻后,在外網和內網之間就多了一層屏障,防火墻是通過一個訪問控制表來監測、限制、修改跨越防火墻的數據流的,對外屏蔽網絡內部的結構、信息和運行情況。其形式一般是一連串的如下規則:1)ACCEPT FROM +源地址;端口TO+目的地址,端口+采取行動;2)DENY——(拒絕);3)NAT——(地址轉換)。
3 反向連接技術
傳統遠程控制系統,要實現遠程控制功能,必須由控制端主動向被控端發起連接,一般的防火墻都限制外部對內部的連接,傳統的遠程控制都是控制端向裝有防火墻的內部計算機發起主動連接,很容易被防火墻攔截,因此傳統的遠程控制就很難工作起來。然而大部分防火墻防外不防內,利用這一漏洞可以在遠程控制中融入反向連接技術,反向連接是從防火墻內部網絡向外部網絡發起連接,這樣就可以繞開防火墻的攔截實施遠程控制。
加入反向連接的被控端用VB實現如下(Contrl_Server是為Winsock控件):
Contrl_Server.RemoteHost=RemoteIP(設遠端地址為控制端IP地址)
Contrl_Server.RemotePort=RemotePort(被控端為控制端啟用的特定端口,如80、21端口等)
Contrl_Server.Connect(連接控制端計算機)
與傳統遠程控制軟件相反,反向連接型軟件的被控端會主動連接控制端。被控端的監聽端口一般開為80(HTTP即用于網頁瀏覽的端口)或21(FTP端口)從內網向外網發起連接。反向連接型遠程控制軟件的優點如下:
1) 控制端和被控端的通信能夠穿透被控端主機防火墻。
2) 被控端不再等待主控端的連接請求,而主動向控制端發起連接,從而不易被端口掃描工具發現。
3) 即使被控端計算機是在單位內部通過代理上網,也能和控制端進行通信。
反向連接型軟件的連接方法包括兩種:半反向連接和全反向連接。
3.1 半反向連接
當一個反向連接型遠程控制軟件的控制端想和被控端建立連接時,它必須通過第三方計算機給被控端發送一個命令。第三方計算機收到命令后將通過一個特殊的數據端口向控制端發起連接請求。同時,控制端將會在這個端口進行偵聽。當連接請求通過后,這樣連接通道就建立起來。半反向連接步驟如圖2所示。
1) 控制端連接第三方計算機,向其發送指令。
2) 被控端連接第三方計算機后,將會收到指令
3) 被控端解析指令后,將會主動連接控制端,并向控制端傳送執行結果。
3.2 全反向連接
當控制端想對被控端進行操作時,首先向第三方計算機發送一條指令,當被控端從第三方計算機上取得指令后,將在本機上執行指令,然后將執行結果傳回給第三方計算機。最后控制端再從第三方計算機取得執行結果。全反向連接步驟如圖3所示。
1) 控制端連接第三方計算機,向其發送指令。
2) 被控端主動連接第三方計算機后,將會收到指令,解析指令后并在被控端執行,并將執行結果傳給第三方計算機。
3) 第三方計算機將被控端傳來的執行結果傳給控制端。
3.3 半反向連接與全反向連接的比較
兩者都是借助于第三方計算機實現由被控端向控制端發起的連接,但傳送執行結果上有所不同,半反向連接是被控端直接將結果傳送給主控端,而全反向連接則是通過第三方計算機將結果傳送給主控端,控制端和被控端沒有任何直接的通信連接,所以在隱蔽型上全反向連接優于半反向連接。 但在實際運用過程中因為半反向連接是直接連接控制端所以更具優勢。因此,全反向連接一般用作遠程文件操作。而半反向連接在遠程控制中用的比較多。
4 反向連接型遠程控制防范措施
4.1 安裝殺毒軟件
反向連接型遠程控制系統不僅能危害公網中的計算機也可以穿透局域網或代理網絡,所以不管是在局域網內部還是處于互聯網中的計算機必須安裝殺毒軟件,并及時升級殺毒軟件及病毒庫,還要及時給系統打補丁。
4.2 經常監測
關掉所有的網絡連接程序(如:Http超文本傳輸協議用于網絡瀏覽、FTP服務器等),進入命令行狀態用netstat-a命令,此命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用戶得知目前都有哪些網絡連接正在進行。
4.3 關閉不用的端口
Windows有很多端口是開放的,實際使用過程中很多端口是不用的,這就給網絡中的木馬、病毒留下了可趁之機,為了安全起見,建議將一些不用的端口關閉,值得注意的是現在的反向連接型遠程控制系統通常結合一些隧道技術,通過一些合法的端口如80或21端口傳送數據,不仔細很難被發現。所以這給我們判斷帶來了難度。
4.4 使用反木馬軟件
對于初學者使用這種方法是最直接最有效的方法,借助網絡這個龐大的資源庫,使用專門的反木馬軟件并及時升級軟件和病毒庫。能夠對網絡非法控制起到很好的防護措施。
4.5 在Vista中利用防火墻防護
在Win XP自帶的防火墻和ADSL貓的NAT方式,只能防外不防內,所以必須使用第三方防火墻。但在Vista系統中就可以有效的對反向連接型遠程控制系統進行防護,具體操作如下。
打開Vista高級防火墻設置界面,在左側邊欄選取“出站規則”項,在中間的窗口列表中就可以看見出站網絡連接規則。點擊右側“新規則”按鈕,點擊“下一步”按鈕,程序設置界面勾選“所有程序”項,對所有出站程序進行控制;點擊“下一步”按鈕,設置操作為“禁止”;點擊“下一步”按鈕,勾選應用該規則為“域”、“專用”和“公用”;再點擊“下一步”按鈕,輸入出站規則名稱,這里為“禁止所有出站連接”。最后確定即完成了新規則的建立,返回規則列表,啟用規則就可以過濾掉所有出站的連接,禁止了反向連接型遠程控制程序的執行。
5 結束語
通過傳統遠程控制和加入反向連接的新型遠程控制的比較,可以很清楚的發現二者的區別,在傳統遠程控制中有主控端發起連接,這樣很容易被防火墻、殺毒軟件攔截,失去作用。而加入反向連接的新型遠程控制軟件是由被控端主動向主控端發起連接,可以繞過防火墻、殺毒軟件的攔截和查殺,所以加入反向連接的遠程控制系統更具生命力。
參考文獻:
[1] 何牧泓.輕松玩轉遠程控制[M].重慶:重慶出版社,2002.
[2] 常永昌.一種遠程控制系統的設計與實現[J].計算機應用,2003(3):127-131.
[3] 魏里,鄭光遠.反彈端口技術木馬[J].河南職工醫學院學報,2003(3):84-86.
[4] 阮寧君.端口反彈型木馬通信技術研究及防范措施[J].學術研究,2007:99-101.
[5] 李波.新型反彈端口木馬—“廣外男生”探析[J].長沙電力學院學報,2005(1):52-58.
[6] 楊繼張.VB網絡與遠程控制編程實例教程[M].北京:希望電子出版社,2002.