最近,一位开发人员Leah Neukirchen在博客中透露了一个有趣的事件,Unix之父Ken Thompson的旧密码被成功破解了。在2014年,Leah在BSD 3源码树的文件转储中发现了一个/etc/passwd文件,其中包含了一些计算机领域中具有传奇色彩的工程师的旧密码,如Dennis Ritchie、Ken Thompson、Brian Kernighan、Steve Bourne和Bill Joy等Unix开发大师。Leah对这些密码产生了浓厚的兴趣,因为它们是基于DES加密算法的散列值,而DES算法是一种弱加密算法,最多只能加密8个字符。因此,Leah决定尝试破解这些密码。
Leah使用了一些破解工具,如John the Ripper和hashcat。很快,Leah成功破解了其中一些较为脆弱的密码,以下是一些已破解的密码和其对应的哈希值:
- gfVwhuAMF0Trw: dmac
- Pb1AmSpsVPG0Y: uio
- ymVglQZjbWYDE: /.,/,
- c8UdIntIZCUIA: bourne
- AAZk9Aj5/Ue0E: foobar
- E9i8fWghn1p/I: apr1744
- IIVxQSvq1V9R2: axolotl
- 9EZLtSYjeEABE: network
- P0CHBwE/mB51k: whatnot
- Nc3IkFJyW2u7E: …hello
- olqH1vDqH38aw: sacristy
- 9ULn5cWTc0b9E: sherril
- N33.MCNcTh5Qw: uucpuucp
- FH83PFo4z55cU: wendy!!!
- OVCPatZ8RFmFY: cowperso
- X.ZNnZrciWauE: 5%ghj
- IL2bmGECQJgbk: pdq;dq
- 4BkcEieEtjWXI: jilland1
- 8PYh/dUBQT9Ss: theik!!!
- lj1vXnxTAPnDc: sn74193n
尽管这些破解出来的密码相对简单,但Ken Thompson的密码却没有被破解。Leah花了几天的时间尝试对所有小写字母和数字进行彻底遍历,但仍然没有成功。这让Leah更加好奇,因为这个加密算法是由Ken和Morris开发的。Leah还发现,与其他密码散列方案(如NTLM)相比,Crypt(3)的破解速度要慢得多。
Leah猜测Ken可能使用了大写字母甚至特殊字符作为密码。如果是这种情况,在现代GPU上穷举搜索一个7位密码可能需要两年甚至更长时间,因此Leah放弃了进一步的分析。然而,在10月初,这个话题再次在Unix Heritage Society邮件列表上引起了关注。Leah分享了自己的破解结果和进展,并表示自己无法破解Ken的密码。当众多黑客陷入困惑时,澳大利亚工程师Nigel Williams声称成功破解了Ken的密码,并在邮件中描述了密码的结果:
Ken的密码是:ZghOT0eRm4U9s:p/q2-q4!
乍一看,p/q2-q4!看起来像一个数学公式,但实际上它是一种古老的符号,代表国际象棋中棋子的走位。它的意思是“线上的兵(Pawn)向前移动2个方格(Pawns in the line move forward 2 squares)”。其中q代表Queen,p代表Pawn,这种走棋记谱法属于国际象棋的代数记谱法。
Ken的密码选择了皇后前面的兵(Queen’s Pawn Opening),这是一种在游戏开始时占据棋盘中心位置的常用策略。这个想法只能是Ken独有的,因为他是一个国际象棋爱好者,曾经是1980年第3届全球计算机国际象棋锦标赛的冠军,也是国际象棋程序Belle的作者之一。
当Ken在邮件中得知这个消息后,对Williams表示了赞赏。这个故事让人回忆起多年前,我QQ的密码是a,如此简单而又引人注目。
来源:oschina.net/news/110478/