當前位置:係統粉 >  係統教程 > Xp係統教程 >  winXP係統文件夾加過密恢複係統後拒絕訪問的解決方法

winXP係統文件夾加過密恢複係統後拒絕訪問的解決方法

時間:2015-04-16 來源:互聯網 瀏覽量:

  [利用NTFSDOS(最新的可以,已試過可以,建立刪除文件)或者LINUX的軟件可以讀寫NTFS分區。把那些文件考到FAT32的分區,就可以拉。 FAT32是沒有加密功能的。EFS加密隻有在NTFS格式中才有。FAT32是沒有的。一但複製到了FAT32格式上就自動失去。]

  上麵的是來自網絡的朋友的方法,具體未測試.可以試試,要是自己不是很熟悉電腦的話,可以請熟悉的朋友幫忙試試.

  如果是標題的那種是屬於EFS加密了,基本上來說,是不可能恢複了.因為破解需要安全證書.

  網上說的EFS破解的基本上都是試圖還原係統盤,希望在裏麵能夠找到加密時係統的信息.

  然後再進行破解.

  附上網上找到的一些方法,可以自行嚐試.

  EFS加密的一線生機-加密帳戶被刪的補救方法 (原文題目)

  引子:看到新聞組裏那麼多網友“哭訴”EFS問題,早就想寫一篇EFS的文章。但是苦於手頭資料太少,很多概念尚未圓潤貫通,匆匆草就之下,這誤人子弟的罪責,怕是逃不過的。

  聲明:本文參考了國外一篇“牛”文,由於要掌握這篇國外文章,讀者必須具備一些NTFS底層知識,否則難窺其堂奧。故此筆者四處網羅資料,加上穿鑿附會,希望能幫助讀者諸君更方便省時地領會這篇文章,舞好EFS這把雙刃劍。文章鏈接如下:

  http://www.beginningtoseethelight.org/efsrecovery/index.php

  這裏需要提醒用戶注意:本文並非為了證明微軟的EFS存在 “漏洞”,也不是專為馬大哈們準備的包治百病的“後悔藥”。事實上如果沒有導出EFS證書和私鑰,那麼一旦刪除用戶、或者重裝係統,EFS加密文件就不屬於你了。

  提示 本文適用於Windows XP Professional單機環境,並假設沒有恢複代理(DRF)和共享訪問帳戶(多個DDF)。

  任務描述

  如果某個用戶把自己的登錄帳戶刪除,那麼其他用戶將無法訪問其EFS加密文件。更可惡的是,一旦公司裏的某個用戶心懷怨氣,惡意加密了本屬於別的用戶的重要文件,將會導致嚴重問題。一般情況下,這些EFS加密文件已經被判了死刑,但是實際上隻要滿足以下條件的話,我們還是可以在末日來臨之前打開逃生的天窗:

  (1) 必須知道該被刪帳戶的密碼。

  (2) 該被刪帳戶的配置文件必須存在。如果使用“本地用戶和組”管理單元刪除帳戶,則配置文件保留的機會很大,如果使用“用戶帳戶”控製麵板刪除帳戶,則有一半機會保留配置文件。如果配置文件不幸被刪,則隻能祈禱可以借助Easy Recovery之類的數據恢複工具進行恢複。

  可能有些朋友會覺得這兩個條件比較苛刻,此處賣個關子先……

  EFS加密原理

  大家知道,EFS加密實際上綜合了對稱加密和不對稱加密:

  (1) 隨機生成一個文件加密密鑰(叫做FEK),用來加密和解密文件。

  (2) 這個FEK會被當前帳戶的公鑰進行加密,加密後的FEK副本保存在文件$EFS屬性的DDF字段裏。

  (3) 要想解密文件,首先必須用當前用戶的私鑰去解密FEK,然後用FEK去解密文件。

  看到這裏,似乎EFS的脈絡已經很清晰,其實不然,這樣還不足於確保EFS的安全性。係統還會對EFS添加兩層保護措施:

  (1) Windows會用64字節的主密鑰(Master Key)對私鑰進行加密,加密後的私鑰保存在以下文件夾:

  %UserProfile%Application DataMicrosoftCryptoRSASID

  提示 Windows係統裏的各種私有密鑰,都用相應的主密鑰進行加密。Windows Vista的BitLocker加密,也用其主密鑰對FVEK(全卷加密密鑰)進行加密。

  (2) 為了保護主密鑰,係統會對主密鑰本身進行加密(使用的密鑰由帳戶密碼派生而來),加密後的主密鑰保存在以下文件夾:

  %UserProfile%Application DataMicrosoftProtectSID

  整個EFS加密的密鑰架構如圖1所示。

  圖1

  提示 EFS密鑰的結構部分,參考自《Windows Internals 4th》的第12章。

  回到“任務描述”部分所述的兩個條件,現在我們應該明白原因了:

  (1) 必須知道該被刪帳戶的密碼:沒有帳戶密碼,就無法解密主密鑰。因為其加密密鑰是由帳戶密碼派生而來的。

  提示 難怪Windows XP和2000不同,管理員重設帳戶密碼,也不能解密EFS文件。

  (2) 該被刪帳戶的配置文件必須存在:加密後的私鑰和主密鑰(還包括證書和公鑰),都保存在配置文件裏,所以配置文件萬萬不可丟失,否則就會徹底“鬼子不能進村”。重裝係統後,原來的配置文件肯定被刪,這時候當然不可能恢複EFS文件。

  可能有用戶會想,隻需新建一個同名的用戶帳戶,然後把原來配置文件複製給新帳戶,不就可以解密EFS文件了?原因在於帳戶的SID,因為新建用戶的SID不可能和老帳戶一樣,所以常規方法是不可能奏效的。我們必須另辟蹊徑,讓係統再造一個完全一樣的SID!

  恢複步驟

  為了方便描述,這裏假設被刪帳戶的用戶名為Admin,Windows安裝在C盤。

  1.再造SID

  注意 本方法取自“聲明”部分提到的那篇文章。

  首先確認被刪帳戶的SID,這裏可以進入以下文件夾:

  C:Documents and SettingsAdminApplication DataMicrosoftCryptoRSA

  在其下應該有一個以該被刪帳戶的SID為名的文件夾,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID為1004)

  現在我們要設法讓新建帳戶同樣具有1004的RID,這樣就能達到目的。

  在Windows中,下一個新建帳戶所分配的RID是由HKEY_LOCAL_MACHINESAMSAMDomainsAccount注冊表項的F鍵值所確定的。F鍵值是二進製類型的數據,在偏移量0048處的四個字節,定義下一個帳戶的RID。那麼也就是說,隻需要修改0048處的四個字節,就能達到目的(讓新建帳戶獲得1004的RID)

  確認好以後,別忘記把Admin帳戶的配置文件轉移到別的地方!

  (1) 默認情況下,隻有system帳戶才有權限訪問HKEY_LOCAL_MACHINESAM,這裏在CMD命令提示符窗口,運行以下命令,以system帳戶身份打開注冊表編輯器:

  pexec -i -d -s %windir%regedit.exe

  提示 可以在以下網站下載psexec:

  http://www.sysinternals.com/Utilities/PsExec.html

  (2) 定位到HKEY_LOCAL_MACHINESAMSAMDomainsAccount注冊表項,雙擊打開右側的F鍵值。

  (3) 這裏要說明一下,Windows是以十六進製、而且以反轉形式保存下一個帳戶的RID。什麼意思呢?也就是說,如果是1004的RID,對應十六進製就是03EC,但是我們必須把它反轉過來變成EC03,再擴展為4個字節,就是EC 03 00 00。

  所以,我們應該把F鍵值的0048偏移量處,把其中四個字節改為“EC 03 00 00”,如圖2所示。

  圖2

  (4) 重要:別忘了重啟計算機!

  (5) 重啟以後,新建一個同名帳戶Admin,它的SID應該和以前是完全一樣。如果不相信的話,可以借助GetSID或者PsGetSID等工具測試一下。

  2.“破解”EFS

  接下來的方法就非常簡單了,用新建的Admin帳戶身份登錄係統,隨便加密一個文件,然後注銷,用管理員帳戶登錄係統,把原來保留的配置文件複製到C:Documents and SettingsAdmin文件夾下。

  再用Admin帳戶登錄係統,現在可以解密原來的EFS文件了。

  疑難解答

  1.如果已經重裝係統,那怎麼辦?

  “聲明”部分提到的那篇文章裏提到,如果還記得原來帳戶的密碼,並且配置文件沒有被刪除的話,還有希望。這時候可以借助sysinternals的 NEWSID工具把係統的計算機SID重設為原來的值,再用前麵描述的方法構造所需的RID,這樣就可以獲得所需的帳戶SID。剩餘步驟完全一樣。

  http://www.sysinternals.com/Utilities/NewSid.html

  2.有用戶曾經遇到這樣的問題:登錄係統時收到提示說密碼過期,需要重設,重設密碼登錄後發現打開EFS文件。

  KB890951提到這個問題。其解釋是因為在修改密碼時,係統還沒有加載配置文件(有點語焉不詳),原文如下:

  This problem occurs because the user profile for the current user is not loaded correctly after you change the password.

  配置文件和EFS有何相幹?看完本文,大家應該知道,EFS的私鑰和主密鑰都是保存在配置文件裏的。由於配置文件沒有加載,所以主密鑰的加密版本沒有得到更新(沒有跟上帳戶密碼的變化),導致主密鑰無法正確解密,從而無法解密私鑰和FEK。這就是問題的真正原因。

  該KB提供了一個內部補丁,可以解決這個問題。KB890951的鏈接如下:

  http://support.microsoft.com/kb/890951

  3.有關公鑰的問題

  為了容易理解,筆者故意忽略了公鑰。公鑰保存也保存在帳戶的配置文件裏:

  %UserProfile%Application DataMicrosoftSystemCertificatesMyCertificates

  在EFS恢複的操作中,必須確保公鑰也要複製到新帳戶的配置文件裏。盡管看起來公鑰與EFS解密無關(它負責加密)。

  原來,加密文件$EFS屬性的DDF字段裏除了有帳戶SID和加密的FEK副本外,還有公鑰的指紋信息(Public Key Thumbprint)和私鑰GUID信息(私鑰的某種散列值)。

  係統在掃描加密文件$EFS屬性中的DDF字段時,根據用戶配置文件裏的公鑰中所包含的公鑰指紋和私鑰GUID信息,當然還有帳戶的SID,來判斷該帳戶是否具有對應的DDF字段,從而判斷該用戶是否屬於合法的EFS文件擁有者。

  所以公鑰也很重要。

  當然公鑰是可以“偽造”的(可以偽造出所需的公鑰指紋和私鑰GUID),以欺騙EFS係統,具體方法可以參考國外的那篇原稿,此處不再贅述。

  加強EFS的安全

  由於EFS把所有的相關密鑰都保存在Windows分區,所以這可能給EFS帶來一定的安全隱患。目前有一些第三方工具號稱可以破解EFS,這些工具首先攻擊SAM配置單元文件,嚐試破解帳戶密碼,從而破解帳戶密碼→主密鑰的加密密鑰→主密鑰→EFS私鑰→FEK的“密鑰鏈”。

  為了防止攻擊者窺視我們的EFS文件,可以借助以下三種方法:

  1.導出刪除私鑰

  可以用證書向導導出EFS加密證書和私鑰,並且在“證書導出向導”對話框裏選擇刪除私鑰,如圖3所示。

  圖3

  刪除私鑰以後,攻擊者就沒有辦法訪問EFS加密文件了,而我們需要訪問時,隻需導入先前備份的證書和私鑰即可。

  2.System Key提供額外的保護

  System Key可以對SAM配置單元文件和EFS私鑰提供額外保護。Windows XP的System Key默認保存在本地

  注意:

  首先要弄清你使用的是EFS加密還是ACL用戶權限控製。如果選擇的是“將這個文件夾作為專用”,那麼使用的是ACL用戶權限控製,解除ACL用戶權限控製方法如下:打開“控製麵板→文件夾選項”,在查看標簽頁下清除“使用簡單共享”前麵的複選項,點擊確定按鈕。然後右鍵點擊C:Documents and Settings用戶名 My Documents,選擇安全選項卡,在組和用戶裏麵把自己的賬戶添加進去即可。如果使用的是“屬性→高級→加密以便保護數據”,那麼你使用的是EFS加密技術。EFS加密技術用數字證書對文件進行加密。要解開EFS加密,需要使用加密時進行操作的賬戶登錄,然後進行加密操作的逆操作。如果重新安裝過係統,那麼在未導入先前進行加密操作時係統創建的證書的情況下,是無法進行解密操作的。

我要分享:
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航