web-dev-qa-db-ja.com

hashcatでパスワードを見つけましたが、機能しません

私の割り当てでは、PowerPointファイルのパスワードを見つける必要がありました( 97 - 20 、v。8.0-v。11.0)。

ハッシュを取得するためにoffice2john.pyを使用し、ファイル名を削除しました。

ハッシュは次のとおりです。

$ oldoffice $ 3 * 1b085471a28011c5348c5f0b8f29d24e * 99294d3ebc790cfc325cca851f56d433 * 9e3556d0775d0aa198060a815be7be4c58e1fe2a

次に、次のコマンドでハッシュをhashcatに入れます。

hashcat64.exe  -m 9800 -a 3  s.hash ?l?l?l?l?l?l?l?l -D 1,2 -w 4

hashcatはそれをクラックしてパスワードを教えてくれましたが、PowerPointにパスワードを挿入すると、パスワードが間違っていると表示されます(iemuzqau) 。

私は何か間違ったことをしましたか?

63
Fabius

MS Office 97-2003のパスワードハッシュは 衝突攻撃に対して脆弱 です。つまり、ドキュメントを開くことができるはずのパスワードが複数存在します。

これは、「iemuzqau」というパスワードが、作成者が設定した元のパスワードであるとは限らないことも意味します。これは、正しいパスワードをチェックするための内部スキームと一致するため、受け入れる必要があるパスワードの1つにすぎません。

取得した$ 3タイプのハッシュの場合、hashcatメソッド9810および9820を使用して、生のブルートフォース(モード9800)よりも高速にパスワード候補を作成できます。最初に次のコマンドを実行することで機能するリンクされたスレッドによると:

hashcat64.exe -m 9810 -w 3 s.hash -o hash.rc4 -a 3 ?b?b?b?b?b

出力は次のようになります。

 $oldoffice$3*1b085471a28011c5348c5f0b8f29d24e*99294d3ebc790cfc325cca851f56d433*9e3556d0775d0aa198060a815be7be4c58e1fe2a:5ffd0b24bd

次に、そのコマンドの出力を取得して実行します。

hashcat64.exe -m 9820 -w 3 hash.rc4 -a 3 ?l?l?l?l?l?l?l?l?l?l --increment

これにより、次の出力が生成されます。

$oldoffice$3*1b085471a28011c5348c5f0b8f29d24e*99294d3ebc790cfc325cca851f56d433*9e3556d0775d0aa198060a815be7be4c58e1fe2a:5ffd0b24bd:iemuzqau
$oldoffice$3*1b085471a28011c5348c5f0b8f29d24e*99294d3ebc790cfc325cca851f56d433*9e3556d0775d0aa198060a815be7be4c58e1fe2a:5ffd0b24bd:cvsfjkwoa
$oldoffice$3*1b085471a28011c5348c5f0b8f29d24e*99294d3ebc790cfc325cca851f56d433*9e3556d0775d0aa198060a815be7be4c58e1fe2a:5ffd0b24bd:yrmbatnya
$oldoffice$3*1b085471a28011c5348c5f0b8f29d24e*99294d3ebc790cfc325cca851f56d433*9e3556d0775d0aa198060a815be7be4c58e1fe2a:5ffd0b24bd:mzvmxmyke
...

モード9820は、「クラッキングを続ける」モードである。つまり、最初の一致後に有効なパスワードの出力を停止しません。この動作は 最近変更されました だったため、使用するバージョンによっては、コマンドラインで--keep-guessingを指定する必要がある場合があります。

hashcatは有効な候補のみを生成する必要があるため、PowerPointでパスワードが受け入れられない理由は説明されていません。しかし、説明したワークフローを使用して、追加の有効なパスワードを生成し、それらを試すことができます。

95
Denis