DNS 是網域名稱系統 (Domain Name System) 的縮寫。大家在上網時輸入的網址,是通過網域名稱解析系解析找到相對應的IP地址才能訪問到網站。但是最近微軟的Windows 2000和Windows 2003的DNS服務出現一個極高的安全性漏洞,如果被駭客成功利用的話,那麼我們的上網操作將遇到巨大的麻煩。
駭客姓名:張均誠
駭客特長:Windows系統漏洞研究
使用工具:DNS伺服器漏洞利用工具
駭客自白:最近Windows系統的DNS出現了0day漏洞,自從這個安全性漏洞的代碼被披露,攻擊這個漏洞的Nirbot蠕蟲已經出現了各種變體。如果這個漏洞被駭客利用,那麼系統就會被駭客完全控制。
DNS漏洞開啟系統防線
Windows DNS如果存在這個漏洞,那麼它在工作時,RPC介面如果處理到有非常規的畸形串連請求,就會向外釋放管理員權限,讓駭客可以利用這種漏洞完全控制系統。駭客可以通過向有這個漏洞的系統發送一個經過特別設計的RPC資料包,就能夠獲得該系統的管理員權限,遠程執行任意指令。
小知識:什麼是RPC
遠端程序呼叫 (RPC) 是一種協議,程式可使用這種協議向網路中的另一台電腦上的程式請求服務。由於使用 RPC 的程式不必瞭解支援通訊的網路通訊協定的情況,因此 RPC 提高了程式的互通性。
此前,RPC中也出現過數個漏洞,其中包括導致Blaster蠕蟲大爆發的那個漏洞。這一最新的漏洞是一個堆疊溢位漏洞,給微軟和Windows使用者帶來了很大麻煩。
根據微軟發布的訊息,Windows XP和Windows Vista不會受到這一DNS漏洞的影響,Windows 2000 Server SP4、Windows Server 2003 SP1、Windows Server 2003 SP2則存在這一漏洞。
輕鬆利用DNS漏洞
開啟系統的命令提示字元,接著跳轉到DNS伺服器漏洞利用工具所在的命令,然後執行該漏洞利用工具(圖1)。
在該漏洞的利用程式中執行命令:dns.exe -h 127.0.0.1 -t 1 -p 445,因為我是在本機電腦上進行測試的,所以其中的IP地址為127.0.0.1,而且需要根據伺服器版的語言設定參數。當利用工具提示溢出成功以後,就可以利用telnet命令或程式nc串連存在漏洞的伺服器中的4444連接埠,比如telnet 127.0.0.1 4444(圖2)。需要說明的是,該工具的成功率並不是特別的高,所以在測試的時候需要多進行幾次
當我們成功利用漏洞進行溢出以後,就可以在命令列輸入:net user pcw 1234 /add,斷行符號確定後如果顯示命令成功,就說明已經成功的添加了一個使用者名稱為pcw密碼為1234的使用者。
然後我們再在命令列輸入:net localgroup administrators pcw /add,成功執行的話就表示將該使用者已經添加到Administrator 群組(圖3)。
現在只要利用Windows系統內建的遠端桌面功能,接著串連到該DNS伺服器的IP地址,然後利用我們剛剛建立的使用者名稱進行登入,就可以進行適時地遠端管理操作了(圖4)。
如果遠程伺服器沒有開通終端服務功能,也可以通過溢出得到的命令提示字元視窗,通過FTP或Tftp命令上傳我們的木馬程式,這樣也可以進行有效遠端管理操作。
漏洞危害大,不可不防
由於這個安全性漏洞影響到Windows 2000 Server和Windows Server 2003伺服器軟體,而且每一種語言版本的Windows伺服器都要有一個補丁。微軟提供的補丁地址:http://www.microsoft.com/china/technet/security/bulletin/ms07-029.mspx,請根據自己情況選擇對應的補丁。
同時,建議管理員採取如下措施以降低威脅。首先開啟登錄編輯程式,找到以下註冊表位置HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDNSParameters,通過右鍵菜單建立一個名為“RpcProtocol”的DWORD項目,然後雙擊建立的值並將該值的資料更改為4,最後重啟DNS服務更改生效即可。