Encryption 解密Word文档,了解其部分内容

Encryption 解密Word文档,了解其部分内容,encryption,ms-word,Encryption,Ms Word,我有一个加密的.docx文档,我想恢复,但我不记得密码。我试着用蛮力强迫它,但它花的时间太长了,所以这不是我的选择。不过,我知道其中一部分的确切内容(296个字符)。有什么帮助吗?不幸的是,文档的一部分没有帮助 要获得明文,任何破解程序仍然需要尝试破解从文档导出的密码散列,并使用您的逻辑尝试解密文件并解释其内容,将其与已知明文进行比较。没有这样的功能,特别是对于专门的文档格式 下面是一个如何处理的示例: 文件:加密的_doc.docx 密码:123123 您必须使用office2john导出要从

我有一个加密的.docx文档,我想恢复,但我不记得密码。我试着用蛮力强迫它,但它花的时间太长了,所以这不是我的选择。不过,我知道其中一部分的确切内容(296个字符)。有什么帮助吗?

不幸的是,文档的一部分没有帮助

要获得明文,任何破解程序仍然需要尝试破解从文档导出的密码散列,并使用您的逻辑尝试解密文件并解释其内容,将其与已知明文进行比较。没有这样的功能,特别是对于专门的文档格式

下面是一个如何处理的示例:

文件:加密的_doc.docx

密码:123123 您必须使用office2john导出要从文档中破解的哈希

wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/office2john.py

python office2john.py encrypted_doc.docx > doc_pass_hash.txt
cat doc_pass_hash.txt 
encrypted_doc.docx:$**office$*2013***100000*256*16*e77e386a8e68462d2a0a703718febbc9*08ee275ccf4946ae0e5922e9ff3114b7*0ab5fc00964f7ed4be9e45c77a33b441b2c4874d28e4bc30f38e99bfb169fcf4
记住一些有关密码的信息(复杂性、一些选定的单词(如果有的话)、字符集等)可以帮助您运行一种更有效的方法来发现文档

wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/office2john.py

python office2john.py encrypted_doc.docx > doc_pass_hash.txt
cat doc_pass_hash.txt 
encrypted_doc.docx:$**office$*2013***100000*256*16*e77e386a8e68462d2a0a703718febbc9*08ee275ccf4946ae0e5922e9ff3114b7*0ab5fc00964f7ed4be9e45c77a33b441b2c4874d28e4bc30f38e99bfb169fcf4
运行hashcat--帮助查看您正在处理的文档文件:

   9700 | MS Office <= 2003 $0/$1, MD5 + RC4               | Documents
   9710 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #1  | Documents
   9720 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #2  | Documents
   9800 | MS Office <= 2003 $3/$4, SHA1 + RC4              | Documents
   9810 | MS Office <= 2003 $3, SHA1 + RC4, collider #1    | Documents
   9820 | MS Office <= 2003 $3, SHA1 + RC4, collider #2    | Documents
   9400 | MS Office 2007                                   | Documents
   9500 | MS Office 2010                                   | Documents
   9600 | MS Office 2013                                   | Documents
以下是hashcat指定密码的选项:

?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?h = 0123456789abcdef
?H = 0123456789ABCDEF
?s = «space»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff
您可以点击[s]查看状态:

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit => s

Session..........: hashcat
Status...........: Running
Hash.Type........: MS Office 2013
Hash.Target......: $office$*2013*100000*256*16*e77e386a8e68462d2a0a703...69fcf4
Time.Started.....: Sat May 30 16:59:30 2020 (3 mins, 41 secs)
Time.Estimated...: Next Big Bang (17614 years, 157 days)
Guess.Mask.......: ?d?d?d?l?l?l?l?l?d?d?d [11]
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:       21 H/s (7.50ms) @ Accel:128 Loops:32 Thr:1 Vec:8
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 4608/11881376000000 (0.00%)
Rejected.........: 0/4608 (0.00%)
Restore.Point....: 0/1188137600000 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:9-10 Iteration:24672-24704
Candidates.#1....: 623anane123 -> 612kerin123
正如您所见,这一次似乎不是很有效(
时间。估计…:下一次大爆炸(17614年,157天)
),但是,添加单词列表是一个好主意:

cat wordlist.txt
dog
horse
cat


hashcat -m 9600 -a 6 doc_pass_hash.txt wordlist.dict ?d?d?d?l?l?l?l?l?d?d?d --username -o cracked_pass.txt --forces

Session..........: hashcat
Status...........: Running
Hash.Type........: MS Office 2013
Hash.Target......: $office$*2013*100000*256*16*e77e386a8e68462d2a0a703...69fcf4
Time.Started.....: Sat May 30 17:15:34 2020 (1 min, 25 secs)
Time.Estimated...: Next Big Bang (734631 years, 226 days)
Guess.Base.......: File (wordlist.dict), Left Side
Guess.Mod........: Mask (?d?d?d?l?l?l?l?l?d?d?d) [11], Right Side
Guess.Queue.Base.: 1/1 (100.00%)
Guess.Queue.Mod..: 1/1 (100.00%)
Speed.#1.........:        2 H/s (0.47ms) @ Accel:128 Loops:32 Thr:1 Vec:8
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 129/35644128000000 (0.00%)
Rejected.........: 0/129 (0.00%)
Restore.Point....: 0/3 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:43-44 Iteration:32000-32032
Candidates.#1....: dog360verin123 -> cat360verin123
正如我们所看到的,这还不正确,因为候选项在掩码之前生成。所以这需要更多的调整。 您还可以定义特定的字符,例如:

hashcat -m 9600 -a 3 doc_pass_hash.txt ?d?d?dhorse?d?d?d --username -o cracked_pass.txt --force

Session..........: hashcat
Status...........: Cracked
Hash.Type........: MS Office 2013
Hash.Target......: $office$*2013*100000*256*16*e77e386a8e68462d2a0a703...69fcf4
Time.Started.....: Sat May 30 17:24:32 2020 (28 secs)
Time.Estimated...: Sat May 30 17:25:00 2020 (0 secs)
Guess.Mask.......: ?d?d?dhorse?d?d?d [11]
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:       18 H/s (8.21ms) @ Accel:128 Loops:32 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 512/1000000 (0.05%)
Rejected.........: 0/512 (0.00%)
Restore.Point....: 0/100000 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:99968-100000
Candidates.#1....: 123horse123 -> 112horse778

cat cracked_pass.txt
$office$*2013*100000*256*16*e77e386a8e68462d2a0a703718febbc9*08ee275ccf4946ae0e5922e9ff3114b7*0ab5fc00964f7ed4be9e45c77a33b441b2c4874d28e4bc30f38e99bfb169fcf4:123horse123
在文件末尾破解密码:123123

关于增加密码长度(--incremental)和组合攻击的规则和破解,还有更多需要阅读的内容,但是你知道了

以下是让您开始学习的官方基本示例:

- [ Basic Examples ] -

  Attack-          | Hash- |
  Mode             | Type  | Example command
 ==================+=======+==================================================================
  Wordlist         | $P$   | hashcat -a 0 -m 400 example400.hash example.dict
  Wordlist + Rules | MD5   | hashcat -a 0 -m 0 example0.hash example.dict -r rules/best64.rule
  Brute-Force      | MD5   | hashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?a
  Combinator  

 | MD5   | hashcat -a 1 -m 0 example0.hash example.dict example.dict

正确加密的要点是,即使你知道解密文本的一部分,也不能帮助你获得密钥⇐ 2003 MD5+RC4、oldoffice$0、oldoffice$1哈希算法(在hashcat网站上分类为9710),hashcat只允许定义正好5个字符长的掩码。我的问题是,如果密码长度超过5个字符,是否有可能破解它?因为在我的例子中,目前我不知道密码的长度,可能超过5个字符长
- [ Basic Examples ] -

  Attack-          | Hash- |
  Mode             | Type  | Example command
 ==================+=======+==================================================================
  Wordlist         | $P$   | hashcat -a 0 -m 400 example400.hash example.dict
  Wordlist + Rules | MD5   | hashcat -a 0 -m 0 example0.hash example.dict -r rules/best64.rule
  Brute-Force      | MD5   | hashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?a
  Combinator  

 | MD5   | hashcat -a 1 -m 0 example0.hash example.dict example.dict