国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

繞過(guò)MacOS密碼的取證方法探討

2018-02-26 07:56于士超
關(guān)鍵詞:文件夾字節(jié)密碼

◆吳 彬 趙 鍇 于士超

?

繞過(guò)MacOS密碼的取證方法探討

◆吳 彬1趙 鍇1于士超2

(1.上海市公安局 上海 200025;2.盤(pán)石軟件(上海)有限公司 上海 200333)

隨著蘋(píng)果電腦的普及,取證分析中很多情況下要考慮Mac OS 的取證,如果被取證的Mac系統(tǒng)設(shè)置了登錄密碼, 那么取證過(guò)程中就要想辦法繞過(guò)登錄密碼,取得管理員權(quán)限。本文主要介紹了繞過(guò)Mac OS 系統(tǒng)登錄密碼的原理,介紹了HFS+文件系統(tǒng)的卷結(jié)構(gòu),深入剖析了HFS+文件系統(tǒng)卷頭結(jié)構(gòu),元數(shù)據(jù)文件以及節(jié)點(diǎn)結(jié)構(gòu)。研究了B-樹(shù)的遍歷過(guò)程。然后對(duì)如何在取證系統(tǒng)中實(shí)現(xiàn)進(jìn)行了詳細(xì)的分析。

蘋(píng)果系統(tǒng);取證;密碼重置;HFS+文件系統(tǒng);B樹(shù)

0 引言

蘋(píng)果系統(tǒng)界面獨(dú)特,安全性較高,使其越來(lái)越受到大眾的歡迎,在美國(guó)蘋(píng)果筆記本的市場(chǎng)占有率已經(jīng)超過(guò)了windows,在中國(guó)很多消費(fèi)者也選擇蘋(píng)果電腦作為其工作和學(xué)習(xí)的首選。因此,對(duì)于取證工作來(lái)說(shuō),蘋(píng)果系統(tǒng)的取證分析也十分必要。

本文以Mac OS X為例子,探討重置Mac OS X的開(kāi)機(jī)密碼的可行性,方法。利用解析Mac OS X的文件系統(tǒng)HFS+找到/var/db/.AppleSetupDone文件并破壞該文件,從而實(shí)現(xiàn)系統(tǒng)管理員自動(dòng)失效,進(jìn)而重啟系統(tǒng),重建管理員實(shí)現(xiàn)密碼重置。

1 Mac OS X系統(tǒng)

1.1Mac OS X系統(tǒng)簡(jiǎn)介

Max OS X,這是一個(gè)基于UNIX核心的系統(tǒng),增強(qiáng)了系統(tǒng)的穩(wěn)定性、性能以及響應(yīng)能力。它能通過(guò)對(duì)稱(chēng)多處理技術(shù)充分發(fā)揮雙處理器的優(yōu)勢(shì),提供無(wú)與倫比的2D、3D和多媒體圖形性能以及廣泛的字體支持和集成的PDA功能。Mac OS X通過(guò)Classic環(huán)境幾乎可以支持所有的Mac OS 9應(yīng)用程序,直觀的Aqua用戶(hù)界面使MACintosh的易用性又達(dá)到了一個(gè)全新的水平。

1.2Mac OS X系統(tǒng)破解步驟

Mac OS X系統(tǒng)破解方法步驟如下:

(1)進(jìn)入單一用戶(hù)模式

(2)開(kāi)機(jī)啟動(dòng)時(shí)按“command+S”,進(jìn)入單一用戶(hù)模式(Single user model)。出現(xiàn)提示符 #root>。

(3)執(zhí)行硬盤(pán)檢測(cè)(只讀)

/sbin/fsck –y

加載文件系統(tǒng)(讀/寫(xiě))

/sbin/mount -uaw

刪除初始化時(shí)生成的隱藏文件

rm /var/db/.AppleSetupDone

重啟系統(tǒng)

reboot

重建管理員賬號(hào):

在取證過(guò)程中,取證工作者拿到的往往是鏡像文件或者整個(gè)磁盤(pán),上述破解方法無(wú)法直接使用。而是需要取證工作者手動(dòng)mount鏡像或者磁盤(pán),解析HFS+文件系統(tǒng),將文件系統(tǒng)的元數(shù)據(jù)全部讀取出來(lái),HFS+文件系統(tǒng)的元數(shù)據(jù)組織形式是B-樹(shù),通過(guò)中序遍歷的方式得到所有文件,然后將遍歷所得的文件構(gòu)建成目錄樹(shù),找到/var/db/.AppleSetupDone文件的元數(shù)據(jù),破壞該文件的元數(shù)據(jù),比如將文件名改為.AppleSetupNotDone,實(shí)現(xiàn)破解。

HFS+文件系統(tǒng)解析:

文件系統(tǒng)除了讓用戶(hù)供穩(wěn)定地存放文件這一目標(biāo)以外,還是各項(xiàng)操作系統(tǒng)功能的基礎(chǔ)。Mac OS X每個(gè)大發(fā)行版都要增加數(shù)百項(xiàng)新功能,許多新功能?chē)?yán)重依賴(lài)于文件系統(tǒng)的實(shí)現(xiàn)。Mac OS X 10.3提供了FileVault來(lái)加密用戶(hù)文件,因此用戶(hù)主目錄被保存在一個(gè)HFS+文件系統(tǒng)加密鏡像中。

HFS+文件系統(tǒng)格式:

在HFS+文件系統(tǒng)中,文件的存取按照盤(pán)區(qū)(Extents)進(jìn)行,每個(gè)盤(pán)區(qū)占用若干個(gè)分配塊(Allocation Block)每個(gè)分配塊占用2N個(gè)扇區(qū)。

HFS+卷的磁盤(pán)布局為:開(kāi)頭1024字節(jié)保留,緊跟在后面的一個(gè)扇區(qū)被稱(chēng)為Volume Header扇區(qū),后面為元數(shù)據(jù)區(qū),共5個(gè)文件,分別為分配文件(Allocation File),盤(pán)區(qū)溢出文件(Extents Overflow File),目錄文件(Catalog File),屬性文件(Attribute File)和啟動(dòng)文件(Startup File),剩余的為用戶(hù)數(shù)據(jù)區(qū),最后兩個(gè)扇區(qū)為Volume Header備份和512字節(jié)的保留空間。卷頭前面以及卷頭備份后面的保留區(qū)雖然沒(méi)有數(shù)據(jù),但是在分配文件中被標(biāo)記為已使用,用于保護(hù)卷頭和備份卷頭,5種元數(shù)據(jù)文件并非連續(xù)存放,而是分別存放在用戶(hù)數(shù)據(jù)區(qū)的不同位置,如圖1所示。

圖1 HFS+卷的磁盤(pán)布局

B-Tree:

在介紹目錄文件與域溢出文件前,需要介紹 B-Tree 結(jié)構(gòu)。無(wú)論是目錄文件還是域溢出文件都是采用 B-Tree 結(jié)構(gòu)組織,這樣有利于記錄的查詢(xún),添加,刪除,修改。文件的 B-Tree 組織結(jié)構(gòu)如圖2所示。

圖2 B-Tree組織結(jié)構(gòu)

節(jié)點(diǎn):

B-Tree 中的每一個(gè)記錄為節(jié)點(diǎn)記錄,節(jié)點(diǎn)的大小為 512 字節(jié),結(jié)構(gòu)如圖3所示。

圖3 節(jié)點(diǎn)

節(jié)點(diǎn)的開(kāi)始部分為節(jié)點(diǎn)描述符,結(jié)構(gòu)如表1。

表1 節(jié)點(diǎn)結(jié)構(gòu)

其中的節(jié)點(diǎn)類(lèi)型有以下幾種:

BTLeafNode葉子節(jié)點(diǎn) BTIndexNode索引節(jié)點(diǎn) BTHeaderNode頭節(jié)點(diǎn) BTMapNode圖節(jié)點(diǎn)

節(jié)點(diǎn)的最后部分為檔案記錄的開(kāi)始偏移部分,從節(jié)點(diǎn)的最后兩個(gè)字節(jié)向前記錄,也就是最后兩個(gè)字節(jié)表示的是第一個(gè)檔案記錄的開(kāi)始偏移,最后兩個(gè)字節(jié)的前兩個(gè)字節(jié)表示第二個(gè)檔案記錄的開(kāi)始偏移,依次類(lèi)推。當(dāng)然了,未使用空間部分也會(huì)對(duì)應(yīng)一個(gè)開(kāi)始偏移,即使沒(méi)有未使用空間也會(huì)有一個(gè)指針指向指針?biāo)诘奈恢谩?/p>

2 頭節(jié)點(diǎn)

無(wú)論是目錄文件還是域溢出文件,它們的第一個(gè)節(jié)點(diǎn)一定是頭節(jié)點(diǎn),頭節(jié)點(diǎn)的結(jié)構(gòu)如圖5所示。

圖5 頭節(jié)點(diǎn)的結(jié)構(gòu)

它有三條檔案記錄,分別為:頭檔案記錄(header record),保留記錄(128 字節(jié)),位圖記錄;因此它有四個(gè)檔案記錄開(kāi)始偏移數(shù)據(jù)。

頭檔案記錄的格式如表2。

表2 頭檔案記錄的格式

位圖檔案描述的是 B-Tree 文件的節(jié)點(diǎn)使用情況,如果位圖檔案太小不足以描述所有的節(jié)點(diǎn),頭節(jié)點(diǎn)的節(jié)點(diǎn)描述符中有一個(gè)下一個(gè)節(jié)點(diǎn)號(hào)字段,它指向一個(gè)位圖節(jié)點(diǎn),這個(gè)位圖節(jié)點(diǎn)專(zhuān)門(mén)用來(lái)描述剩下的節(jié)點(diǎn)的使用情況。

如上所述一個(gè) B-Tree 文件的結(jié)構(gòu)如圖6所示。

圖6 B-Tree 文件的結(jié)構(gòu)

HFS卷采用目錄文件來(lái)表示文件系統(tǒng)中文件與目錄的目錄結(jié)構(gòu)關(guān)系,目錄文件是采用B-Tree結(jié)構(gòu)來(lái)組織的。HFS 中每個(gè)文件或目錄都有個(gè) ID 對(duì)應(yīng),被稱(chēng)作 CNID,文件系統(tǒng)就是根據(jù)CNID 來(lái)標(biāo)識(shí)文件或目錄的。

系統(tǒng)預(yù)保留的幾個(gè) CNID如表3所示:

表3系統(tǒng)預(yù)保留的幾個(gè) CNID

HFSRootParentID根目錄的父 CNID HFSRootFolderID根目錄 CNID HFSExtentFileID域溢出文件 CNID HFSCatalogFileID目錄文件 CNID HFSBadBlockFileID壞塊文件 CNID

目錄文件的檔案的key結(jié)構(gòu)為:

parentCNID父目錄 CNID itemName目錄或文件的名稱(chēng)

目錄文件中葉子節(jié)點(diǎn):

目錄文件中的葉子節(jié)點(diǎn)的檔案有四種:文件檔案,文件夾檔案,文件鏈接檔案,文件夾鏈接檔案。

目錄文件中葉子節(jié)點(diǎn)文件檔案數(shù)據(jù)部分結(jié)構(gòu)如表4。

表4 目錄文件中葉子節(jié)點(diǎn)文件檔案數(shù)據(jù)部分結(jié)構(gòu)

目錄文件中葉子節(jié)點(diǎn)文件夾檔案數(shù)據(jù)部分結(jié)構(gòu)

recordType檔案類(lèi)型,文件檔案總為 0x01 reserved flag文件夾位標(biāo)志 valence子文件或文件夾個(gè)數(shù) folderCNID文件夾 CNID createDate文件建立的時(shí)間與日期 contentModDate文件內(nèi)容最后修改時(shí)間與日期 backupDate備份時(shí)間 finderInf addFinderInf reserved

掛載HFS+文件系統(tǒng):

(1)以二進(jìn)制格式從鏡像文件或者磁盤(pán)的1024字節(jié)的偏移處讀取512字節(jié)的數(shù)據(jù),作為Volume Header。Volume Header在文件系統(tǒng)初始化的時(shí)候生成。

(2)驗(yàn)證Volume Header的簽名是否為0x482B,如果不是則直接報(bào)錯(cuò)。

(3)得到Volume Header中的目錄文件位置,目錄文件以B-樹(shù)的方式組織,從目錄文件開(kāi)始位置讀取目錄文件的頭節(jié)點(diǎn),根據(jù)頭節(jié)點(diǎn)中B-樹(shù)根節(jié)點(diǎn)位置開(kāi)始以廣度優(yōu)先的方式遍歷B-樹(shù)的所有節(jié)點(diǎn)。

(4)對(duì)于葉子節(jié)點(diǎn),內(nèi)部保存的記錄是文件或者文件夾。

(5)所有節(jié)點(diǎn)遍歷結(jié)束之后,文件系統(tǒng)的所有文件和文件夾都已經(jīng)存放在一維線(xiàn)性結(jié)構(gòu)中。

(6)根據(jù)讀取的文件和文件夾信息創(chuàng)建樹(shù)形文件目錄樹(shù),從而完成文件系統(tǒng)的掛載。

取證軟件:

隨著蘋(píng)果電腦的廣泛應(yīng)用,對(duì)HFS+文件系統(tǒng)的取證需求不斷加大,對(duì)其文件系統(tǒng)的解析也成為研究熱點(diǎn),很多取證軟件也加大了對(duì)Mac OS的支持和對(duì)HFS+文件系統(tǒng)的解析,例如上海盤(pán)石軟件開(kāi)發(fā)的計(jì)算機(jī)仿真取證系統(tǒng)軟件(SafeVM)就可以將取證鏡像文件或者對(duì)象計(jì)算機(jī)系統(tǒng)的硬盤(pán)模擬為虛擬機(jī),在虛擬機(jī)環(huán)境下進(jìn)行啟動(dòng),并有繞過(guò)密碼的功能。

圖7 取證軟件

3 結(jié)語(yǔ)

本文主要介紹了在MacOS取證過(guò)程中繞過(guò)密碼的方法,在MacOS系統(tǒng)使用越來(lái)越廣泛的今天,對(duì)密碼的破解工作顯得越來(lái)越有意義,本文針對(duì)MacOS X系統(tǒng)做了一些嘗試和論證,得出了一些方法和結(jié)論,但是對(duì)于取證工作來(lái)說(shuō)單純的通過(guò)破壞登錄文件來(lái)實(shí)現(xiàn)破解遠(yuǎn)遠(yuǎn)不夠,例如對(duì)于同為蘋(píng)果公司的使用非常廣泛的iphone也使用了HFS+文件系統(tǒng),但是iphone的HFS+文件系統(tǒng)是加密的無(wú)法直接拿到文件系統(tǒng)的元數(shù)據(jù),對(duì)于這一課題還有很多問(wèn)題需要解決。

猜你喜歡
文件夾字節(jié)密碼
密碼里的愛(ài)
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
Fast Folders,讓你的文件夾四通八達(dá)
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
密碼抗倭立奇功
基于MSP430的四旋翼飛行器的S-BUS通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
摸清超標(biāo)源頭 大文件夾這樣處理
調(diào)動(dòng)右鍵 解決文件夾管理三大難題
密碼藏在何處
不容忽視的空文件夾