其實它背後的原理還是很有意思的,這裡試做簡單分析。
方法與步驟:
在WindowsXP時代,我們知道當用戶創建密碼重設盤時,Windows系統會自動創建一對公鑰和私鑰,以及一張自簽署的證書。接下來,將會用所得的公鑰對用戶帳戶的密碼進行加密,然後保存在注冊表項HKEY_LOCAL_MacHINESECURITYRecovery<SID>中,其中的<SID>就是指該用戶的SID。而私鑰則從計算機中刪除,並且保存在軟盤裡。
到了Windows7時代,我們知道私鑰會以userkey.psw文件的形式保存在軟盤或者USB閃存裡。
但是如果我們嘗試查看HKEY_LOCAL_MacHINESECURITYRecovery注冊表項,發現其下是空的,並沒有什麼用戶SID。
那麼用公鑰加密的用戶密碼,到底存放在哪裡了呢?很顯然,如果光有私鑰,而沒有經過公鑰加密的帳戶密碼副本,無法獲取用戶帳戶的密碼。
經過研究發現(盆盆是借用ProcessMonitor發現的,比較懶,不想寫具體過程了,過程也簡單),原來在創建密碼重設盤的過程中,Windows安全子系統進程Lsass.exe會自動創建一個Recovery.dat注冊表配置單元文件,保存在C:WindowsSystem32MicrosoFTProtectRecovery文件夾中。而Lsass.exe進程會自動將其加載到注冊表HKLMC80ED86A-0D28-40dc-B379-BB594E14EA1B中。C80ED86A-0D28-40dc-B379-BB594E14EA1B意義不明,Google也沒有結果,哪位老大知道,還請不吝指教。
由於密碼重設盤創建完成後,Lsass.exe進程會自動卸載該注冊表配置單元,所以我們無法查看HKLMC80ED86A-0D28-40dc-B379-BB594E14EA1B下的內容。但是比較容易想到的是,可以借助以下方法進行查看:
用管理員權限打開命令提示符窗口,並且運行以下命令,以LocalSystem身份啟動注冊表編輯器(Recovery.dat需要用LocalSystem權限才能加載):
Psexec-s-i-dregedit
選中HKLM注冊表根鍵,然後單擊文件、加載配置單元,並定位到C:WindowsSystem32MicrosoFTProtectRecoveryRecovery.dat文件。
www.Examda.CoM考試就到考試大
在接下來的對話框裡任意指定一個項名稱,例如可以是Test,然後展開其下的子項,可以看到當前登錄帳戶的SID,其右側的默認鍵值,即保存了用公鑰所加密的帳戶密碼副本。
在客戶端操作系統領域,Windows的使用率是最高的。對於微軟最新的Windows7操作系統,雖然可以說是目前安全性最高的操作系統,但受限於所謂的“木桶原理”,如果在使用中不注意,依然可能遇到潛在的安全隱患,並可能導致嚴重後果。因此,小編在上文中講述的巧用Windows7密碼重設盤的內部原理的內容是相當重要的,趕緊學習下哦