眾所周知,Windows 2000的密碼存放在系統所在的WinNT\System 32\CONFIG(如果是Windows XP,則目錄為Windows\System 32\Config)下的SAM文件(如圖1)中,SAM文件即賬號密碼數據庫文件。當我們登陸系統時,系統會自動地和Config中的SAM校對,如發現此次密碼和用戶名與SAM文件中的加密數據全都符合時,你就會順利登陸;如果錯誤則無法登陸。既然如此,我們的第一個方法就產生了——刪除SAM文件來恢復密碼。
如果你使用的是FAT32分區格式,那麼可以使用Windows 98啟動盤啟動電腦,然後刪除SAM文件後,再重新啟動,此時管理員administrator賬號已經沒有密碼了,這時你可以用administrator賬戶登錄系統,進入系統後再重新設置你的管理員賬戶密碼即可。
如果是NTFS格式,那麼稍麻煩些。如果有兩個操作系統的話,可以使用另外一個訪問NTFS的操作系統啟動電腦,或者將這塊硬盤以從盤模式掛接到其它能識別NTFS文件系統(如Windows 2000或Windows XP)的計算機上,刪除SAM文件,重新啟動即可。
利用軟件從SAM文件中找密碼
LC4是一款超級密碼破解利器,可以實現從SAM文件中進行密碼刺探破解,對於可以取得SAM文件的情況來說,選用它能幫我們恢復管理員密碼。
如圖2,運行LC4打開並新建一個任務,然後依次點擊“Import” “Import from SAM file”,打開待破解的SAM文件,此時LC4會自動分析此文件,並顯示出文件中的用戶名;之後點擊“Session” “Begin Audit”,即可開始破解密碼。如果密碼不是很復雜的話,很短的時間內就會得到結果。
LC4是個功能強大的軟件,它的一些高級功能允許用戶自定破解策略以及斷點等,但已不在本文討論范圍之內,具體使用方法不多講述。然而,這種方法也有它的不足之處,如果密碼比較復雜的話,可能會需要相當長的時間,在此時這種方式就不再那麼有效了。
利用屏保破解密碼
我們可以把“%systemroot%\system32logon.scr”替換為“cmd.exe”或者“explorer.exe”,然後在系統登陸處等待,過一會,系統就會去運行“logon.scr”這個屏保,因為你替換了這個屏保文件,所以實際上運行的是“cmd.exe”或者“explorer.exe”,並且是“localsystem”權限,現在你就可以破解密碼了。最簡單的就是在“cmd.exe”裡運行“net user administrator”,成功後管理員密碼也被清空,關閉“cmd”或者“explorer”就可以用空口令登陸了。
使用軟件修改密碼
Passware Kit Enterprise這款軟件可以自動把administrator密碼修改為12345,重啟系統後用此賬號登錄,然後在“控制面板”用戶中,再重新修改管理員密碼即可。
Passware Kit Enterprise可以找回多種辦公室應用程序檔案失去或忘記的密碼,包括Excel、Word、Windows 2003/XP/2K/NT、Lotus Notes、RAR、 WinZip、Access、Outlook、Acrobat、Quicken、QuickBooks、WordPerfect以及VBA,在此我們只需要使用其中的Windows KEY功能。
Windows KEY運行後,主界面如圖3所示,在軟驅中放一張空白軟盤(注意:必須是空白軟盤,否則不能繼續操作),生成一張恢復系統管理員的密碼盤,其中共3個文件,分別是Txtsetup.oem、Winkey.sys和Winkey.inf,共417KB。現在用Windows XP安裝光盤啟動電腦,啟動過程中按F6鍵讓系統采用第三方驅動程序。此時,放入該軟盤就會自動跳到Windows KEY的界面。這時它會強行把administrator的密碼換成“12345”。當你重新啟動以後,就要求再次修改密碼。
使用腳本恢復Windows XP用戶密碼
Windows XP啟動腳本(startup scripts)是計算機在登錄屏幕出現之前運行的批處理文件,它的功能類似於Windows 9x和DOS中的自動執行批處理文件autoexec.bat。利用這個特性,可以編寫一個批處理文件重新設置用戶密碼,並將它加入啟動腳本中,這樣就達到了恢復密碼的目的。以下是具體步驟(假設系統目錄為C:\Windows):
使用Windows 98啟動盤啟動電腦,編寫一個能恢復密碼的批處理文件a.bat,內容只需要一條“net user”命令即可。如“Net user guozy 123456”,這條命令的意思是將用戶guozy的密碼設置為“123456”。然後將文件a.bat保存到“C:\Windows\system32\GroupPolicy\Machine\Scripts\Startup”下。編寫一個啟動/關機腳本配置文件scripts.ini,這個文件名是固定的,不能改變。內容如下:
[Startup]
0CmdLine=a.bat
0Parameters=
將文件scripts.ini保存到“C:\winnt\system32\GroupPolicy\Machine\Scripts”下。scripts.ini保存著計算機啟動/關機腳本的設置數據,文件內容通常包含兩個數據段:[Startup]和[Shutdown]。[Startup]數據段下是啟動腳本配置,[Shutdown]數據段下是關機腳本配置。每個腳本條目被分成腳本名和腳本參數兩部分存儲,腳本名保存在XCmdLine關鍵字下,參數保存在XParameters關鍵字下,這裡的X表示從0開始的腳本序號,以區別多個腳本條目和標志各腳本條目的運行順序。
取出Windows 98啟動盤,重新啟動電腦,等待啟動腳本運行。啟動腳本運行結束後用戶guozy的密碼就被恢復為“123456”。合並登錄成功後刪除上述步驟建立的兩個文件即可。