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