EXCELのパスワード忘れちゃった!助けて!

開けなくなったEXCEL 2013 のファイルを開いてほしいという依頼が来たのでやってみました。

ex
ZIPファイルにして、パスワードの分かってるEXCELと挿げ替えるだけ…と思ったら最近のEXCELは勝手が違うようです。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<encryption xmlns=
"http://schemas.microsoft.com/office/2006/encryption"
xmlns:p="http://schemas.microsoft.com/office/2006/keyEncryptor/password" xmlns:c="http://schemas.microsoft.com/office/2006/keyEncryptor/certificate">
<keyData saltSize="16" blockSize="16" keyBits="256" hashSize="64"
cipherAlgorithm="AES" cipherChaining="ChainingModeCBC"
hashAlgorithm="SHA512" saltValue="8gA5U2Dg1MdId6RViA7dDw=="/>
<dataIntegrity encryptedHmacKey="wyrVsj6Y5rKI3IQCNc/RViuLMdS3jnZAzL
Wr48c1tUD0xIR34xlOxzaPpIbQWdhmhD4MThZeD1Q2xS+9DPypaQ=="
encryptedHmacValue="xKkE0kpoNjfWftwSWdFibPoDqj4HqMr3teiAomO
VFOrkqzu/8LQfBlBX3+FT2Eac1MEniwRk0zZtpPwgIp6vKw=="/>
<keyEncryptors><keyEncryptor
uri="http://schemas.microsoft.com/office/2006/keyEncryptor/password">
<p:encryptedKey spinCount="100000" saltSize="16" blockSize="16"
keyBits="256" hashSize="64" cipherAlgorithm="AES"
cipherChaining="ChainingModeCBC" hashAlgorithm="SHA512"
saltValue="opO0LEJVHAwmybXxI0Nv5g=="
encryptedVerifierHashInput="Jk3R9AH6yA9D+7k+XtbHBA==" encryptedVerifierHashValue="9QWOBRHDDqCoiMcnNBEit+S1YwANHDKo
MKsuScYa7ogyoaaD7y7CvV+PwvocWisL4OCkiZLgKWe07QQu/zqsaA==" encryptedKeyValue="PGbCIgyOFYYh1ISjQ1NfwGQr80zneEZPnA82W6YjjTk="/></keyEncryptor></keyEncryptors></encryption>

なんと、ちゃんと暗号がかかってる!
これでは正攻法で行くしかなさそう!

サイトを検索すると、PassFab for Excelというシェアウェアを勧められるのだけど、これはお金を払えば解析が簡単にできるように見せかけてるけど、結局は総当たりでパスワードを解析するソフトなので、あんまり効率よくないですね・ω・

EXCELの中身を見ると
saltValue
encryptedVerifierHashInput
なんてハッシュがあるので、これを使って解析できないか調べてみたよ

エクセルのPWをhashcatでクラックする!+セキュリティの話 | らてろぐ
そして行き着いたサイトがここなのだけどここに書いてるやり方少し不備があるようだ

最後のencryptedVerifierHashValueを変換すると

38286bbde6b94899fd30d35852d9d5dcc90c415fb63c291111c36ba3977e6f0e0f57e75d3ebbec63a69bb7175eb9109dc9ad4ff2e3155f1662d2afa1a9752ada

になるのだけど、前半分の赤字の部分しか使わないようだ。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <encryption xmlns=
"http://schemas.microsoft.com/office/2006/encryption"
xmlns:p="http://schemas.microsoft.com/office/2006/keyEncryptor/password" xmlns:c="http://schemas.microsoft.com/office/2006/keyEncryptor/certificate">
<keyData saltSize="16" blockSize="16" keyBits="256" hashSize="64"
cipherAlgorithm="AES" cipherChaining="ChainingModeCBC"
hashAlgorithm="SHA512" saltValue="8gA5U2Dg1MdId6RViA7dDw=="/>
<dataIntegrity encryptedHmacKey="wyrVsj6Y5rKI3IQCNc/RViuLMdS3jnZAzL
Wr48c1tUD0xIR34xlOxzaPpIbQWdhmhD4MThZeD1Q2xS+9DPypaQ=="
encryptedHmacValue="xKkE0kpoNjfWftwSWdFibPoDqj4HqMr3teiAomO
VFOrkqzu/8LQfBlBX3+FT2Eac1MEniwRk0zZtpPwgIp6vKw=="/>
<keyEncryptors><keyEncryptor
uri="http://schemas.microsoft.com/office/2006/keyEncryptor/password">
<p:encryptedKey spinCount="100000" saltSize="16" blockSize="16"
keyBits="256" hashSize="64" cipherAlgorithm="AES"
cipherChaining="ChainingModeCBC" hashAlgorithm="SHA512"
saltValue="opO0LEJVHAwmybXxI0Nv5g=="
encryptedVerifierHashInput="Jk3R9AH6yA9D+7k+XtbHBA==" encryptedVerifierHashValue="9QWOBRHDDqCoiMcnNBEit+S1YwANHDKo
MKsuScYa7ogyoaaD7y7CvV+PwvocWisL4OCkiZLgKWe07QQu/zqsaA==
" encryptedKeyValue="PGbCIgyOFYYh1ISjQ1NfwGQr80zneEZPnA82W6YjjTk="/></keyEncryptor></keyEncryptors></encryption>

使用するのはこの部分

1. a293b42c42551c0c26c9b5f123436fe6
2. 264dd1f401fac80f43fbb93e5ed6c704
3. f5058e0511c30ea0a888c727341122b7e4b563000d1c32a830ab2e49c61aee88
    32a1a683ef2ec2bd5f8fc2fa1c5a2b0be0e0a48992e02967b4ed042eff3aac68

変換するとこうなるので

$office$*2013*100000*256*16*a293b42c42551c0c26c9b5f123436fe6*
264dd1f401fac80f43fbb93e5ed6c704*f5058e0511c30ea0a888c72734
1122b7e4b563000d1c32a830ab2e49c61aee88

hashファイルはこうなる

C:\hashcat-6.2.5>hashcat -m 9600 --session ex2 -a 3 EncryptionInfo.txt ?a?a?a
hashcat (v6.2.5) starting

OpenCL API (OpenCL 2.1 ) - Platform #1 [Intel(R) Corporation]
=============================================================
* Device #1: Intel(R) UHD Graphics 620, 1568/3225 MB (806 MB allocatable), 24MCU

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Optimizers applied:
* Zero-Byte
* Single-Hash
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP
* Uses-64-Bit

Watchdog: Hardware monitoring interface not found on your system.
Watchdog: Temperature abort trigger disabled.

Host memory required for this attack: 176 MB

The wordlist or mask that you are using is too small.
This means that hashcat cannot use the full parallel power of your device(s).
Unless you supply more work, your cracking speed will drop.
For tips on supplying more work, see: https://hashcat.net/faq/morework

Approaching final keyspace - workload adjusted.

$office$*2013*100000*256*16*a293b42c42551c0c26c9b5f123436fe6*
264dd1f401fac80f43fbb93e5ed6c704*f5058e0511c30ea0a888c72734
1122b7e4b563000d1c32a830ab2e49c61aee88:mof

Session..........: ex2
Status...........: Cracked
Hash.Mode........: 9600 (MS Office 2013)
Hash.Target......: $office$*2013*100000*256*16*a293b42c42551c0c26c9b5f...1aee88
Time.Started.....: Tue Mar 29 18:12:36 2022 (7 secs)
Time.Estimated...: Tue Mar 29 18:12:43 2022 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Mask.......: ?a?a?a [3]
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 7 H/s (4.14ms) @ Accel:16 Loops:128 Thr:64 Vec:1
Recovered........: 1/1 (100.00%) Digests
Progress.........: 52/676 (7.69%)
Rejected.........: 0/52 (0.00%)
Restore.Point....: 0/26 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:1-2 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#1....: mon -> moq

Started: Tue Mar 29 18:12:29 2022
Stopped: Tue Mar 29 18:12:44 2022

ちなみに
?a?a?a はランダムな3文字での検索 ・ω・

詳しいパラメータはここを見ると良いかも

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です