Password

嘗試使用 John 破解弱密碼

  • August 2, 2015

我有一台 1990 年代的電腦。它有一個(範圍)EFS 文件系統,無法在 linux 中寫入,因此我無法手動重置密碼。所以我必須破解我的密碼。為此,我正在嘗試使用開膛手約翰。

在文件 me2 中,我有一個來自原始 /etc/passwd 文件的條目:root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh

來自另一個執行緒的一些人建議這可能是 DES 密碼。

所以在這裡,我試圖破解這個密碼,這樣我就可以重新進入這台電腦。

sudo john me2
Loaded 1 password hash (descrypt, traditional crypt(3) [DES 128/128 SSE2-16])
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: MaxLen = 13 is too large for the current hash type, reduced to 8

我看到了警告,我想知道這意味著什麼。我讓開膛手約翰跑了幾個小時然後回來了。看起來它還在繼續……所以我在想一定有什麼不對勁。

你的 root 密碼是qwer134.

% /usr/sbin/john --show pwdfile 
root:qwer134:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:passwd1:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp:NO PASSWORD:10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico

3 password hashes cracked, 0 left

john 花了 2.5 天找到 root 密碼,而且很容易花費更長的時間。您可以加密密碼以驗證雜湊是否真正匹配:

% perl -le 'print crypt("qwer134", "8s")' 
8sh9JBUR0VYeQ

此密碼使用傳統的基於 DES 的方法進行雜湊處理。這種方法並沒有那麼糟糕,它允許直接從雜湊中找到密碼。它需要蠻力,即計算密碼雜湊,直到找到正確的。這種散列方式的壞處在於散列計算比較快,而且密碼限制為8個字元(salt也太小了)。John的基準測試高達每核每秒約 600 萬次。

對於大多數人為選擇的密碼,每秒 600 萬次意味著近乎即時的破解。但是如果在所有可能的8個可列印字元的密碼中隨機選擇密碼,則大約有6.7×10 15 個可能的密碼,這意味著大約12800天的累積CPU時間。

您沒有指定這是許多名為 EFS 的文件系統中的哪一個。對於大多數文件系統,只要文件未壓縮或加密,您就可以在磁碟映像中搜尋文件內容。在不了解文件系統結構的情況下修改文件不太可能起作用,除非您更改字節並保持文件大小不變。因此,假設文件未壓縮或加密,您可以執行以下操作:

  • 將磁碟插入執行 Linux 或其他 Unix 變體的電腦。
  • 製作磁碟映像的副本。這很重要:如果您絆倒了,您可能會使原件無法恢復。
  • 使用二進制工具passwd在磁碟映像中定位文件的內容。請參閱在塊設備上查找/替換?
  • 替換root:8sh9JBUR0VYeQ:為長度相等的字元串,該字元串是您知道的密碼的雜湊值。您可以使用perl -le 'print crypt("swordfis", "aa")'swordfis.

或者,如果您有物理訪問權限,電腦可能會提供一種繞過正常啟動過程的方法。

引用自:https://unix.stackexchange.com/questions/219584