跳轉到內容

反向工程/破解 Windows XP 密碼

來自華夏公益教科書,開放的書籍,開放的世界

本頁介紹如何在 Windows XP 機器上破解(恢復)密碼,這是一個計算上很困難的過程。如果你只需要設定一個新密碼(而不需要恢復舊密碼),那麼本指南不適合你。為此,你可以使用例如免費軟體工具 Offline NT Password & Registry Editor 或其他類似的程式。

Windows XP 密碼使用 雜湊 函式,方法是 LM 雜湊NTLM 雜湊(長度不超過 14 個字元的密碼)或僅 NTLM 雜湊(長度超過 15 個字元的密碼)。這些雜湊值儲存在 C:\WINDOWS\system32\config\SAM 中。 SAM 檔案使用 C:\WINDOWS\system32\config\system 進行加密,並在 Windows 執行時鎖定。此檔案是一個登錄檔配置單元,在 Windows 執行時被掛載到 HKLM\SAM。SYSTEM 帳戶是唯一能夠讀取此登錄檔部分的帳戶。要獲取密碼,你需要關閉 Windows, 解密 SAM 檔案,然後破解雜湊值。如果一切順利,你將在 15 分鐘內獲取到密碼。

也可以使用像 pwdump 這樣的軟體從正在執行的系統中獲取雜湊值。但是,需要在具有管理員許可權的帳戶下執行。

三種恢復 Windows 密碼的方法

[編輯 | 編輯原始碼]

通常,我們可以透過兩種傳統方式恢復 Windows 管理員密碼。第一種是使用另一個管理員帳戶更改螢幕密碼;第二種是使用之前建立的 Windows 密碼重置磁碟來恢復以前的密碼。以 Windows XP 為例,

  • 在 Windows XP 登入提示符下,當密碼輸入錯誤時,點選登入失敗視窗中的重置按鈕。
  • 將密碼重置軟盤插入電腦,然後點選下一步。
  • 如果軟盤正確,Windows XP 將開啟一個視窗,提示你輸入要使用的新的密碼。

然而,我們經常忽視安全的重要性,直到我們被鎖在電腦外面。幸運的是,還有最後一種方法可以在不重新安裝的情況下解鎖你的電腦 - 使用 Windows 密碼重置 CD 刪除 Windows 密碼,它可以恢復 Windows 7/XP/Vista/NT/2000/2003.... 以 Windows 密碼解鎖工具為例,以下是建立重置 CD 的步驟

  • 從密碼解鎖工具官方網站下載 Windows 密碼解鎖工具
  • 解壓縮 Windows 密碼解鎖工具,注意有一個 .ISO 映像檔案。使用密碼解鎖工具免費支援的燒錄機將映像檔案刻錄到空白 CD 上。
  • 將新建立的 CD 插入鎖定的電腦,並從 CD 驅動器啟動。
  • 啟動 CD 後,會彈出一個視窗,顯示你所有帳戶的名稱(如果你有多個帳戶),選擇你忘記了密碼要重置的一個帳戶。

LoginRecovery.com 服務的詳細說明

[編輯 | 編輯原始碼]
  • 訪問 http://loginrecovery.com/,並在主頁上點選下載軟盤映像或 CD 映像的選項。如果你使用軟盤映像,將空白軟盤插入電腦,執行程式,就會建立一個可啟動的軟盤。如果你使用 CD 版本,你需要使用專門燒錄 ISO 映像的軟體手動將 ISO 映像刻錄到 CD 上。
  • 將軟盤或 CD 插入你想要提取密碼的目標電腦。然後啟動電腦。你可能需要修改 BIOS 設定以確保從軟盤驅動器或 CD 啟動。
  • 如果你使用的是軟盤驅動器,螢幕上會短暫顯示一些資訊,然後電腦會關機。在軟盤上會建立一個名為 "upload.txt" 的新檔案,其中包含加密的密碼。如果你使用的是 CD 版本,加密的密碼會顯示在螢幕上;將其寫到文字檔案中。
  • 如果你想等待長達 48 小時或付費獲取密碼,你可以將檔案上傳到 LoginRecovery 網站。否則,請繼續閱讀。
  • 該檔案將包含多個兩行條目,每個條目對應一個帳戶。複製你要的帳戶的這兩行,並將其貼上到 此工具 中,將其解碼為 "pwdump" 格式。
  • 使用以下部分中的任何工具來解碼 pwdump 雜湊值。
  • 如果從 pwdump 中檢索到的資訊的第一部分為空,則未儲存 LM 雜湊值。這意味著密碼為空,在這種情況下它將如下所示
Administrator:500:0:
_31,D6,CF,E0,D1,6A,E9,31,B7,3C,59,D7,E0,C0,89,C0,xxxxx:::

如果顯示其他內容,則表示他們實現了更好的安全措施,迫使你破解 NTLM 雜湊值,這要困難得多,超出了本指南的範圍。

  • 這僅適用於長度不超過 14 個字元的密碼
  • 如果 Windows 2000/XP/2003 中的密碼長度超過 14 個字元,它將被縮短為兩個長度為 7 個字元的雜湊值
  • 另一種使用相同方法將已知雜湊值與未知雜湊值進行比較的方法稱為 RainbowCrack,可在 http://www.antsight.com/zsl/rainbowcrack/ 獲取,雖然該程式使用 彩虹表,其大小可能超過 64 Gb;這些表可在 http://rainbowtables.shmoo.com/ 獲取
  • 一個將已知雜湊值與未知雜湊值進行比較的綜合專案位於 http://www.rainbowcrack.com/,但它要求你提交一個彩虹表才能訪問他們的伺服器

防禦攻擊

[編輯 | 編輯原始碼]

Mac OS X 10.3

[編輯 | 編輯原始碼]

Mac OS X 10.3 (Panther) 也會為每個使用者儲存隱藏的 LM+NTLM 雜湊值。可以使用與上述 Windows 雜湊值相同的方式破解它們

  • 首先使用以下命令查詢你要的使用者對應的 "generateduid"
$ niutil -readprop . /users/<username> generateduid
70902C33-AC79-11DA-AFDF-000A95CD9AF8
  • 雜湊值儲存在以下檔案中/var/db/shadow/hash/<generateduid>. 該檔案長度為 104 個字元,包含 64 個字元的 NTLM+LM 雜湊值和 40 個字元的 SHA1 雜湊值。要檢索 NTLM+LM 雜湊值,你可以以管理員身份執行以下命令,例如
$ sudo cut -c1-64 /var/db/shadow/hash/70902C33-AC79-11DA-AFDF-000A95CD9AF8
996E6760CDDD8815A2C24A110CF040FBCC5E9ACBAD1B25C9AAD3B435B51404EE
  • 雜湊值儲存的順序與 pwdump 格式相反(NTLM 優先而不是 LM 優先),因此你需要交換 32 個字元的半部分並在它們之間插入一個冒號
CC5E9ACBAD1B25C9AAD3B435B51404EE:996E6760CDDD8815A2C24A110CF040FB
  • 然後按照 Windows 密碼的說明操作

Mac OS X 10.4

[編輯 | 編輯原始碼]

Mac OS X 10.4 (Tiger) 透過僅為啟用 Windows 共享帳戶的使用者儲存 LM+NTLM 雜湊值來提高安全性;當他們啟用 Windows 共享時,它會要求他們輸入密碼並提示他們的密碼將以不太安全的格式儲存。但是,對於那些啟用了 Windows 共享的使用者的,上述方法仍然有效。shadow 檔案的格式略有不同,但 LM+NTLM 雜湊值仍然是前 64 個字元。如果未儲存雜湊值,在嘗試檢索雜湊值時,你將獲得全為 0 的值。

Samba 密碼

[編輯 | 編輯原始碼]

在舊版本的 Samba 中,Samba 使用者的密碼雜湊值儲存在 /etc/smbpasswd 檔案中(位置可能會有所不同,只有 root 有權訪問),格式與上述 Windows 密碼雜湊值類似。在較新版本的 Samba 中,以 root 身份執行以下命令以獲取相同的資訊

pdbedit -L -w
華夏公益教科書