版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
windows系统中错误的句柄引用所引发的漏洞
目录背景知识隐患与漏洞漏洞的利用漏洞的防范2背景知识句柄与对象3对象实例对象实例对象管理器内核层对象句柄用户层背景知识DDK中的函数ObReferenceObjectByHandleObOpenObjectByPointer4背景知识ObReferenceObjectByHandle函数的原型NTSTATUSObReferenceObjectByHandle(
INHANDLEHandle,
INACCESS_MASKDesiredAccess,
INPOBJECT_TYPEObjectTypeOPTIONAL,
INKPROCESSOR_MODEAccessMode,
OUTPVOID*Object,
OUTPOBJECT_HANDLE_INFORMATION HandleInformationOPTIONAL
);5背景知识ObReferenceObjectByHandle用法 status=ObReferenceObjectByHandle(handle, GENERIC_ALL, NULL, KernelMode, &fileObject,
NULL); if(NT_SUCCESS(status)){ //与对象相关操作 … }6隐患与漏洞场景应用程序与内核的同步应用层创建事件对象核心层通过句柄获得对象完成事件同步7隐患与漏洞应用层代码 eventHandle=CreateEvent(NULL,TRUE,FALSE,NULL);
rc=DeviceIoControl(deviceHandle,
IOCTL_INIT_EVENT, &eventHandle, sizeof(eventHandle), NULL, 0, &returnSize);8隐患与漏洞核心层的代码status=ObReferenceObjectByHandle(*(PHANDLE)InputBuffer, GENERIC_ALL, NULL, KernelMode, (PVOID*)&eventObject, NULL);If(NT_SUCCESS(status)){
//与对象相关操作 KeClearEvent(eventObject);
….}9隐患与漏洞漏洞在哪里?ObReferenceObjectByHandle函数的参数检查
if((ObjectHeader->Type==ObjectType)||(ObjectType==NULL)){ …. if((SeComputeDeniedAccesses(GrantedAccess,DesiredAccess)||(AccessMode==KernelMode)){ … }}10隐患与漏洞漏洞在哪里?安全隐患ObjectType赋值为NULL时可返回任意类型的有效对象应用层传递的对象类型并不明确不能获得期待的对象11隐患与漏洞漏洞在哪里?KeClearEvent的实现
kd>uKeClearEventnt!KeClearEvent:804faf168bffmovedi,edi804faf1855pushebp804faf198becmovebp,esp804faf1b8b4508moveax,dwordptr[ebp+8]804faf1e83600400anddwordptr[eax+4],0804faf225dpopebp804faf23c20400ret412隐患与漏洞漏洞的形成ObReferenceObjectByHandle的错误使用与KeClearEvent函数的调用形成了安全漏洞对象的不正确操作造成对象体的破坏13隐患与漏洞漏洞的形成内核对象被破坏,从而形成漏洞14
对象体+0+4
被改写为0+8+c+10+14+18+1c+20隐患与漏洞漏洞的根源对函数缺乏理解人员的疏忽传入不合理的参数操作了不期待的对象15漏洞的利用漏洞的利用挑选一颗合适的子弹构造有利的利用环境让子弹安全的飞往目标从目标安全的返回16漏洞的利用利用场景中的漏洞使用_FILE_OBJECT作为子弹_KEVENT对象与_FILE_OBJECT对象的对比17漏洞的利用_KEVENTkd>dtnt!_kevent-r +0x000Header:_DISPATCHER_HEADER +0x000Type:UChar +0x001Absolute:UChar +0x002Size:UChar +0x003Inserted:UChar +0x004SignalState:Int4B +0x008WaitListHead:_LIST_ENTRY18漏洞的利用_FILE_OBJECTkd>dtnt!_file_object +0x000Type:Int2B +0x002Size:Int2B +0x004DeviceObject:Ptr32_DEVICE_OBJECT +0x008Vpb:Ptr32_VPB +0x00cFsContext:Ptr32Void +0x010FsContext2:Ptr32Void +0x014SectionObjectPointer:Ptr32 ……19漏洞的利用_FILE_OBJECT的影响典型的I/O处理流程20设备驱动程序I/O管理器I/O系统服务API用户模式API内核层应用层漏洞的利用_FILE_OBJECT的影响I/O管理器关联_FILE_OBJECT与设备对象IoGetRelatedDeviceObject函数21漏洞的利用_FILE_OBJECT的影响IoGetRelatedDeviceObject函数对于文件返回FileObject->Vpb->DeviceObject的设备栈顶层对象对于磁盘设备返回FileObject->DeviceObject->Vpb->DeviceObject的设备栈顶层对象对于其他类型返回FileObject->DeviceObject的设备栈顶层对象22漏洞的利用_FILE_OBJECT的影响破坏后_FILE_OBJECT所关联的设备对象为空形成了空指针引用的漏洞可导致运行任意ring0代码23漏洞的利用伪造设备对象24文件对象…设备对象…虚拟地址空间0-0x1000设备对象漏洞的利用_DEVICE_OBJECT的结构0:kd>dt_DEVICE_OBJECTnt!_DEVICE_OBJECT+0x000Type:Int2B+0x002Size:Uint2B+0x004ReferenceCount:Int4B+0x008DriverObject:Ptr32_DRIVER_OBJECT+0x00cNextDevice:Ptr32_DEVICE_OBJECT+0x010AttachedDevice:Ptr32_DEVICE_OBJECT+0x014CurrentIrp:Ptr32_IRP+0x018Timer:Ptr32_IO_TIMER……25漏洞的利用_DRIVER_OBJECT的结构0:kd>dt_driver_objectnt!_DRIVER_OBJECT+0x000Type:Int2B+0x002Size:Int2B+0x004DeviceObject:Ptr32_DEVICE_OBJECT……+0x028FastIoDispatch:Ptr32_FAST_IO_DISPATCH+0x02cDriverInit:Ptr32long+0x030DriverStartIo:Ptr32void+0x034DriverUnload:Ptr32void+0x038MajorFunction:[28]Ptr32long26漏洞的利用伪造驱动对象27伪造的设备对象…驱动对象的指针伪造的驱动对象…MajorFunction[IRP_MJ_CREATE]…漏洞的利用实现dispatch函数fastcall的调用方式函数的参数正确的处理irp在应用调用I/O处理函数避免复杂,一切从简CloseHandle与IRP_MJ_CLEANUP28漏洞的利用通过对设备进行I/O操作来获得控制权29内核设备I/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海科技大学《劳动实践》2023-2024学年第一学期期末试卷
- 上海交通职业技术学院《水资源与取水工程》2023-2024学年第一学期期末试卷
- 上海健康医学院《俄罗斯概况》2023-2024学年第一学期期末试卷
- 上海建桥学院《新时代公共政策审计虚拟仿真实验》2023-2024学年第一学期期末试卷
- 上海行健职业学院《计算机辅助化学教学》2023-2024学年第一学期期末试卷
- 专题03 质量守恒定律 化学方程式(课件)-中考化学一轮复习讲练测(全国)
- 上海海事职业技术学院《半导体物理含实验》2023-2024学年第一学期期末试卷
- 上海海事大学《大师工作室:北京景泰蓝工艺(二)》2023-2024学年第一学期期末试卷
- 2024年中国涂料用水性色膏市场调查研究报告
- 上海工艺美术职业学院《现代化学(化工)》2023-2024学年第一学期期末试卷
- 2024年秋期国家开放大学《0-3岁婴幼儿的保育与教育》大作业及答案
- 2024年就业保障型定向委培合同3篇
- 2024预防流感课件完整版
- 2024沪粤版八年级上册物理期末复习全册知识点考点提纲
- 人教版2024-2025学年第一学期八年级物理期末综合复习练习卷(含答案)
- 残联内部审计计划方案
- 科学认识天气智慧树知到期末考试答案2024年
- 2023-2024学年贵州省贵阳市八年级(上)期末数学试卷
- 公共体育(三)学习通课后章节答案期末考试题库2023年
- 数学新课标研究论文:小学数学“教学评一体化”的解读与探究
- 一级公路毕业设计
评论
0/150
提交评论