真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十余年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都1000多家客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),同時(shí)也為不同行業(yè)的客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)。

    ZDI的研究人員“ccpwd”在一個(gè)名叫“diskmanagementd”的macOS守護(hù)進(jìn)程中,發(fā)現(xiàn)了一個(gè)基于堆的緩沖區(qū)溢出漏洞。diskmanagementd這個(gè)服務(wù)主要負(fù)責(zé)對(duì)磁盤驅(qū)動(dòng)器進(jìn)行管理和分區(qū),用戶可以通過磁盤實(shí)用工具(Disk Utility)來與該服務(wù)進(jìn)行交互。該服務(wù)將會(huì)運(yùn)行一個(gè)Mach服務(wù)器,并允許客戶端使用Mach IPC接口來與服務(wù)器端通信(發(fā)送和接收信息)。通過這種RPC機(jī)制,客戶端可以在Mach服務(wù)器中執(zhí)行各種通過MIG(Mach接口生成器)生成的功能函數(shù)。

漏洞分析

所有的通信數(shù)據(jù)都需要經(jīng)過launchd,即macOS的init初始化實(shí)現(xiàn)。關(guān)于該進(jìn)程的更多細(xì)節(jié)可以通過查看其信息屬性列表文件來了解,文件路徑如下:

/System/Library/LaunchDaemons/com.apple.diskmanagementd.plist

一開始,守護(hù)進(jìn)程會(huì)分配一個(gè)調(diào)用函數(shù),在之后發(fā)送和接收Mach消息時(shí),內(nèi)部進(jìn)程通信將需要調(diào)用這個(gè)函數(shù)。

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

在這里,CFMachPortCreateWithPort會(huì)分配一個(gè)函數(shù)sub_10000C241來作為負(fù)責(zé)處理Mach消息的回調(diào)函數(shù),接收Mach消息的地址為0x10000BE1F。根據(jù)msgh_id,Mach消息中的某個(gè)值會(huì)傳送一條操作指令或函數(shù)ID,sub_10000C241會(huì)間接使用這個(gè)ID來作為兩個(gè)遠(yuǎn)程函數(shù)的調(diào)度表索引。sub_100001DA2和sub_100002005分別負(fù)責(zé)啟動(dòng)和移除后續(xù)的通信會(huì)話。

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

Mach端口是單向通信的,這也就意味著每個(gè)發(fā)送、接收請(qǐng)求都需要使用單獨(dú)的端口,蘋果稱之為:

“端口是請(qǐng)求服務(wù)的客戶端和提供服務(wù)的服務(wù)器之間單向通信通道的端點(diǎn)。如果要對(duì)此類服務(wù)請(qǐng)求提供答復(fù),則必須使用第二個(gè)端口,這與Unix中的(單向)管道類似?!?/p>

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

函數(shù)sub_10000CCA9是可以通過sub_100001DA2訪問到的,另一個(gè)Mach端口通過回調(diào)函數(shù)sub_10000DACC來創(chuàng)建,端口會(huì)保存在一個(gè)字典里,鍵名為“Comms-F2TPort”。緩沖區(qū)0x1000字節(jié)處用于處理Mach消息的響應(yīng),并且信息保存在字典中鍵名為“?Comms-F2T-replyarea”的位置。

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

其中,setObject:forKey用于向字典中添加鍵值對(duì):

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

當(dāng)客戶端發(fā)送一條消息時(shí),sub_10000DACC將會(huì)被觸發(fā),然后根據(jù)msgh_id來訪問MIG遠(yuǎn)程程序調(diào)用。接下來,我們將注意力主要放在函數(shù)sub_1000087C9的身上:

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

緩沖區(qū)溢出發(fā)生在sub_1000087C9函數(shù)中,當(dāng)用戶輸入數(shù)據(jù)長(zhǎng)度經(jīng)過計(jì)算后偏移量超過0x1000時(shí),便會(huì)發(fā)生緩沖區(qū)溢出。

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

0x1000響應(yīng)緩沖區(qū)基本上為r14,用戶輸入從偏移量0x38處開始,所以剩下的0xfc8

字節(jié)即為用戶輸入?yún)^(qū)域,當(dāng)輸入數(shù)據(jù)填充至0xfc8處時(shí),strlen將會(huì)返回相同的值。經(jīng)過計(jì)算之后,最終的值為 0xfcc [ ((0xfc8 + 1) + 3) & 0xfffffffc]。在地址0x100008ABD處,偏移量將會(huì)變成0x1004 [0xfcc+0x38],這里允許泄露4個(gè)字節(jié),并寫入4個(gè)字節(jié)數(shù)據(jù),因此攻擊者就可以利用這種特性來實(shí)現(xiàn)攻擊了。但是這里的數(shù)據(jù)泄露效果不是很顯著,因?yàn)榇笮H為0x1000,而寫入操作需要在0x1004處完成,這也就意味著程序只能從后續(xù)數(shù)據(jù)塊中讀取4個(gè)字節(jié)的數(shù)據(jù)。

這里有幾個(gè)限制,首先是輸入數(shù)據(jù)中不能包含空字符,因?yàn)檫@將導(dǎo)致strlen在空字符處停止。另一個(gè)限制是在緩沖區(qū)結(jié)束后寫入的數(shù)據(jù)將始終是var_dc的內(nèi)容,這部分內(nèi)容就是sub b30返回的錯(cuò)誤代碼。

如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)

上述就是小編為大家分享的如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁(yè)標(biāo)題:如何通過macOS的磁盤管理工具實(shí)現(xiàn)系統(tǒng)提權(quán)
鏈接URL:http://weahome.cn/article/ihjscp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部