漏洞描述
ms07-029是一個遠程執行代碼漏洞,成功利用此漏洞的×××者可以遠程完全控制受影響的系統。 ×××者可隨後安裝程序;查看、更改或刪除數據;或者創建擁有完全用戶權限的新帳戶。
漏洞編號
CVE-2007-1748
BID-23470
×××目標及端口
DNS服務器
端口:需要自行確定
影響系統
Microsoft Windows 2000 Server Service Pack 4
Microsoft Windows Server 2003 Service Pack 1
Microsoft Windows Server 2003 Service Pack 2
Microsoft Windows Server 2003 with SP1 for Itanium-based Systems
Microsoft Windows Server 2003 with SP2 for Itanium-based Systems
Microsoft Windows Server 2003 x64 Edition
Microsoft Windows Server 2003 x64 Edition Service Pack 2
漏洞成因及原理
成因:Windows 域名系統 (DNS) 服務器服務的遠程過程調用 (RPC) 管理接口中存在基於堆棧的緩衝區溢出。
原理:DNS RPC接口用來將域名轉換爲IP地址,如果接收到含有反斜線+八進制的字符,會導致棧溢出。設計的函數爲Lookup_ZoneTreeNodeFromDottedName(),函數中在將數據寫入緩衝區前進行了一些邊界檢查,但是通過含有多個反斜線的字符串便可以繞過檢查觸發漏洞。
metasploit exp可用目標
Windows 2000 SP0-SP4
Windows 2003 SP0-SP2
metasploit利用ms07-029
# 利用此payload需要locale、rhost、rpost三項內容,分別爲:目標系統的語言、目標系統IP和目標系統DNS服務端口。
use exploit/windows/dcerpc/ms07_029_msdns_zonename
set rhost <target ip>
set rport <target port>
run -j
不使用metasploit利用ms07-029
暫未發現,後續補充
參考文章
綠盟ms07-029漏洞研究
微軟官方ms07-029報告