我的任务要求我为一个PowerPoint文件找到密码(97 - 2003年年,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 4hashcat破解了它并给了我密码,但是当我在PowerPoint中插入密码时,它说密码是错误的(iemuzqau)。
我做错什么了吗?
发布于 2019-06-16 11:31:45
MS 97-2003的密码散列为易受碰撞攻击。也就是说,存在多个能够打开文档的密码。
这也意味着密码"iemuzqau“不一定是作者设置的原始密码。它只是应该被接受的密码之一,因为它匹配内部方案来检查正确的密码。
对于您获得的$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,这取决于您使用的版本。
这并不能解释为什么PowerPoint不接受您的密码,因为hashcat只应该生成有效的候选密码。但是,也许您可以使用描述的工作流生成额外的有效密码并尝试它们。
https://security.stackexchange.com/questions/211918
复制相似问题