系統(tǒng)中錯誤句柄引用所引發(fā)漏洞_第1頁
系統(tǒng)中錯誤句柄引用所引發(fā)漏洞_第2頁
系統(tǒng)中錯誤句柄引用所引發(fā)漏洞_第3頁
系統(tǒng)中錯誤句柄引用所引發(fā)漏洞_第4頁
系統(tǒng)中錯誤句柄引用所引發(fā)漏洞_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

windows系統(tǒng)中錯誤的句柄引用所引發(fā)的漏洞

目錄背景知識隱患與漏洞漏洞的利用漏洞的防范2背景知識句柄與對象3對象實例對象實例對象管理器內核層對象句柄用戶層背景知識DDK中的函數(shù)ObReferenceObjectByHandleObOpenObjectByPointer4背景知識ObReferenceObjectByHandle函數(shù)的原型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隱患與漏洞場景應用程序與內核的同步應用層創(chuàng)建事件對象核心層通過句柄獲得對象完成事件同步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函數(shù)的參數(shù)檢查

if((ObjectHeader->Type==ObjectType)||(ObjectType==NULL)){ …. if((SeComputeDeniedAccesses(GrantedAccess,DesiredAccess)||(AccessMode==KernelMode)){ … }}10隱患與漏洞漏洞在哪里?安全隱患ObjectType賦值為NULL時可返回任意類型的有效對象應用層傳遞的對象類型并不明確不能獲得期待的對象11隱患與漏洞漏洞在哪里?KeClearEvent的實現(xiàn)

kd>uKeClearEventnt!KeClearEvent:804faf168bffmovedi,edi804faf1855pushebp804faf198becmovebp,esp804faf1b8b4508moveax,dwordptr[ebp+8]804faf1e83600400anddwordptr[eax+4],0804faf225dpopebp804faf23c20400ret412隱患與漏洞漏洞的形成ObReferenceObjectByHandle的錯誤使用與KeClearEvent函數(shù)的調用形成了安全漏洞對象的不正確操作造成對象體的破壞13隱患與漏洞漏洞的形成內核對象被破壞,從而形成漏洞14

對象體+0+4

被改寫為0+8+c+10+14+18+1c+20隱患與漏洞漏洞的根源對函數(shù)缺乏理解人員的疏忽傳入不合理的參數(shù)操作了不期待的對象15漏洞的利用漏洞的利用挑選一顆合適的子彈構造有利的利用環(huán)境讓子彈安全的飛往目標從目標安全的返回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系統(tǒng)服務API用戶模式API內核層應用層漏洞的利用_FILE_OBJECT的影響I/O管理器關聯(lián)_FILE_OBJECT與設備對象IoGetRelatedDeviceObject函數(shù)21漏洞的利用_FILE_OBJECT的影響IoGetRelatedDeviceObject函數(shù)對于文件返回FileObject->Vpb->DeviceObject的設備棧頂層對象對于磁盤設備返回FileObject->DeviceObject->Vpb->DeviceObject的設備棧頂層對象對于其他類型返回FileObject->DeviceObject的設備棧頂層對象22漏洞的利用_FILE_OBJECT的影響破壞后_FILE_OBJECT所關聯(lián)的設備對象為空形成了空指針引用的漏洞可導致運行任意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]…漏洞的利用實現(xiàn)dispatch函數(shù)fastcall的調用方式函數(shù)的參數(shù)正確的處理irp在應用調用I/O處理函數(shù)避免復雜,一切從簡CloseHandle與IRP_MJ_CLEANUP28漏洞的利用通過對設備進行I/O操作來獲得控制權29內核設備I/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論