Se você salvar um documento Word herdado (era .doc) com proteção contra edição, poderá encontrar a chave de senha armazenada no arquivo.
Para facilitar, isso pode ser encontrado salvando em um arquivo .xml ou .html e inspecionando a fonte do texto (mas você também pode retirá-lo do .doc original com um editor hexadecimal). Por exemplo, com a senha “senha”, você encontrará o seguinte na fonte:
<w:documentProtection w:edit="forms" w:enforcement="on" w:unprotectPassword="147A83AF"/>
Qual algoritmo é usado para produzir essa chave, que parece ser hexadecimal de 32 bits?
Responder1
Não consigo reproduzir essa saída com uma instalação atual do Office. Pelo menos esse valor deve significar "senha" de acordo comesse.
Levando em consideração essas fontes:
- PenTestCorner - Quebrando hashes de senha do Microsoft Office (97-03, 2007, 2010, 2013) com Hashcat
- InfoSecSee - Quebrando documentos Word, Excel e Powerpoint protegidos por senha
Parece que essas versões mais antigas estão usando uma combinação de Hashing e criptografia. Parece que você teria que verificar um pouco mais sobre o arquivo para descobrir que tipo de combinação ele está realmente usando.
InfoSecSee tem uma imagem bastante interessante em relação a isso:
Isso parece corresponder à lista do PenTestCorner:
- Office 97-03(MD5+RC4,oldoffice$0,oldoffice$1): sinalizador -m 9700
- Office 97-03(MD5+RC4,modo colisor#1): sinalizador -m 9710
- Office 97-03 (MD5 + RC4, modo de colisão nº 2): sinalizador -m 9720
- Office 97-03(SHA1+RC4,oldoffice$3,oldoffice$4): sinalizador -m 9800
- Office 97-03(SHA1+RC4,modo colisor#1): sinalizador -m 9810
- Office 97-03(SHA1+RC4,modo colisor#2): sinalizador -m 9820
- Office 2007: sinalizador -m 9400
- Office 2010: sinalizador -m 9500
- Office 2013: sinalizador -m 9600
Você teria que verificar os detalhes sobre como "Office2John" ou hashcat é implementado para descobrir mais como determinar qual algoritmo é usado, etc.