第87章
  “?”
  楚英纵结结实实地愣住!
  时夜也侧目看了过来,眉头微微蹙起,说:“问问他什么意思。”
  楚英纵打字挺快,噼里啪啦地在fennel的动态下留言。
  【signale:什么意思?】
  【fennel:自动放弃我的其中一台设备。别误会,这并不是向你投降,只是为了抵消你的劣势而已。现在华国是深夜3点多,对你的作息来说也是不小的挑战吧?而且,我注意到你使用了洋葱网络的标准版本,猜想你之前并没有进行过类似的赌局;而我却有额外的工具进行准备,这对你来说也不公平。为了抵消这里的‘不公平’,我选择放弃一台设备,仅此而已。】
  楚英纵:“……”
  时夜平静地点了下头:“知道了,我们可以继续了。”
  楚英纵低声道:“没想到他也这么有原则。”
  时夜说:“电子世界和正常的社会不太一样,这里的原则就是原则,是不可撼动的客观规律。”
  楚英纵点点头:“我好像能明白你们的想法了。”
  fennel已经查探到了他们的内网是用洋葱协议进行连接的,动作比他们稍微快了一步。
  但楚英纵动作也很快,将fennel这边的网站记录快速浏览了一遍,很快找到了fennel的内网入口。
  通过对他的网关进行试探性的会话申请,他们很快捕获了来回的几个数据包。
  ——数据包就是fennel的5台设备之间进行交流的内容,可以说就是对方军队的电报。
  一个正常的tcp\ip协议数据包,在各个设备之间流窜的时候,总是标准格式的:版本号、头长、服务类型、包裹总长、标志、段偏移、时间戳、协议代码、校验位、32位来源ip、32位目标ip、选项和最后的用户数据。
  但他们截获的fennel的数据包中,经过了很多位数的加密内容。
  经过加密后的数据看上去杂乱无章,光用肉眼看不出任何的意义。
  楚英纵脱口而出道:“要不分析下他用的是什么加密方式?”
  “不。”时夜冷静地说,“底层分析太浪费时间。让蝰蛇做这件事,我们首先进行xss攻击。”
  楚英纵打开了黑色的蝰蛇,然后将捕获到的数个数据包拖入其中,看蝰蛇开始自动进行分析。
  这是signale的通用工具,能够自主对密文进行分析,快速分析出加密方式;必要的时候配合琴鸟,甚至能得到较为简单的明文和密钥。
  工具开始运转的同时,楚英纵已经回到了facebook网页上。
  分析完网页上的全部数据,不代表它就完全没用了,其实它还能用来钓鱼!
  xss就是这样一项攻击方式。
  只听时夜口述道:“试试关键词注入。”
  “嗯。”楚英纵点头,打开网页输入框,试着在里面敲打了一阵代码,然后发送成为一条新的仅个人可见的动态,进行测试。
  再经过刷新之后,新动态出现的同时,楚英纵的代码也生效了!
  “可以做xss!”楚英纵惊喜道,“还真的是个筛子网站啊。看来fennel也完全放弃了防御它……”
  xss(cross site scripting,跨站脚本攻击)的原理很简单。
  当一个网站允许用户进行输入,然后显示在网页上的时候,用户其实就相当于能将自己的输入内容注入到网页的源代码中。
  如果编写的时候程序员没有注意屏蔽掉这种注入,那么黑客完全可以突破自己的输入区,将真正的代码写成动态,也进入网页源代码中。
  而对于其他不知情的用户来讲,一旦刷到了黑客发布的这条动态,他们的浏览器就会自动认为这条动态的内容来自于这个网站——而这个网站是被信任的,所以就会运行动态中的恶意代码。
  这个过程好像鸠占鹊巢,黑客借用网站的名义,让它的所有用户执行了自己的代码。
  凌晨3:30分,楚英纵将精心编写好的xss脚本注入到了新动态中。
  【signale:嗯。】
  虽然只有短短的一个“嗯”字,但其实这条动态的体量长达数kb,之所以只显示这么短,当然是利用了网页的代码漏洞,将后续内容隐藏显示,而成为了源代码的一部分。
  而这些代码的目的很简单:让观看者自动下载一个木马病毒!
  这样一来,一旦fennel看到这条动态,就可能会下载木马。
  此时同一时间,按照规则,fennel也发布了新动态。
  【fennel:不知道你进度如何?我已经找到了你的第一层跳板。】
  楚英纵看到这条动态,呼吸不由急促了一点,说:“他动作怎么这么快?是不是已经在进攻我们的某一台设备了?我要不要打开防火墙看看记录?”
  “不用着急,未必是真的。”时夜冷静道,“既然蜜罐没有报警,我们继续进攻。”
  楚英纵等待了一会儿,后台木马却始终没有被下载。
  很明显,fennel虽然看到了被注入恶意代码的新动态,但是却没有中招。
  ——是他的防火墙阻拦了后台下载?还是fennel屏蔽了整个网页执行代码?还是他检查了所有输入?
  不论如何,xss攻击暂时没有奏效。
  不过,蝰蛇的破解过程已经运行完了,它给出了对fennel数据包的分析结论。
  很遗憾,蝰蛇没有直接破解出原文,但它给出了数据包使用的加密协议。
  ——ndc。
  这是一个楚英纵明显没有听说过的协议,他求助地看向了身后的时夜:“这是什么?”
  时夜微微凝眉,说:“一种匿名协议。”
  楚英纵:“……谢谢,我当然知道这一点。”
  “ndc的提出比洋葱网络更早,但并不实用,一直没有大规模推广。”时夜淡淡地解释道,“这是一种全对称加密协议,过程类似链表。”
  ndc(n-party dinning cryptographers)的匿名原理比洋葱网络更强、更隐蔽。
  处于ndc网络中的所有设备,每当发布任何数据包时,总是先和自己右侧设备进行一次xor(异或)操作,然后将自己的数据传递给自己的左侧设备。
  所有设备举出自己的数据包之后,再总体进行一次xor操作,最终的结果就是输出的数据包。
  这个协议确保了:每个数据包都会被至少两台设备进行操作,每个设备只知道自己的内容,不知道其他任何设备的内容。
  也就是说,基本从根本上干掉了内鬼的操作空间。
  即便入侵者完全控制了网络中的某一台主机,依然无法从内网流通的数据包里得到任何信息……
  只要入侵者没有找到真正的主机,哪怕他控制了剩下所有4台主机,也依然没有任何作用!
  必须找到真主机,或者干脆控制全部5台设备,才能破解整个数据包。
  这就是ndc的强度,一种代价大到现实中几乎不可能商用的匿名协议。
  楚英纵了解过后,倒吸一口冷气,说:“我知道为什么fennel觉得自己优势太大了……这种先备知识,真的很不公平。”
  “没关系。”时夜说,“既然如此,那就一一打破。所谓的‘俄罗斯轮盘赌’,还是有必胜策略的。”
  楚英纵道:“你是说?”
  时夜道:“只要我足够快,就可以把六颗子弹全部打空,他死了。”
  楚英纵:“……”这是哪门子的“必胜策略”啊!天下武功唯快不破?!
  第81章
  在ndc的前提下, 他们只能进行真正的猜测。
  “五分之一的概率猜中……”楚英纵擦了擦手,“我随便猜了哦?”
  “嗯。”时夜说。
  楚英纵果断先猜fennel的2号机,拖出了蝰蛇对它进行分析。
  蝰蛇对目标端口得出结论, 合并琴鸟自动进行了大量的字典攻击,然而对方反应迅速地限制了登陆尝试次数, 导致字典攻击无功而返。
  在时夜的指挥下, 楚英纵又选择了对fennel进行网关欺骗,尝试从他的ndc网络中得到数据路径相关信息。
  他们很快地找到了fennel的网关设备, 接着使用dns欺骗的手段, 终于拿到了它的网络管理员权限。
  然而现在摆在他们的问题是:就算得到了fennel的网关, 依然还是无法解密出所有数据包的明文内容。
  对此,时夜决定:“按兵不动,不要让他发现。”
  在他们暗中悄然渗透进fennel网络的同时, fennel却反其道而行之,大摇大摆地进行了全面的攻击——
  他使用syn泛滥的手段,直接像潮水一样, 同时进攻signale的全部设备。
  因为signale使用的是洋葱网络,一种安全但是过程繁复的匿名协议, 因此在syn泛滥下, 很容易导致网络延迟。
  他的网速一度下降到几乎断连的程度。
  直到时夜迅速做出反击策略,限制所有半开放端口, 同时逆向寻找到fennel用以进攻的3号设备,开始用相似的手段阻塞他的通讯。
  凌晨4:00整。
  双方都已经进行了至少两轮的攻击, 目前signale和fennel还剩下的设备分别为5台和4台。
  再次到了发布动态的规定时间。
  【fennel:我还在尝试寻找你的真主机, 但你似乎已经开始了猜测的过程?将希望寄托在运气上可不是一个好的决策。】
  【signale:logs注入也不是一个好的手段。】
  新的动态里,fennel果然也破解了signale的网站。
  他尝试进行logs注入,同时动用了大量的syn泛滥手段, 试图转移走signale的注意力。
  但时夜明显没有上他的当,并对楚英纵说:“他对数据库logs很感兴趣。”
  楚英纵沉思了一下,说:“明明只是个lite级别的数据库啊,没必要花费大量时间吧。”
  时夜说:“也许在他的数据库里也藏有东西。”
  楚英纵听了,果断决定下手,开始反攻fennel的数据库。
  凌晨4:21分。
  他们通过sql注入的方式,得到了fennel的后端数据库,并从里面找到了fennel的数据包路径。
  楚英纵很惊讶:“他竟然将route表藏在后端数据库里!这是为什么?”