版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件安全第三次實驗報告1、目標(biāo)了解shellcode注入原理理解給出的彈出對話框的匯編代碼通過淹沒靜態(tài)地址來實現(xiàn)shellcode的代碼植入通過跳板來實現(xiàn)shellcode的代碼植入嘗試修改匯編語句的shellcode實現(xiàn)修改標(biāo)題等簡單操作作業(yè)要求:詳述修改過程實驗結(jié)果需要截圖證明繪制修改原理的圖示思考題通過跳板的方式,修改StackOverrun程序的流程,使其實現(xiàn)彈出對話框、啟動notepad.exe并打開文本shellcode.txt(可使用CreateProcessA或WinExec等API)。2、測試步驟與結(jié)果2.1使用靜態(tài)地址跳轉(zhuǎn)注入shellcodeStep1:首先建立一個新Win32ConsoleApplication工程,命名為m_overflow。圖2-1建立m_overflow工程Step2:使用Depends.exe進行運行程序剖析 接下來將m_overflow.exe使用該軟件剖析,嘗試尋找MessageBoxA和exitprocess的入口地址:圖2-2進行函數(shù)入口點分析 首先在kernel32.dll中尋找exitprocess函數(shù)的入口點:圖2-3尋找exitprocess函數(shù)的入口點 這里可以看出,kernel32.dll的入口地址為0x77820000,而exitprocess的入口地址為0x005BBE2。然后將這兩個地址相加得到exitprocess的入口地址為:0x7787BBE2。 同理,在user32.dll中尋找MessageBoxA的入口地址:圖2-4尋找MessageBoxA函數(shù)的入口點 這里可以看出,user32.dll的入口地址為0x77370000,而exitprocess的入口地址為0x005EA11。然后將這兩個地址相加得到exitprocess的入口地址為:0x773CEA11。Step3:接下來建立一個新Win32ConsoleApplication工程,命名為m_shellcode。圖2-5建立m_shellcode工程 把里面兩個函數(shù)的入口地址改為剛才計算所得值,然后嘗試運行程序,觀看對話框是否正常彈出:圖2-6程序運行結(jié)果示意圖Step4:使用olydbg獲取shellcode 將帶有shellcode的m_shellcode.exe文件使用olydbg分析,獲取彈對話框部分的shellcode:圖2-7使用olydbg定位到shellcode圖2-8將shellcode內(nèi)容另存為文件圖2-9查看保存到的shellcodeStep5:尋找需要注入shellcode的起始地址 用VC6調(diào)試之前生成的m_overflow.exe,并在目錄下添加password.txt,定位到strcpy代碼行,可以發(fā)現(xiàn)需要注入的地址:圖2-10獲取shellcode注入地址 這里可以看出,shellcode是要會復(fù)制到變量buffer中的,而buffer的地址為0x0012fab8,即我們shellcode要注入的地址。Step6:構(gòu)建password.txt以注入shellcode 這里突然想起來自己的shellcode中存在0x00[‘\0’],為了shellcode不被截斷,將0x00調(diào)整為0x02,對打印的字符串不影響。圖2-11構(gòu)造帶有shellcode的password.txtStep7:執(zhí)行程序觀察shellcode注入效果圖2-12觀察shellcode注入效果 這里可以看出,password中的內(nèi)容已經(jīng)成功拷貝到buffer中,接下來觀察程序的跳轉(zhuǎn)情況:圖2-13觀察shellcode注入效果(2) 這里可以看出,將函數(shù)的返回地址覆蓋后,程序成功跳轉(zhuǎn)到了shellcode上,最后程序成功彈出對話框:圖2-14觀察shellcode注入效果(3)2.2使用跳板注入shellcodeStep1:在上述實驗的基礎(chǔ)上,繼續(xù)使用olydbg分析m_overflow.exe圖2-15搜索jmp/callesp語句地址 使用olydbg打開要分析的m_overflow.exe,搜索jmp/callesp語句的地址,這里可以發(fā)現(xiàn)已經(jīng)找到了不止一條信息。接下來通過日志功能查看具體的語句地址:圖2-16定位一條callesp語句地址 這里選擇了其中一條在kernel32.dll中的callesp語句,對應(yīng)地址為77874EBF。Step2:依據(jù)跳板地址構(gòu)造password.txt圖2-17使用UE進行password.txt編輯 由于剛才重啟了下電腦,又由于是在win7下做的實驗,所以所有的地址都變了,這里先重新定位了一條jmpesp,地址為0x777D4EBF。然后重新定位exitprocess和MessageBoxA的函數(shù)地址分別為0x777CBBE2和0x761BEA11,最后可以得到運行結(jié)果如下:圖2-18程序運行結(jié)果 如果嘗試將標(biāo)題改為bupt,而內(nèi)容不變,則只需要修改shellcode如下: _asm { subsp,0x440 xorebx,ebx pushebx push0x74707562 //bupt push0x00636D63 //cmc moveax,esp pushebx //MB_OK addeax,4 pusheax //title subeax,4 pusheax //text pushebx //NULL moveax,0x761BEA11 //messageboxA入口地址 calleax pushebx moveax,0x777CBBE2 //exitprocess入口地址 calleax 依舊按照上訴步驟進行注入,可以得到結(jié)果如下:圖2-19程序運行結(jié)果 修改標(biāo)題參數(shù)成功。3、測試結(jié)論 這次實驗讓我了解到win7下做了很多安全上的措施,比如會不允許過長的內(nèi)存寫入【會截斷較長的shellcode】、每次開機的函數(shù)入口點地址都會發(fā)生變化。還有兩種不同的shellcode跳轉(zhuǎn)方法都可以達到相同的效果,讓我明白了可以通過不同的手段完成攻擊。4、思考題通過跳板的方式,修改StackOverrun程序的流程,使其實現(xiàn)彈出對話框、啟動notepad.exe并打開文本shellcode.txt(可使用CreateProcessA或WinExec等API)。Step1:首先構(gòu)造彈出對話框和打開shellcode.txt的shellcode:圖4-1定位ShellExecute地址 這里可以看到shell32.dll的地址為0x767E0000,ShellExecuteA的相對地址為0x002474BD,計算可得ShellExecuteA的入口地址為:0x76A274BD。 所以編寫shellcode如下: _asm { subsp,0x440 xorebx,ebx pushebx push0x74707562 //bupt push0x00636D63 //cmc moveax,esp push0x00747874 //txt push0x2E65646F //ode. push0x636C6C65 //ellc push0x68730000 //sh push0x006E6570 //pen push0x6F000000 //o pushebx //MB_OK addeax,4 pusheax //title subeax,4 pusheax //text pushebx //NULL moveax,0x761BEA11 //messageboxA入口地址 calleax push5 //SW_SHOW pushebx //NULL pushebx //NULL moveax,esp addeax,22 pusheax //file subeax,15 pusheax //open pushebx //NULL moveax,0x76A274BD //ShellExecuteA入口地址 calleax pushebx moveax,0x777CBBE2 //exitproc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中班健康注意安全教案
- 學(xué)校常見傳染病健康知識
- 大班科學(xué)活動神奇的彩虹
- 康復(fù)治療的認識
- KYN28-12高壓開關(guān)柜技術(shù)規(guī)范書
- 2025房屋改造合同
- 財經(jīng)簡歷工作總結(jié)模板
- 墻體材料可行性研究報告
- 2025建設(shè)工程合同管理實務(wù)馬
- 2025供用電的合同模板
- 外配處方章管理制度
- 2025年四川長寧縣城投公司招聘筆試參考題庫含答案解析
- 駱駝祥子-(一)-劇本
- 《工程勘察設(shè)計收費標(biāo)準(zhǔn)》(2002年修訂本)
- 全國醫(yī)院數(shù)量統(tǒng)計
- 【MOOC】PLC技術(shù)及應(yīng)用(三菱FX系列)-職教MOOC建設(shè)委員會 中國大學(xué)慕課MOOC答案
- 2023七年級英語下冊 Unit 3 How do you get to school Section A 第1課時(1a-2e)教案 (新版)人教新目標(biāo)版
- 泌尿科主任述職報告
- 中國的世界遺產(chǎn)智慧樹知到期末考試答案2024年
- PEP-3心理教育量表-評估報告
- 控制性詳細規(guī)劃編制項目競爭性磋商招標(biāo)文件評標(biāo)辦法、采購需求和技術(shù)參數(shù)
評論
0/150
提交評論