




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文描述了一个用Peach挖掘漏洞的全过程,目的在于给想要学习的人一个总体上的理解。所用目标程序特别设计,有明显缺陷,因此不作为日后漏洞挖掘难度的参考。特别提醒,正因此程序有明显漏洞,所以不能在网络情况下,运行在自己的主机上,这样可能会被人拿到控制。实验环境:XP-SP3虚拟机+peach运行环境1.研究目标程序本教程选取的是Vulnserver,—个自行设计有脆弱点的应用程序,通常用来练习漏洞利用技术。这是一个基本的服务器程序,接受TCP连接,并接受任意输入,这些输入可能会导致缓冲区溢出和SHE重写等漏洞。Vulnserver默认开启的端口号为9999,我们用netcat程序给Vulnserver发送数据,来观察它接受怎样的输入。Vulnserver程序和netcat程序在教程文件夹里都有。首先让我们先打开Vulnserver程序。先不管Vulnserver程序,再打开netcat程序,连接9999端口,并输入HELP查询可以输入的命令。
不管这些命令是什么意思,任选一个输入,观察一下Vulnserver的反应,比如我们选择HTER1234。观察Vulnserver,可知道它确实接收到了数据。至此我们已经找到了目标程序的接受的数据格式,所以以HTER[hter_value]为数据模型,编写peachpit模板。2.编写peachpit模板复制一个模板peachpit文件,对它进行修改是一个聪明的做法。然后就是对它的几个模块进行分析和改写。DataModel我们要进行变异的数据为命令行"HTER[可选值]”,HTER和之后的一个空格是必要格式,不能对此进行变异,还要在命令后加一个换行符,所以数据模块应为:〈DataModelname="DataHTER"〉〈Stringvalue="HTER"mutable="false"token="true"/>〈Stringvalue=""/><Stringvalue="\r\n"mutable="false"token="true"/>〈/DataModel〉请注意,HTER后有一个空格。StateModelVulnserver是一个服务器程序,我们理解它的收发数据的过程为,先对发送请求的程序(测试过程中,这个程序为peachfuzzer)回应一个数据DataResponse,然后接受一个数据DataHTER(即我们进行模糊测试的数据),最后再回应一个数据DataResponse,所以还需要有一个DataModel为DataReSponse的,不对它进行格式定义,因为我们要用测试的是DataHTER数据块。所以,StateModel应为:〈StateModelname="StateHTER"initialState="Initial"><Statename="Initial">〈Actiontype="input">〈DataModelref="DataResponse"/>〈/Action〉<Actiontype="output">〈DataModelref="DataHTER"/>〈/Action〉<Actiontype="input"><DataModelref="DataResponse"/></Action></State>〈/StateModel〉DataResponse为:〈DataModelname="DataResponse"〉〈Stringvalue=""/>〈/DataModel〉Agent对于Agent的配置,本教程先不去深究每一个元素和属性的意义,在此需要配置的是Windbg的路径和启动目标程序的命令行。〈Agentname="RemoteAgent"location="tcp://127.0.0.1:9001"〉〈Monitorname="Debugger"class="WindowsDebugger"><Paramname="CommandLine"value="C:\ProgramFiles\vulnserver\vulnserver.exe"/><Paramname="WinDbgPath"value="C:\ProgramFiles\DebuggingToolsforWindows(x86)"/>〈/Monitor〉〈/Agent〉TestTest是测试的配置,它需要指定Agent(因为一个Peachpit文件里可能不止一个Agent),指定StateModel(原因同Agent),配置Publisher和Logger。Publisher是数据交换的接口,Logger主要配置日志路径,默认在当前工作空间。<Testname="TestHTER"><Agentref="RemoteAgent"/><StateModelref="StateHTER"/><Publisherclass="TcpClient"><Paramname="Host"value="127.0.0.1"/><Paramname="Port"value="9999"/></Publisher><Loggerclass="File"><Paramname="Path"value="Logs"/></Logger></Test>到此为止Peachpit文件编写完毕,下一步就是启动模糊测试!
3.模糊测试首先要启动一个Agent,告诉匕使用TCP信道。这个Agent会在peach的指导下,负责每次测试打开Vulnserver程序,并在程序出现崩溃时,检测出来,调用Windbg,复制现场等工作。c*命令提示符-Peach-atcpMicrosoftWindowsXP 5.1.2600]<C>版权所有1985-2001MicrosoftCorp.C:XDocumentsandSe11ingsSadm>Peach-atcp[[Peachu3.0[[Cop^iriijlitCc>Michae1Eddingrton[*1Startingaorentseruer一一PressENTERtoquitaccent一一MicrosoftUindousXP[版本MicrosoftUindousXP[版本5.1.2600]<C>版权所有1985-200丄MicrosoftCorp.C:\DocumentsandSettings\adn>PeachC:\peach\samplesMiter-xmlTestHTER[[Peachu3.0[[Gopyuight: MicJiac1Eddin^rtonL*]TestJTestHTER^startingwithrandomseed55312.[R1 Performincfiteration[1,-,-]Performingiteva.tion[*]Fussing:DataHTER・DataElementJ[*]Mutatoi':UnicadeBomMLiitatDi'[2.—-1Performingiteration[*]Fuzzing:DataHTER-DataElementJ[*]Mutcitof=DrttdElenientDupliica.telli.Ltatiait'L3,-,-lPei'fopmingiteration[*]Fuzzing:DataHTER.DataEl巳EEnt」[*]Mutatop:DataElementSwaphlearNodesMutator测试跑了一会,出现crash,如下图所示。
心\命令崔示符-PeachC:\peach\sa>ples\hter.xmITestHTER-r[*]Fuzzing:DataHTER■DataElement_l[*]Mutator:UnicodeBomHutator[1440 Pepformingiteration[*1Fuseing:DataHTER■DataElement_l[*1Mutatov:StringMutatop——CaucfhtfauItatiteration1440,tryingtoreproduce——[1440,-^-1Performingiteration[*1Fuseing:DataHTER■DataElcncnt_l[*1Mutator:StringMutator—Reproducedfaultatiteratian1440一一[1441 Perforuingiteration[*1Fuzzing:DataHTER■DataElement_l[*]Mutator:DataElementRemoueMutator[1442j■一厂]Performingiteration[*]Fuzzing:DataHTER.DataElement_l[*1Mutator:DataElementSwapNeai'NodesMutator4.Crash分析在测试进行一段时间后,你会在路径C:\DocumentsandSettings\adm\logs下发现文件夹hter.xml_Default_2015xxxxxx这里面便是存放错误现场的文件夹。打开此文件夹,里面有个Faults文件夹,继续打开有EXPLOITABLE_0xXXXXXX的文件夹。Peach有一个优点,它使用WinDbg时,会自动调用一个Microsoft,MSECDebuggerExtensions的模块,这个模块会尝试分辨每次崩溃是不是可利用的,因此Faults里还可能有一个NO_EXPLOITABLE_XXX的文件夹。打开EXPLOITABLE_0xXXXXXX文件夹,里面有若干个带有数字编号的文件夹,里面存放着各个编号的测试用例导致的崩溃的现场。□回区文件®编辑⑥查看过收藏®工具心帮助⑪©后退T 卫搜索昶7文件夹|;話|T地址 C:\Documentsand^ttingS\adm\lofs\hter.xml_Defwult_2015031320E608\Faults\EXFLOIT转到龙件和玄件夹任务二创逹一八新文件夹透将这于文件夹发布到▼WeL氐共享此文件夹£3207719252Z07其它位置□回区文件®编辑⑥查看过收藏®工具心帮助⑪©后退T 卫搜索昶7文件夹|;話|T地址 C:\Documentsand^ttingS\adm\lofs\hter.xml_Defwult_2015031320E608\Faults\EXFLOIT转到龙件和玄件夹任务二创逹一八新文件夹透将这于文件夹发布到▼WeL氐共享此文件夹£3207719252Z07其它位置Faults我的文档共享文档我的电脑网上邻尼2381 亡丁2381详纳信息 站】任意打开一个文件夹,这便包含此测试用例导致崩溃的所有现场资料。最主要的两个文件是导致程序崩溃的输入,和崩溃时的栈回溯。■1440文件②编辑⑥查看②收藏(A)工具①帮比⑪©傩”0〒费卩搜索后文斗夹QIP地址也)ICJC:\3ocumentsandSettings\admVlogiVhter.xt)1_De£a<Lt_20150313205638\Faults\EXPLOIT转到玄件和童件夹任务arLiiijwsDebupErLEi---文本文档19KB注ctiun._2JJutput_VrLkntiwnAct2.txt文本文档n创逹一于新文件吴对将这亍文件夹发冇到NWeb馬共享此文件夹actiorL_l_lTLput_lJrilrLijwnAtion1.t:i:t文本文档actiun_3InputUtJtlcatlAction3.txt文本文档hXnUllAbLE_UxZ54db1讥我的文裆北亨立档我的电脑网上邻居其它位置£!□巴JSWiaduWEDebiigErLEi■-文本丈档19KBft-EXPLOITABLE0x264d5172OxOOOOOODO打开栈回溯文件,可以看到这是典型的栈溢出所具备的样子。ModLoad:71a0OO0O71a08O0OC:\WIND0WS\System32\wshtcpip.dll(2484.24a4):A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年放射学影像诊断解剖生理考核模拟考试卷答案及解析
- 2025年口腔颌面外科手术前护理实操测试卷答案及解析
- 2025年肾内科肾功能损害临床表现诊断模拟测试答案及解析
- 2025年中医内科病证辨析模拟考试卷答案及解析
- 2025鄂尔多斯东胜区招聘100名社区工作者笔试备考试题及答案解析
- 2025年精神科药物治疗副作用评估模拟测试答案及解析
- 2025年心血管科学心血管疾病诊断与治疗综合模拟测试卷答案及解析
- 2025年危重病理监护护理操作模拟考核答案及解析
- 雅安市中石化2025秋招笔试模拟题含答案炼油设备技术岗
- 毕节市中石油2025秋招笔试模拟题含答案数智化与信息工程岗
- 2025广东房屋租赁合同范本官方版
- 新版中华民族共同体概论课件第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-2025年版
- 2025定制衣柜安装承揽合同范本
- 2025年MicroLED行业研究报告及未来行业发展趋势预测
- 《彩虹》课件 部编版语文二年级上册
- 2025年全国企业员工全面质量管理知识竞赛试题及答案
- 2025《煤矿安全规程》新旧对照专题培训
- 水下激光探测-洞察及研究
- 7.2 量身高(课件)-2025-2026学年三年级数学上册北师大版
- DB44∕T 2499-2024 海堤生态化建设技术导则
- GWZBQ-10(6)G 型微机高压启动器保护装置产品使用说明书
评论
0/150
提交评论