緩沖區溢出攻擊及其防范實例
實驗環境實驗環境如圖5-21所示。入侵者(192.168.1.20):對192.168.1.2028進行緩沖區溢出攻擊。被入侵者(192.168.1.2028)是開啟DNS服務的所有版本的Window
實驗環境
實驗環境如圖5-21所示。入侵者(192.168.1.20):對192.168.1.2028進行緩沖區溢出攻擊。被入侵者(192.168.1.2028)是開啟DNS服務的所有版本的Windows 2000 Server或Windows 2003 Server SP1,在本次測試中使用Windows 2003 Server SP1。
緩沖區溢出攻擊過程
第1步:入侵者下載并且執行dns.exe命令。入侵者從網上下載dns.exe工具,可以通殺Windows 2000 Server、Windows 2003 Server SP1系統,將其復制到C:Documents and SettingsAdministrator,在DOS窗口執行dns.exe命令。
第2步:尋找漏洞。執行dns.exe -s 192.168.1.2028命令,對主機進行掃描,顯示出被入侵主機(192.168.1.2028)開放的端口以及操作系統,最主要的是顯示“1047: Vulnerability”,意思就是1047端口存在漏洞。
第3步:實施溢出。執行dns.exe -t 2003chs 192.168.1.2028 1047命令,其中-t2003chs的意思是操作系統的型號,-t 2003chs即簡體中文版的2003系統,如果是2000的系統就使用“-2000all”參數,192.168.1.2028就是目標IP地址,1047就是剛才掃描出存在漏洞的端口。
第4步:成功入侵。執行telnet 192.168.1.2028 1100命令,結果顯示已經成功入侵對方的電腦,并且得到了管理員的權限。
第5步:在被入侵電腦上執行操作。
第6~11步介紹在被入侵電腦中開3389端口(遠程桌面)的方法。
第6步:創建用來下載的VBS腳本tony.vbs。
第7步:在入侵者的電腦上上傳wrsky.exe。
第8步:在被入侵電腦上下載wrsky.exe。
第9步:在被入侵電腦執行wrsky.exe命令。
第10步:重新設置被入侵電腦的管理員密碼。
第11步:打開被入侵電腦的遠程桌面服務。
第12步:遠程桌面連接被入侵計算機。
緩沖區溢出攻擊的防范措施
(1)關閉不需要的特權程序。
(2)及時給系統和服務程序漏洞打補丁。
(3)強制寫正確的代碼。
(4)通過操作系統使得緩沖區不可執行,從而阻止攻擊者植入攻擊代碼。
(5)利用編譯器的邊界檢查來實現緩沖區的保護,這個方法使得緩沖區溢出不可能出現,從而完全消除了緩沖區溢出的威脅,但是代價比較大。
(6)在程序指針失效前進行完整性檢查。
(7)改進系統內部安全機制。