私の割り当てでは、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) 。
私は何か間違ったことをしましたか?
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でパスワードが受け入れられない理由は説明されていません。しかし、説明したワークフローを使用して、追加の有効なパスワードを生成し、それらを試すことができます。