7-Zip パスワード 解読

7-Zip 形式でパスワードが掛けられたアーカイブファイルを解読する手順

ハッシュ値の抽出

7z2hashcat.pl の準備

7-Zip に掛けられたパスワードによって生成されたハッシュ値を計算するために、7z2hashcat.pl を準備する。

github.com

上記サイトによると、 7z2hashcat.pl を実行するには Perl と、7-Zipの形式によっては Compress::Raw::Lzma というPerlモジュールが必要な模様

git clone https://github.com/philsmd/7z2hashcat.git
sudo cpan Compress::Raw::Lzma
cd 7z2hashcat

ハッシュ値の導出

./7z2hashcat 【解読する7-Zipファイル】 > ~/hash.txt

~/hash.txt にハッシュ値が入ったファイルが作成される。

パスワード解読

hashcat のインストール

ハッシュ値からパスワードを計算する hashcat を準備する。 今回はOpenCLを使うので下記の通り。

git clone https://github.com/hashcat/hashcat.git
mkdir -p hashcat/deps
git clone https://github.com/KhronosGroup/OpenCL-Headers.git hashcat/deps/OpenCL
cd hashcat
make

hashcat によるパスワード解読

様々なオプションがあるので、公式サイトや ./hashcat --help を参照

最低限は下記の通りで解析は始まる。

./hashcat -m 11600 -a 3 ~/hash.txt

-m 11600 は 7-Zip
-a 3 は総当たり攻撃 を指定している。