美文网首页花无涯带你走进黑客世界黑客Web前端之路
黑客渗透笔记 任意地址写固定数据漏洞

黑客渗透笔记 任意地址写固定数据漏洞

作者: 黑客_花无涯 | 来源:发表于2017-10-24 20:13 被阅读21次

    黑客渗透笔记  任意地址写固定数据漏洞

    黑客花无涯 带你走进黑客世界系列文章

    学习黑客经典书籍 网络黑白 某宝有售

    这个漏洞是在研究驱动精灵的时候发现的,最后确认是其调用的HWiNFO32驱动所产生的问题,而HWiNFO32并非驱动精灵开发的驱动,所以最后写标题时也纠结了一番。废话不说了,开始。

    HWiNFO32驱动过滤不严,造成任意地址写固定数据漏洞。驱动精灵中包含HWiNFO32,其名称为 Mydriver32.sys,发现很久了,版本已经不记得了,当时是安装驱动下载的最新版。

    实验环境 xp sp3

    此实验将一个不常用的内核函数置0,然后R3申请了0地址的指针,将shellcode拷到此内存,内核并没有做ProbeForRead /Write检查直接对传入的数据进行了修改,造成了任意地址写任意数据漏洞 ,提权了R3程序为system权限。

    请点击此处输入图片描述

    R3代码

    主要获得一个函数的地址,将函数地址传入R0

    R0将此函数地址置0,然后R3申请了一个0地址,将shellcode拷到了申请的内存中,然后调用被置0的函数,触发了shellcode。

    详细说下漏洞:在DeviceIoControl例程中,当IoControlCode=0x85FE2600时,不严格过滤用户传入的lpOutBuffer参数,直接调用 nt!IopfCompleteRequest后,经过一系列处理,最终在nt!IopCompleteRequest产生漏洞,可写任意地址。因其最终引发错误的代码发生nt!IopCompleteRequest,所以也与系统相关。经测试 xp sp3可正常利用,Win7则没有影响。

    看看 windbg的崩溃信息。

    请点击此处输入图片描述

    代码流程:mydriver32-nt!IopfCompleteRequest-nt!IopCompleteRequest ,在mydrivers32+0x1f27处,当IoControlCode=0x85FE2600时,不对用户传入的OUTBUFF进行任何验证,就直接调用了nt!IopfCompleteRequest,而 IopfCompleteRequest有这样一段代码。

    正是这段代码,造成了漏洞。但按调用代码来说,复刻进去的数据应当为POC中的数据,但实际却固定为0x2,不知为何,希望有人能告知。下面是可利用的 POC代码。

    ​中国黑客协会 普及网络安全知识,让更多的人学习并重视网络安全和信息安全。

    中国黑客协会是一种精神的传承,黑客代表是一种精神,它是一种热爱祖国、坚持正义、开拓进取的精神。

    相关文章

      网友评论

        本文标题:黑客渗透笔记 任意地址写固定数据漏洞

        本文链接:https://www.haomeiwen.com/subject/jkixpxtx.html