我正在为C中的linux编写一个程序,以从Windows注册表配置单元中提取wpa/wep密钥。Windows注册表解密(CryptUnprotectData)WPA密钥
最初我希望使用Wine的CryptUnprotectData函数,但现在我意识到葡萄酒使用了不同的算法,只是模仿了窗口的版本。我也意识到只有加密数据的用户才能解密它。
我使用aircrack-ng套件中的wzcook作为指导。 http://tools.assembla.com/b6stFY7MOr2QtlaaeP0Qfc/browser/Windows/wzcook/wzcook.c
我已经从蜂巢提取数据没有问题,但我有点卡在如何解密密钥。
如果密钥在注册表中为一个用户加密,那么另一个用户如何解密该数据?我确定他们不必重新键入psk /密码,如果它已经存储了?
即使在离线状态(从linux访问配置单元)时,数据是否完全加密?
解决此问题的任何其他解决方案,而不是逆向工程微软的算法? :D
任何帮助/建议你可以给予真的很感激,
谢谢。
我可以想像它实际是加密的。 – 2010-10-12 13:05:31
您可能对chntpw感兴趣 - 另一个项目,它可以脱机读取/写入Windows注册表(即从Linux)。他们的目标是更改用户密码,我不确定是否使用相同的加密/解密机制。 http://freshmeat.net/projects/chntpw/ – Piskvor 2010-10-12 13:08:05
谢谢,我知道chntpw。据我所知,它只是改变或空白用户的密码,而不是解密它。我知道你可以对Windows密码哈希进行字典攻击,所以我猜测它不是一样的加密。我对此不太了解。 感谢您的回复。 – jcul 2010-10-12 17:41:04