互联网史上最复杂的谜团:蝉3301
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
利维坦按:文章很长,有耐心者请留意文中细节。 文/以实玛利 文章仅为作者观点,不代表利维坦立场 2012年1月4日,一位匿名用户在4chan上发表了一张只有文字的图片,文字内容如下: 你好。我们正在寻找一些高智商的个体。 为了找到他们,我们设计了一个测试。 在这张图片中有一条隐藏信息。 找到它,它会指引你走上发现我们的道路。 我们期待与那些成功通过整个测试的少数见面。 祝好运。 3301 这个在4chan/b/板块发表的帖子几乎迅速吸引了每一个浏览该板块的人注意,同时也吸引了大量的解谜爱好者。这封署名为“3301”的邀请信将要引发的,是一场互联网历史上前所未有、最为复杂的寻宝游戏。 3301的第一份线索。图源:uncovering-cicada.wikia.com Cicada 3301 很快,有人发现了当用文本编辑软件打开图片后,在生成的一大堆代码中有这样一段信息: CLAVDIVS CAESAR says "lxxt> 33m2mqkyv2gsq3q = w] O2ntk" 利用文本的提示以恺撒加密(Caesar cipher,将每个字母替换成字母表中后移四位的字母,在这里同样适用于字符)的方式还原文本中的那行乱码,出现的是一段URL链接,通过链接生成了一张鸭子图片: “啊哦,这条路是个圈套。看来你没法把信息给猜出来了。”图源:uncovering-cicada.wikia.com 在搜索这张图片的线索时似乎碰上了一条死路。但不久后解谜者们发现线索藏在图片中的文字里:“guess”和“out”指向一款图片隐写软件outguess,在软件中打开图片后是一段信息: “这是一段书码。要找到这本书,和其他更多的信息, 前往 http://www.reddit.com/r/a2e7j6ic78h0j/ 1:20, 2:3, 3:5, 4:20, 5:5, 6:53, 7:1, 8:8, 9:2, 10:4, 11:8, 12:4, 13:13, 14:4, 15:8, 16:4, 17:5, 18:14, 19:7, 20:31, 21:12, 22:36, 23:2, 24:3, 25:5, 26:65, 27:5, 28:1, 29:2, 30:18, 31:32, 32:10, 33:3, 34:25, 35:10, 36:7, 37:20, 38:10, 39:32, 40:4, 41:40, 42:11, 43:9, 44:13, 45:6, 46:3, 47:5, 48:43, 49:17, 50:13, 51:4, 52:2, 53:18, 54:4, 55:6, 56:4, 57:24, 58:64, 59:5, 60:37, 61:60, 62:12, 63:6, 64:8, 65:5, 66:18, 67:45, 68:10, 69:2, 70:17, 71:9, 72:20, 73:2, 74:34, 75:13, 76:21 好运 3301 打开信息中提到的链接,就会进入一个subreddit页面①。页面中全是加密的文本,subreddit创建者名为“a2e7j6ic78h0j”。 在今天依然可以用旧版reddit访问该页面。 页面的用户创建者为”a2e7j6ic78h0j”。 在页面中能找到这样两条名为“welcome”和“problems”的图片附件。 “welcome”。图源:Reddit “problems”。图源:Reddit 将“problems”用outguess打开,其中的内容: 钥匙一直就在你眼前。 这不是一场寻找圣杯(The Holy Grail)的任务, 不要把它变得更复杂。 祝好运。 3301 同时不难注意到,在页面顶端有一行奇怪的符号。一番研究后,可以确定这是一行玛雅数字,对应“10 2 14 7 19 6 18 12 7 8 17 0 19”。 玛雅数字对照表。图源:wikipedia 我们只要将“10 2 14 7 19 6 18 12 7 8 17 0 19”和创建者下方的“a2e7j6ic78h0j7eiejd0120”对比,就能发现前者的第二个数字“2”对应后者的第二位“2”,前者中的第四个数字“7”对应后者第四位“7”。将玛雅数字和后者序列交叉对比,能够将后者序列还原为纯数字串: “10, 2, 14, 7, 19, 6, 18, 12, 7, 8, 17, 0, 19, 7, 14, 18, 14, 19, 13, 0, 1, 2, 0” 以a=0,b=1,c=2的规律,又能将数字串转化为纯字母: “k, c, o, h, t, g, s, m, h, i, r, a, t, h, o, s, o, t, n, a, b, c, a” 上面这两行就是“problems”中提到的钥匙。 于是Subreddit页面的破译方式如下: 以其中一行为例,利用我们手上的第一行“钥匙”,从头对齐乱码,那么“U k b n”对应数字开头“10 2 14 7”,数字代表着其对应字母在字母表中迁移的位数(效仿前面的凯撒码)。字母U在字母表中前移10位变为K;k前移两位变为i;稍微特殊的是b,由于b在字母表中已经没有前移14位的空间,在移到第一位a后就要接到字母z继续移动完剩下的步数。同时钥匙需要反复使用,一旦数字用尽,重置数字串。 这样,我们就能破译出这行文字: “King Arthur was at Caerlleon upon Usk; and one day he sat in his” 最终,破译出的全文来自威尔士散文集《马比诺吉昂》(Mabinogion)中一篇关于亚瑟王的传说②。 图源:uncovering-cicada.wikia.com 利用我们手中的第二行钥匙,可以对破译出的文本进行验证。 现在我们手上有了“书”,是时候回到“鸭子”所提示的一大串“book code”: “1:20, 2:3, 3:5, 4:20, 5:5, 6:53, 7:1, 8:8, 9:2, 10:4, 11:8, 12:4, 13:13, 14:4, 15:8, 16:4, 17:5, 18:14, 19:7, 20:31, 21:12, 22:36, 23:2, 24:3, 25:5, 26:65, 27:5, 28:1, 29:2, 30:18, 31:32, 32:10, 33:3, 34:25, 35:10, 36:7, 37:20, 38:10, 39:32, 40:4, 41:40, 42:11, 43:9, 44:13, 45:6, 46:3, 47:5, 48:43, 49:17, 50:13, 51:4, 52:2, 53:18, 54:4, 55:6, 56:4, 57:24, 58:64, 59:5, 60:37, 61:60, 62:12, 63:6, 64:8, 65:5, 66:18, 67:45, 68:10, 69:2, 70:17, 71:9, 72:20, 73:2, 74:34, 75:13, 76:21” 每一对数字代表一个字母,第一个数字代表行数,第二个代表位数。对照着手上的书,我们能将整串书码翻译成文字: “Call us at us tele phone numBer two one four three nine oh nine six oh eight” 跟随提示拨打2143909608,会听到一段音频信息: 非常好。 你干的不错。 一共有三个和初始final.jpg相关的质数。3301是其中一个。 你必须找到另外两个。 将三个数相乘后加个.com以找到下一步线索。 祝好运。 再见。 结果发现3301发布的第一张图片的长宽像素分别为509和503,恰好是两个质数。将这两个数和3301相乘得到网址http://845145127.com/,进入页面后出现的是一个蝉(Cicada)的图像和一行不断倒数的时间。 再一次使用outguess运行蝉的图片: 干得好,你已经走到了这里。 耐心是项美德。 在星期一的17:00,UTC 2012年1月9日回来这里。 3301 就这样,3301失去音讯,解谜者们翘首以盼。终于,约定的日期到了。 页面的倒数消失,取而代之的是14个坐标: 14个坐标分散在世界各地(注:有两个坐标基本重叠在韩国)。图源:Google 52.216802, 21.018334 48.85057059876962, 2.406892329454422 48.85030144151387,2.407538741827011 47.664196, -122.313301 47.637520, -122.346277 47.622993, -122.312576 37.5196666666667, 126.995 33.966808, -117.650488 29.909098706850486 -89.99312818050384 25.684702, -80.441289 21.584069, -158.104211 - -33.90281, 151.18421 36.0665472222222, -94.1726416666667 37.577070, 126.813122 慢慢地所有人都意识到,这个名为“3301”所发起的解谜游戏并非是某个小屁孩在地下室捣鼓的恶作剧,而是一场席卷全球的激烈角逐。 14个地点,勇敢的解谜者们都各自找到了一张纸贴在电线杆上,纸上印有一只蝉和二维码。14个二维码中共只有两条不同的信息。 从上到下依次为:美国、巴黎、首尔。图源:uncovering-cicada.wikia.com 第一条: 在二十九卷中,知识曾被包含在内。 马比诺吉昂停下时留下了多少行编码(Code)? 从起点走进,并找到我的名字(First name)。 1:29 6:46 第一和第二个质数的乘积 2:37 14:41 17:3 27:40 第一个质数 2:33 1:1 7:45 17:29 21:31 12:17 第一和第二个质数的乘积 22:42 15:18 24:33 27:46 12:29 25:66 7:47 到此你已经分享了太多信息。我们只要最优者,而非追随者。 因此,只有最先到达的少数能赢得奖励。 好运。 3301 第二条: 一首消逝的死亡之诗,命以国王之名 旨在给人阅读一次并从此消失 呜呼(Alas),它必须重见天日。 1:5 152:24 第一和第二个质数的乘积 14:13 7:36 12:10 7:16 24:3 271:22 10:7 13:28 12:7 86:17 93:14 第一和第二个质数的乘积 16:7 96:4 19:13 47:2 71:22 75:9 77:4 到此你已经分享了太多信息。我们只要最优者,而非追随者。 因此,只有最先到达的少数能赢得奖励。 好运。 3301 两段信息都由一段谜语和书码组成,不难推断出谜语的答案就是与书码相对应的书。同时信息中还包含着同样的警告,并提示只有“最后的少数”才有资格赢得“奖励”。 第二条谜语指向一本名为《Agrippa》(A Book of the Dead)的诗集(这里值得一提,该诗集的作者是大名鼎鼎的赛伯朋克之父威廉·吉布森),这“本”奇特的诗集存储在一张软盘上,只要被一次使用后就会自行加密;同时,Agrippa(亚基帕)也是希律王朝最后一位国王的名字。 将书码翻译后会得到一行URL,后缀提示了这是个暗网地址。 sq6wmgv2zcsrix6t.onion 使用Tor浏览器进入,用户就能找到这样一条信息: 祝贺! 请创建一个有公开、免费网络服务的邮箱地址,同时是从未使用过的,并输入至下方。我们推荐在操作这一步时仍然使用Tor,以隐藏你的信息。 在接下来几天,我们将会发送一段数字至邮箱(以你到达该页面的顺序)。一旦收到信息,回到这个页面并在URL后添加“/”和你收到的数字。 (举例,如果你收到了“3894894230934209”,就前往“[http://http://sq6wmgv2zcsrix6t.onion/3894894230934209]”) 3301 Agrippa(A Book of the Dead)和Herod Agrippa II。图源:wikipedia 而第一条谜语直到2017年6月才被解开。 “二十九卷中,知识曾被包含在内。”这句话暗示着这本书包含着“知识”。但是什么样的书和知识最相关?合理的猜测是——百科全书。 但是,在寻找百科全书时有个问题需要解决,那就是版本——不列颠百科全书有整整15版。不同版本中字数和条目都有着大大小小的改动,因此在需要精确到字母的书码的前提下,版本是不可忽视的一环。 然而根据信息中的提示,在wikipedia查找不列颠百科全书(Encyclopædia Britannica)的版本历史中能找到第十一版恰好有29卷。 同时在前文subreddit上的《马比诺吉昂》并非全篇,而是在69行截止。于是在第11版不列颠百科全书第6卷能找到“蝉”的条目——“从起点(6)走进,(Cicada)是我的名字”。 得到eq6emgv2eHsrix6t.onion。(出于未知原因,书码的行数需要下移1位) 不列颠百科全书中的“蝉”条目。图源:wikipedia 最后的谜题 从这时起,整个谜题已经远离了大众的视线,同时也接近了尾声。值得一提的是,在上文提到的暗网地址中,只有最先访问网址的一批人能获得Cicada的下一步线索,后来者访问页面则只有“我们只要最优者,而非追随者”(We want the best, not the follower)的字样。 不久后,解谜者就收到这样一封邮件: “ 这条信息只会出现一次。 这里有一条用RSA加密的信息(Crypt::RSA Perl module能够在CPAN获得): ------------接下来是一段RSA 加密信息------------ Version: 1.99 Scheme: Crypt::RSA::ES::OAEP eJwBzQAy/zEwADE4OABDeXBoZXJ0ZXh0B4KeBtKjJ7hGKC7/zqyzxUoFDTzRuU4+TLFUrw9qDGjk YI3fjyMn3G/w9WcfkZMGHdGRicbpTsDO3/oqmVtZpmIDY2HPOeWIZChuLfMDwT3FTUkDjQpsq390 OJ90pArd1JRxdIZtnCvnVy/vg+1MjAFH3ta+CuAwHsIY/3lGOKTin1+5M30BKh7NOQMmBcJ8/RuL TfXMGQT01QVMeAGq6vORk3iw39KOLRU3Lcn1804G1/zd2mdFWvEMaTbu/F+7 =0KfiT9PUe6QkwJXoM36Ukw== ------------ RSA 加密信息结束------------ 这是用于解码这条信息的公匙。注意该公匙有低单位的系数,所以是可解的: $VAR1 = bless( { 'e' => 65537, 'n' => '7467492769579356967270197440403790283193525917787433197231759008957255433116469460882489015469125000179524189783', 'Version' => '1.99', 'Identity' => }, 'Crypt::RSA::Key::Public' ); 这条加密信息是一串数字。解开密匙,然后回到这个相同的URL并输入这条加密信息以继续。每个走到了这一步的人收到的都是独有的信息和密匙。禁止与他人合作。分享信息或密匙你将会无法收到下一步线索。 这里是获得你的RSA信息和密匙的第二次机会。跟随"Numbers dot TK"线索找到它。 有太多伪造信息在外,只有PGP标识公匙ID:7A35090F的信息是可信的。 好运 3301 ” 鉴于RSA加密本身的复杂性(其实我也不懂),以及背后支撑的数学原理(就算会了这辈子多半也用不上),此处只作简略介绍③。 关于RSA你只需要知道“公匙”由其中的‘n’和‘e’组成。‘n’是两个质数的乘积。RSA加密所依靠的就是质数相乘的不可逆性,要想找到信息的加密法则,唯一的办法只有找到组成‘n’背后的两个质数。利用数域筛选(GNFS)软件能够在几个小时内找到组成‘n’的两个特殊质数,接下来的难题是如何用所得的所有钥匙对加密信息反加密。所幸3301把这部分简化了,根据信息中的提示在CPAN获取RSAperl组件并对信息进行反加密,最终得到一串数字。并入暗网URL后,3301给出了最后的谜题。 解谜者再次收到一封邮件,和以往不同的是,这次的谜语是——音乐。 邮件中除了3301常规的信息提示外,还附带有一个MIDI类型的附件,将MIDI文件打开后是一首曲子:
内容来自dedecms
邮件中的信息: “ 这首曲子是你的道路 通往启示之路的另一站 找到它,不要分享。 让合唱(Chorus)指引你前进: Let the Priests of the Raven of dawn, no longer in deadly black, with hoarse note curse the sons of joy. Nor his accepted brethren, whom, tyrant, he calls free lay the bound or build the roof. Nor pale religious letchery call that virginity, that wishes but acts not. For every thing that lives is Holy. 好运. 3301 ” 如果使用MIDI转换器,我们就能够将MIDI音乐转变为可读的文本。 大多数人第一眼注意到的是信息中“Cicada”的字样,但这里真正有趣的是通过文本会发现有两个通道(Channel),这意味着我们所听到的整首曲子其实是由两首不同的曲子组成的。 MIDI文本的左通道和右通道。 信息中的“合唱”一段来自诗人威廉·布莱克(William Blake)的《自由之歌》(Song of liberty),同时也是解开谜题的关键。将第二首曲子与“合唱”内容对比,我们就能发现音符和字母之间有着对应关系。 在MIDI信息中,“on”和“off”构成一个完整音,代表着每个音的起点和终点。将其上下相减就是一个音的音值,“n”则代表每个音符的音高。利用不同音重复的位置就可以推测出每个音所对应的字母(如上图中选定的音符在第2位和第6位重复,和“合唱”中的E相同,由此推断“E”音值为24,n=49),最终,我们就能得到一套对应音符的字母表(其中J、Q和X没有对应的音符)。 接下来的思路是用这套刚编好的字母表来解码第一首曲子。但是问题又来了:如果我们再次观察上面两首曲子的MIDI信息,会发现两首曲子中竟然没有一个音符是相同的。而在将两首曲子中的音符通过音值分类并加以对比后会发现,在音值相同的情况下第一首曲子中的”n”总是高于第二首中的”n” ,而且不多不少总是相差13——一个八度。将原本字母表的所有“n”加上“13”,我们就能得到一套适用于第一首曲子的字母表。 最后,我们终于成功“翻译”出这首曲子: 非常好 你已经证明了自己是在获得启示道路上最甘于奉献的一员 为你的邮箱地址创建一个GPG钥匙并上传到MIT密匙服务器 用cicada3301的公匙加密下面的单词序列 用你的钥匙登陆发送ASCII编码加密信息到邮箱地址 这里是你所收到的单词 [以下是独有的单词序列] garden ball house cat shore back head galon 在这之后,没有人知道真实发生了什么。不约而同地,在收到邮件以后,每一个走到了这一步的解谜者都突然沉默,失去踪迹,就像从互联网上凭空消失。 没有人知道这个兔子洞究竟有多深,但所有解谜者都无法否认:这是他们见过最深不可测的一个。 网络上流传着各种各样的谣言和推测,但都缺少着令人信服的确凿证据——毕竟,3301或许根本就不存在。 距离整个事件开始的一个月后,一条名为“Valēte!” (意为再见、告别)的消息发布在了文章开头的subreddit上。 “ 你好。 我们已经找到了想要找的人。因此,我们长达一个月的旅程结束了。 暂时。 感谢你所作的付出和努力。如果你没能成功完成测试,或是没有收到邮件,不要气馁。 未来将会有更多类似于这次的机会。 谢谢你们。 3301 ” 就这样,长达整整一个月的寻宝角逐落幕了。在这条信息之后,Cicada3301销声匿迹,这个当初将全世界闹得沸沸扬扬的神秘组织,也被人们渐渐淡忘。 3301的最后一份线索。图源:old.reddit.com/r/a2e7j6ic78h0j/ 直到2013年。 The Second Chance 在这一部分开始之前,容我先介绍一下GPG标识(不感兴趣的读者可以直接跳到2013年正文)。在2012年的解谜过程中,不免有大量的虚假线索在网络流传,那么解谜者如何分辨出线索的真假?我们先回到2012年的开头,在subreddit的另一张图片“Welcome”中3301已经给出了解决方案。 (将图片用outguess打开): “ -从现在起,我们会用这个钥匙给所有信息附上密码标识。 在MIT密匙服务器(mit keyservers)上取得它。密匙ID 7A35090F,与a2e7j6ic78h0j中一致。 耐心是项美德。 好运。 3301 ” 事实上,在每条3301的信息中都包含有GPG标识序列。利用GnuPG就能够对每条信息进行检验,只有密匙ID一致的信息才能代表确实来自3301。 每条信息都包含有GPG标识序列。图源:http://uncovering-cicada.wikia.com/wiki/ 一旦有了GPG标识,寻找答案的每一个过程就会更加明晰。同时“是否有GPG标识”也是判断解谜思路是否走对的关键。 2013年的公开招募信。图源:4chan 2013年1月5日,距离2012年谜题露面恰好366天,Cicada 3301如约而至。4chan上再次出现了同样风格的黑底白字图片,最重要的是,这张图片有着3301吻合的PGP标识。 “ 你好,又见面了。我们对高智商个体的搜索将会继续。 第一个线索隐藏在这张图片中。 找到它,它将会带你走上发现我们的道路。 我们期待与通过所有谜题的少数见面。 好运 3301 ” 同样用outguess故技重施,图片包含了一段隐藏信息。信息中有一段谜语和书码: “ 再次欢迎。 这是一段书码。找到书,解开谜语: 此书的学问被视为禁忌, 一头野兽曾被其诱惑; 阅读一次后将其销毁 否则将不得安宁。 I:1:6 I:2:15 I:3:26 I:5:4 I:6:15 I:10:26 I:14:136 I:15:68 I:16:42 I:18:17 I:19:14 I:20:58 I:21:10 I:22:8 I:23:6 I:25:17 I:26:33 I:27:30 I:46:32 I:47:53 I:49:209 I:50:10 I:51:115 I:52:39 I:53:4 I:62:43 I:63:8 III:19:84 III:20:10 III:21:11 III:22:3 III:23:58 5 I:1:3 I:2:15 I:3:6 I:14:17 I:30:68 I:60:11 II:49:84 II:50:50 II:64:104 II:76:3 II:76:3 0 I:60:11 好运 3301 ” 谜语指向一本名为《Liber AL vel Legis》(意为“律法之书”)的书。该书的作者阿莱斯特·克劳利声称被一位名叫“艾华斯(Aiwass)”的超自然实体所诱惑,并写下了这本书。这本“律法之书”告诫看过这本书的人应该要忘记书中的内容,才能够真正自由地行使自己的意志。④ 克劳利在生前一直臭名昭著,他被大众媒体抨击为“世界上最邪恶的人”和一名撒旦主义者,因此这本书被视为“禁忌”也不足为奇了。 而迷语中“野兽(Beast)”的来源则与《启示录》有关,克劳利在埃及曾将博物馆中的一块石碑宣称为“昭示之碑”,石碑的编号是“666”,在《启示录》中代表着“兽”的印记。 “律法之书”——Liber AL vel Legis。图源:wikipedia 阿莱斯特·克劳利。图源:wikipedia 补充:值得一提的正是这些与泰勒玛、超自然有关的内容,成为一些人一口咬定Cicada3301是个邪教组织的主要理由。的确,在Cicada3301的对自己的描述以及对解谜者提出的问题中(皆见后文),其言语中透露出了有些激进的Anarchism,以及数据至上主义的论调,参与了2013年事件的解谜者Nox Populi便认为3301是“来自旧赛博朋克运动时期,同时因当时的理念已被大部分淡忘而感到愤怒的一群人”。 关于Cicada3301这个神秘组织的真面目有太多的猜测,可能是某个IT公司的商业宣传,甚至是国家机构的秘密招募,但是最让我喜欢的还是这位解谜者的观点。一群理念的捍卫者,十足的浪漫主义者,大概也只有这样的一群人才能做出这样的举动,能够拨动全世界的心弦,让解谜者们在各个古老崭新的领域间穿梭,可以从亚瑟王漫游到威廉·吉布森,可以从希律王朝渡向文艺复兴,甚至能够从一首曲子中将密语倾诉。在“Cicada3301”现代的外壳之下,无疑有着个极其古典的内核。 在成功破解出了书码后,线索把解谜者带向一份来自dropbox的ISO文件。这份文件可以用虚拟光驱打开⑤。 ISO文件启动片段。图源:youtube 文件启动后,首先出现了一张Cicada的图像,紧接着有规律地不断跳出质数(从小到大的顺序),值得注意,在1033和3301这两个质数跳出后有2秒的停顿。 图源:youtube 整个质数序列进行到3301后结束,然后屏幕上出现了熟悉的3301风格的线索提示: “ @1231507051321 钥匙就在你身边。 好运。 3301 ” 除了这一段神秘的信息外,解谜者同时把目光投向了ISO文件本身。以压缩包的形式打开后会发现其中一共有 “boot”、 “audio” 、“data”三个文件夹。“boot”文件夹中的是启动程序,而在“audio”文件夹里有一个名为"761"的mp3文件(761也是个质数)。在文件的简介中显示这首歌曲名为“The Instar Emergence”,创作者是“3301”。Instar意为昆虫的龄期,整首歌名便暗指“蝉”即将蜕去外皮并破土而出。 dedecms.com
《The Instar Emergence》 解谜者们在这首曲子的十六进制转储(hexdump)中找到并翻译出了一段信息: “ 龄期迫捷(The Instar Emergence) 寓言 1,595,277,641 像是龄期(Instar),直通向地表 我们必须蜕去身外之物; 找到其中的神圣(Divinity)并脱壳而出。 ” 除此之外,在“data”文件夹中包含三个文件:“_560.00” “560.13” “560.17”,这三个文件都没有显示文件类型,其中的信息似乎是完全随机的字符。 在大部分解谜者们挖空心思钻研着这些文件时,有人却在推特(Twitter)上发现了一个名为“1231507051321”的用户(这似乎是Cicada开的一个小玩笑,熟悉推特的都知道在每个用户名前总是会有个@作为前缀),更奇怪的是,这个用户在第一份ISO文件被下载后不久注册,而且关注人数为零。 而最令人惊讶的是这个以一大串质数为名的用户所发表的内容: Twitter用户发布的内容片段,风格与cicada吻合 很显然,和去年的subreddit同出一辙,3301再次通过社交平台发布了谜题,而谜题的答案不出意外就藏在这些乱码之中。 解谜者们很快意识到,每条信息都由一段十六进制的开头和65个字节的编码组成。3301之所以采用十六进制的方式,是为了让原本二进制的信息更易读。如果所有内容以二进制发表,在传递等量信息的前提下内容则会比现在的多出四倍。 然而在将十六进制码转换为二进制后,解谜者们发现其内容还是不可读的乱码。谜题到了这一步让大多数解谜者停下了脚步,然而仅仅在若干小时后,看似不可能解开的谜题再次被破解了。 解开谜题的关键思路是“XOR”(异或),在这里我会稍作介绍。 “异或”和“与”、“或”一样,属于逻辑运算中的基本概念。举例,当我们手里有这样两条信息: 0010 1010 1100 0010 “与”(AND)处理的结果: 0000 0010 “或”(OR)处理的结果: 1110 1010 “异或”(XOR)处理的结果: 1110 1000 解谜者用XOR的方式将Twitter用户发表的内容和前面“761.mp3”文件中的十六进制转储的原始信息进行处理,最终的结果是一份以“ff d8”开头的jpg文件。 需要注意,3301的推特账号发布第一条线索内容的时间是1月6日,之后每隔4到5分钟发布下一条内容,直到两天以后3301才将所有内容发布完毕。理论上解谜者只有等到所有信息发布完毕后才能得到完整的jpg图片,但是在这次,解谜者甚至摆脱了3301精心设定的节奏,找到了推特用户发送十六进制信息的规律,在信息发布完毕之前就已经逆向破解并早早得到了完整的文件⑥。 “Gematria Primus”意为“最初的字母表”。图源:http://uncovering-cicada.wikia.com/ 这份解开的文件似乎是张如尼文(Runes)字母表。 字母表有三列,分别是“字符”、“字母”、“值”。每一个字符都是真实存在的如尼文字符,同时值所代表的数字恰好是前29个质数。 鉴于这张字母表是一张jpg格式的图片,接下来当然又轮到3301的好伙伴outguess出场了,然而出乎意料(某种程度上也是意料之中),3301这次的线索是一片空白。图片打开后的信息有完整的PGP起始和终止标识,然而本该嵌入下一个谜语的位置却空无一物。 当然,这不过是3301的又一个障眼法。“一片空白”包含了若干Tab键与空格的组合,解谜者把这段看不见的信息转换为二进制,再转换为ASCII系统,最终找到了他们想要的信息: “请到emiwp4muu2ktwknf.onion” “我们会在那等候。” “好运” “3301” 和上一部分类似,这个以“.onion”为后缀的网址只能通过Tor进入。进入该网页解谜者能看到这样一条消息: 请横屏观看图片。图源:http://uncovering-cicada.wikia.com/ 不久后解谜者们发现,网页浏览器的确没有用。但是有人又发现了网页里有个可用于交互的shell,向其中输入‘hello’能够得到一段信息。这段信息能够转化为可读文本,略去GPG标识内容如下: “ 非常好。 直至目前你都做的不错。 xsxnaksict6egxkq.onion 好运。 3301 ” 这是第二个洋葱网址。然而当第一批解谜者到达时,页面上只有一句话: 耐心是项美德。 在3301吊人胃口的等待中,所有人也没闲着。解谜者在shell中变着法子输入各种信息,搜肠刮肚地搜集线索。功夫没有白费,当解谜者往shell中输入‘hint’或‘clue’时,一条新的信息出现了,将其与DATA文件夹中的_560.00文件进行XOR能将其转化成可读文本: “ 只见树木就见不到森林。 好运。 3301 ” 不久后网站重新上线,留给解谜者们的是又一个谜语: “ 你已经得到了前进所需要的一切。 有时要做的只是“轻叩天空并聆听回声。” 好运。 ” 这是一个设计非常巧妙的谜语。“轻叩天空”在暗示解谜者ping该网站的IP地址,得到的“回声”,即回复的数据包,能够合并成下面这一段信息(PGP标识已省略): “ 干得好。 你走了很远。 pklmx2eeh6fjt7zf.onion 好运。 3301 ” 第三个网址要求解谜者“待命并等待坐标”。与上一年相同,3301再次发起了一场世界范围的寻宝竞赛,七张印有Cicada的线索被贴在不同国家和地区的电线杆上,每张海报包含了一段电话号码和两个字母。 日本冲绳。图源:http://uncovering-cicada.wikia.com/ 俄罗斯莫斯科。图源:http://uncovering-cicada.wikia.com/ 美国俄勒冈州波特兰。图源:http://uncovering-cicada.wikia.com/ 拨打海报上的电话会听到一段自动录音,要求输入一段数字。解谜者们很快意识到他们要将海报上的字母转化为数字,转化的工具就是前面解开的如尼文字母表。输入后解谜者会得到一段信息,要注意每个地点取得的信息都是不同的,这里以波特兰为例: Dataset:13 Offset:12821 Data:28C07E1B102D4D5C4C1A376E064477E1416FCC94928765 通过Dataset的提示,在ISO的DATA中找到一份名为560.13的文件,与Data字符串XOR后顺利得到了一串地址(同样,每个地点所取得onion地址也是不同的): gbyh7znm6c7ezsmr.onion 进入洋葱网址后,解谜者们各自收到了一份SSSS码(Shamir's Secret Sharing Scheme)⑦。 SSSS是一种特殊的信息加密方式,Wiki对此给出了个生动的比喻,SSSS就像是哈利·波特中的灵魂碎片。这种加密能够让某人分享一段信息给一定数目的人群,每个人收到的会是这段信息的一个加密片段,而只有在所有片段合并后才能得到原本的信息。值得一提的是,这种类似七龙珠的加密技术的发明者是色列密码学家阿迪·沙米尔(Adi Shamir),同时也是上文提到RSA加密算法的发明者。 SSSS的运作方式如下,当输入一段信息(例如一串字母)后,会有两个可调节参数,股数(share)n和阈值(threshold)t ,例: my secret root password 当t=3,n=5时,就会分成下面几段: 1-1c41ef496eccfbeba439714085df8437236298da8dd824 2-fbc74a03a50e14ab406c225afb5f45c40ae11976d2b665 3-fa1c3a9c6df8af0779c36de6c33f6e36e989d0e0b91309 4-468de7d6eb36674c9cf008c8e8fc8c566537ad6301eb9e 5-4756974923c0dce0a55f4774d09ca7a4865f64f56a4ee0 股数即是分出的信息片段总数,而阈值则代表解开原始信息所需最低的片段数量。所以,假设我将上面这段信息分成了五部分并发送给了五个人,但由于阈值=3,这时只需要其中任意三人的片段就能够解开原本的信息了。 3301给出的SSSS码的阈值只有股数的一半,也就是在全部十个SSSS码中成功取得了五个后,解谜者们就能破解出信息: p7amjopgric7dfdi.onion 这是第五个,同时也是最后一个洋葱网址。 Cicada的测试 第五个洋葱网址要求解谜者输入邮箱地址,同时要求不准公开收到的信息。 而解谜者收到的不再是谜语,而是一份测试⑧。 整个事件到这时已经接近尾声,3301结尾的方式却颇为……怪异。 测试的题目共有两种类型,选择题和问答题。测试的方式和大多数人格测试题类似(只是问题古怪得多),选择题的选项都是相同的,共有八个: 对 错 不确定 无意义 自我指认 游戏规则 怪圈 以上都不是 完成测试后解谜者再次收到了一封邮件,要求他们按照指定协议建立一个TCP服务器,并将服务器的Tor地址通过GPG加密邮件发送给对方。 邮件中同时提到截止时间为2013年2月3日,0:00 UTC,任何逾期的邮件都将被忽略。 而直到两个星期后,TCP服务器终于被ping。 和上一年不同,这次事件的结束并没有明确的告别。3301真的如愿以偿了吗?他们是否真正招募到,所谓的“高智商个体”?这个扎根于虚拟的组织背后的,究竟是怎样一个“理想国”?遗憾的是,不管这次草率的结局有什么用意,不管还有多少谜团没有解开,我们似乎只能确定一点。 3301的蝉鸣再次陷入了沉默。 两个人正站在湖边。一个说,“那水中的倒影真是惹人喜爱。”另一人说,“我没有看到什么倒影,这不过是鱼、植物和石头在水中的迷人混合。” 哪个人在说谎? 图源:imgur 结语:cicada3301的故事就此结束了。恰恰相反,在2014年解谜者根据线索发现了一本由3301所著,名为“Liber Primus”的书。直至今天该书的内容还未被完全破译,存在着大片空白——我们对这个神秘组织的理解依旧少得可怜。 不过正是这样,cicada3301对你我而言不只是过去的历史,我们甚至可能成为历史的见证者,因为或许(许多解谜者也深信)在整本书破译完全的那一天,cicada会再次苏醒。 参考文献: http://uncovering-cicada.wikia.com/wiki/ https://www.youtube.com/watch?v=ad_DNgdc35A *文中未标明来源的图片均来自作者本人 ①https://old.reddit.com/r/a2e7j6ic78h0j/ ②《马比诺吉昂》:https://pastebin.com/iiiAWyNQ ③想了解RSA加密的完整原理:https://www.youtube.com/watch?v=wXB-V_Keiu8 ④https://en.wikipedia.org/wiki/Aleister_Crowley ⑤完整的启动片段:https://www.youtube.com/watch?v=GGMrmsWxQ5E ⑥https://www.youtube.com/watch?v=CrTgK-K00W4&t=305s ⑦http://point-at-infinity.org/ssss/ ⑧测试完整截图:https://imgur.com/a/YFA1a 文章来源利维坦
- 上一篇:域内信息搜集实战
- 下一篇:Linux 提权-依赖 Exp 篇