第六节 缓冲区溢出
第六节缓冲区溢出 “可以说没有。”段天狼摇了摇头,说道。 “啊?”孙云梦有些失望地张大嘴巴,“我还以为你一定看出了什么。” 然而紧接着,段天狼又说道:“也可以说有。” “嗯?”孙云梦抬起头看着段天狼,“你到底在说什么呀?” “这二十几个视频我全都看过了。”段天狼指了指那些视频文件,“按照正常来说,看了一个人从小到大的视频,怎么都该发现他有什么特点的。但是很奇怪的是,我什么特点也没有发现。所以我说,可以说我什么也没有发现。” “但是……”段天狼看着孙云梦,“你有没有想过,一个人从八岁一直到三十几岁,竟然没有流露出任何稳定的特点,这意味着什么?” 孙云梦眨了眨眼睛,说道:“这意味着这个人从八岁开始,就懂得刻意隐藏自己。” “没错。”段天狼用食指敲了敲桌面,“就是这么回事,而能够做到这一点,除了证明这个人极端聪明之外,还证明了另外一件事情,那就是这个人极端没有安全感,以及极端多疑。” 段天狼说到这里,抿了抿嘴唇,“应该说,从某个角度来看,他跟凌梦蝶有很大的共同之处。他们都是一样多疑。这种多疑也许是帮他们走到今天的利器。而这个利器同时也是把双刃剑,不仅可以帮助他们走向成功,也可以刺穿他们。” “但是,有一个问题,多疑的人通常很谨慎。一旦他察觉到危险,他会毫不犹豫地断掉网络。如果是这样的话,那我们岂不是前功尽弃?” “你说得很对。这就是问题的关键。”段天狼点点头,“所以,我们必须给他一个理由,让他保持联网。” “这个理由是什么呢?”孙云梦问道。 “遇到假aya这个理由,你觉得如何?”段天狼问道。 “假aya?”孙云梦睁大眼睛,“你的意思是……让我去引他主动来进攻我?” “毫无疑问,这是最好的方法。如果是我们主动跟他接触地话,以他的技术。不管我们是多么小心,都很难瞒过他的眼睛的。”段天狼说道,“多疑的人只有在一种情况下,警戒心才会下降,那就是当他觉得自己控制局面的时候。” 孙云梦略愣了一会,有些迟疑地说道:“我……真的能够骗得过戴蒙吗?” “不,不用骗,你本来就是假aya啊。”段天狼摊开手。说道,“你只要像从前一样做事就好了。只不过,这一次稍微有点点刻意而已。” 听到这里,孙云梦仰首笑了起来,“你不过我还差点忘记了。我自己就是那个货真价实的冒牌货啊。好吧,你说吧,我该怎么做?” 一天之后,两千零六年十一月十八日。上海。 戴蒙打开电脑,查看倪慧临这一天地网络行踪,就在他路过一台邮件服务器的时候,他突然无意间看到有个人正在进攻这台服务器。 如果是别人,也许就略过去了,反正不关自己的事,但是戴蒙是个天生心细的人,他几乎从不放过自己所看到的任何一个细小情况。 于是。他在一旁偷偷地观看起来。 结果,这个人只用了几分钟的时间,就将这台邮件服务器轻松搞定,并且植入病毒,将这台服务器变成了自己的木马。 整个过程干脆利落,一看就是高手所为。 而最让戴蒙感到感兴趣的是,这个黑客在完成这一切之后,又在一个偏僻地路径里放了一张几k大的图片。图片的内容很幼稚。是一个三岁的小孩在地上爬,这张图旁边还配了一句旁白——现在的世道原来这么好。三岁小孩都可以当上管理员。 做完这一切之后,这个黑客就走了。 而在一旁亲眼看着他将这一切完成地戴蒙,坐在电脑面前沉思片刻,脑子里顿时闪现出一个名字——aya。 从这个人的进攻技术来看,绝对不是一般黑客,这种级数的黑客,在全世界都很少见。而他的做事风格,又实在跟user所说地aya实在是太像了。 犹豫了片刻之后,戴蒙搓了搓手,开始紧随起来,追踪起这个人来。 “他开始追踪我了。”孙云梦转过头,对坐在不远处的段天狼说道。 “先假装不知道他的存在,四处逛一逛,等到他追踪到你的一台超级跳板的时候,你就可以反扫描他。”段天狼说道。 “好,先带着他兜圈子。”孙云梦说完,就开始在互联网上兜圈子,在网络上的各个黑客论坛随便逛了起来。 戴蒙果然一路追踪过来,就跟当初段天狼一样,他很快就在孙云梦的一颗王牌跳板前被挡住了脚步。 除非清除这个障碍,否则戴蒙就无法追踪下去。因此,戴蒙别无选择,他只能扫除这个障碍。 而他一动手,孙云梦便马上开始反应,他装作刚发现有人追踪自己的样子,迅速掉过头来,对戴蒙进行扫描。 他这么一动作,戴蒙便意识到对方可能发现了自己地追踪。 不过戴蒙并不在意,不管怎么说,他都是面具岛屿四人组成员,他并不惧怕跟任何人打正面战。 双方互相向对方的主机传送了一些特殊的数据包,使对方做出相对应的响应。由于每种cao作系统的响应时间和方式都是不一样的,所以这个行为,一般是用来侦测对方的cao作系统的版本以及相关信息。 “什么?居然是windows?”获得了孙云梦主机地cao作系统地版本之后,戴蒙有些惊讶地说道。 而孙云梦则是马上把他得到的相关资料发送给了就在身边地段天狼,“不出所料,他用的是一个自编的cao作系统。” “说不定就是面具岛屿四人组的共用系统。”段天狼一边说着,一边开始着手分析孙云梦发过来的资料。 戴蒙感叹完之后。就开始加紧破解孙云梦的那台王牌跳板。 而孙云梦也开始着手向戴蒙发动攻击,做为一个拥有庞大僵尸网络地人,他最优先考虑的第一手段,当然就是拒绝服务攻击了。 对于一般的管理员和服务器来说,拒绝服务攻击几乎是不可抗拒的,因为它是几近于无赖式的进攻方法。不过,对于绝顶高手来说,拒绝服务攻击并不是那么可怕。他们有多种解决方法。 毫无疑问。戴蒙绝对算是绝顶高手,所以孙云梦的这个攻击,不可能能使戴蒙马上瘫痪。他马上开始使出对策,应付这个局面。而在这个过程中,他的电脑系统的可用资源,以及网络可用带宽急剧下降,整个电脑地反应都不可避免的降低下来。 而这就给了孙云梦可趁之机,因为他早就知道自己不可能一击得手。他这么做,只是为了帮助段天狼收集更多有关戴蒙的系统的有效数据而已。 与其说,这是一种大规模的强横进攻,不如说这是一次全方位地,气势恢弘的情报收集工作。 而事实证明。这是一次非常成功的情报收集工作。 而孙云梦所获得的所有数据回馈,自然是第一时间内就到了段天狼地面前。 迄今为止,一切都是段天狼跟孙云梦的预定计划之中。 然而,就在这个时候。出现了一个段天狼和孙云梦都没有想到的意外因素——本来正坐在房间里休息的admin,突然想到了某个技术问题的解决方法,他于是马上来到实验室,准备将自己的这个想法写下来。 然而,当他刚一上线,就看到“残缺的基督”显示正在遭受攻击的状态。 因为“残缺地基督”还没有完全成形,出于保护的目的,所以面具岛屿并没有将它放出去。而是只放在了四人组的计算机中,用于连锁保护。 而现在“残缺的基督”显示出遭受到攻击的状态,就只能意味着一件事——四个人中有一个人正在遭受攻击。 “这是怎么回事?”admin喃喃自语了一句,进入“残缺的基督”的系统查看,然后他很快就看到了戴蒙地处境。 很快,admin就通过“残缺地基督”跟戴蒙对话,“你好像在打仗?” “是啊,打得正热闹呢。现在这个时候。美国应该是深夜吧?你怎么就起来了?”戴蒙笑着写道。 admin写道:“突然想到了点什么。所以特地开车到实验室来,没想到刚好撞到你打仗。对手是谁?” “如果不出意外的话,很可能就是我们想找地aya。”戴蒙说道。 听到戴蒙这么说,admin愣了一下,然后写道:“最近巧合的事情还真是多啊。” “是啊,我也这么觉得。”戴蒙写道。 “需要我帮忙吗?”admin问道。 “暂时不用,你现在旁边看着吧,实在不行的时候,你再出手。”戴蒙说道,“这次一定要把这小子抓住。” “好的。”admin笑着写完,便用手撑着下巴,饶有兴趣地观察起整个战局来。 意外,这是一个彻头彻尾的意外,段天狼之所以选择这个时间点开始跟戴蒙打仗,就是因为他知道这个时候美国是深夜,面具岛屿四人组其他三个人都睡着了,应该来不及帮助戴蒙。 然而,天算不如天算,原来近乎完美的,两人夹击戴蒙一人的计划,因为admin的突然加入,而彻底变形。 约莫十五分钟之后。 孙云梦对段天狼说道:“第一个王牌跳板大概就要被冲破了,你这边怎么样?” “没问题。让他过来吧,我现在就进驻第二个超级跳板。”段天狼说道。 “你对他的系统已经了解到什么程度了?”孙云梦问道。 段天狼转过头,看了看孙云梦,说道:“面具岛屿自用的系统,怎么可能这么短时间里就被研究透?” “那你又一副没问题的样子。” “虽然还没有研究透,但是我已经找到了这个系统地一个小漏洞,我可以利用这个漏洞进行攻击。” 孙云梦好奇地问道:“漏洞?什么漏洞?” “缓冲区溢出漏洞。”段天狼答道。 “不会吧?面具岛屿的自用系统,竟然会有这么初级的漏洞?”孙云梦笑着问道。 “越是复杂的系统。越是有简单的漏洞。”段天狼答道。 在这里,需要介绍一下,何所谓缓冲区溢出漏洞。 一般来说,只要是黑客,就都知道缓冲区溢出漏洞是怎么回事。 在最近的远程网络攻击中,利用缓冲区溢出漏洞的占绝大多数,算是最为普及地一种远程攻击方式了。而它之所以会这么普及,正是因为这个漏洞太普通了。而且易于达成进攻者的目标——利用一个匿名地internet用户获得一台主机的部分或全部的控制权! 要说缓冲区溢出漏洞,我们首先要知道什么是缓冲区。 我们打个比方,你是个租书店老板,你的店里很好几千册书,这些书有武侠小说。有言情小说,还有玄幻小说,每天都有很多人读者来你这里租书看。 刚开始的时候,你或许没什么感觉。但是等到你店开久了,你就开始有经验了,有的书很多人借,有的书很少人借。于是,为了招徕客户,你就专门整理出一个柜台,专门放这些很多人租的书。 这样地话呢,再有客人来的时候。他可能就直接从这个柜台上拿了,不用满店跑,大大节省了客人的时间。而这个专用柜台,就是缓冲区。 计算机上几乎所有的存储设备都有缓冲区,比如硬盘,当我们向我们的硬盘输入数据地时候,通常都是先输入到缓冲区,直到你把缓冲区塞满之后。才会再写入硬盘。 这样的好处。就跟前面说的租书店的故事一样,可以节省时间。避免过于频繁地写盘。 现在大家知道缓冲区是怎么回事了,那么缓冲区溢出又是怎么回事呢? 我们再来形象地打个比方,你是个很成功地公司高层,你有一个专职小秘。她除了供你调戏,帮你打文件,跑腿以及帮你陪客户喝酒之外,她还得帮你干另外一件事,那就是帮你倒茶。 有一天,她来到在你桌边,往你杯子里倒茶。这个杯子是只能装八百五十毫升水的杯子,而茶壶是一千五百毫升的容量,通常来说,你的小秘书会往你的茶杯里倒上七百五十至八百毫升,总之绝对不超过八百五十好生的水。
但是这一次,你的秘书却一直让水壶里的水往你地杯子里灌。那么结果会是什么呢?很显然,水将会从杯子里溢出来。 这跟缓冲区溢出是同样的道理,当数据容量超过缓冲区的容量的时候,就像水一样,缓冲区的数据也会溢出来,这也就是缓冲区溢出。 缓冲区溢出分为两种情况,一种是偶然的,一种是恶意的。如果是偶然的,那没什么大不了地,不过就是应用程序错误而已。但是如果是恶意地,那么黑客就可以趁机运行特别程序,获得优先级,指示计算机破坏文件,改变数据,泄露敏感信息,产生后门访问点,部分或者全部的控制这台计算机。 这样说,或许大家还是有点头晕,好吧,那我们就再形象一点,接着刚才地比方。 一般来说,你的小秘把水倒满,很可能是一时疏忽,这个时候,最多就是你被烫了一下。不满地瞪了她一眼,让她把桌子抹干净就完了。 这就是偶然的缓冲区溢出。 但是如果这个时候,你的秘书已经被别人收买了,她就会故意狂倒,水从杯子里溢出来,把你的整个桌面倒地到处都是水,连你腿上都滴满了。你气死了,跳起来骂娘。然后到另一个房间去换衣服。 而这个时候,你的秘书就趁机赶紧把你桌上地文件全部换了一遍,等你回来的时候,看到的,是你的敌人给你准备好的文件。这些文件促使你对当前的形势产生错误的判断,于是,你就按照敌人所希望你做的那样,做出他们想要你做地决定。 你自己并不觉得。但是事实上,你已经被你的敌人控制住。 这就是恶意的缓冲区溢出。 一般来说,缓冲区溢出攻击的目的,在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权。如果该程序具有足够地权限,那么整个主机就被控制了。为了达到这个目的,攻击者必须达到如下的两个目标: 第一,在程序的地址空间里安排适当的代码。 第二。通过适当地初始化寄存器和存储器,让程序跳转到我们安排地地址空间执行。 两个目标,需要两个步骤来完成,第一个步骤就是将攻击代码放入被攻击程序的地址空间。第二个步骤,就是使目标程序的缓冲区溢出,并且执行转移到攻击代码。 这个过程方法很多,就不在这里一一赘述了。 而段天狼就是在面具岛屿的共用系统中,发现了系统中发现了一个有破绽地代码。段天狼之所以向这个代码传递出一个简单的参数。就可以导致这个系统发生缓冲区溢出。 因为这个参数的数据量很小,如果隐蔽得好的话,很可能戴蒙无法察觉。而段天狼也就很可能在神不知鬼不觉的情况下,将他所制作的最新型的木马,伪装成系统程序的一部分,植入到戴蒙地计算机中。 应该说,这个计划很完美。 如果没有admin的插手的话,这个计划几乎是一定会成功的。 正是因为如此。所以当段天狼简单地跟孙云梦讲述了自己的计划之后。他马上得到了孙云梦的认同,“好。就这么干,我会尽力牵制他的注意力的。” 而这个时候,戴蒙已经成功地突破了第一个王牌跳板,来到了第二个王牌跳板。 “天啊,user说这个家伙是跳板王,果然没有说错地。”戴蒙摇了摇头,说道。 说完,他就开始继续扫描第二个王牌跳板,然而,就在他准备扫描这第二个王牌跳板地时候,admin却突然发了句话给他,“喂,你不觉得有点不对劲吗?” “哪里不对劲了?”戴蒙奇怪地问道。 admin揉了揉眼睛,写道:“我也不是很确定。不过,我怎么感觉这个假aya好像并不是有心在跟你打仗,而是在刻意吸引你的注意力啊。” “是吗?我没什么感觉啊。”戴蒙说道。 admin在电脑面前啧了一声,然后写道:“不对,我总觉得好像哪里有什么问题。你是怎么跟他遇上地?” 戴蒙把大致的情形跟admin说了一遍。 听完戴蒙的话,admin就有点犹豫了,“也许……是我多疑了吧?” “不管那么多了,兵来将挡,水来土淹,我们两个人联手,就算是鸿钧来了,也要忌惮三分。”戴蒙说完,便开始对着第二台王牌跳板扫描起来。 段天狼就等着他这么干,在戴蒙扫描的过程中,这台跳板不断地有数据回馈到戴蒙的计算机上。 而段天狼就将这个只有几十个字节的参数,夹在这些数据中送回戴蒙的计算机上。这个字节来到戴蒙的计算机上,很快就找到了系统中的那个特定程序。 这个几十个字节的参数,就像是一个洗脑人员一样,在最短的时间内,便将对方的一名军官变成了叛徒。表面上服从上级,实际上执行攻击者的指令。 完成了这一步之后,段天狼马上就利用这个程序,迅速在戴蒙的计算机中建立一个临时帐户,并且将它的权限提高。 然后,获得了部分计算机控制权的段天狼,马上将自己早就准备好的木马程序,写入了另一个特定程序中,伪装成系统文件的一部分。 至此,就算是大功告成了。 就和段天狼以及孙云梦原先料想的一样,因为没有料到这是个陷阱,也没有料到对方是两个高手在对付自己一个,更没有料到对方竟然可以在这么短时间里找到自己的系统漏洞,另外再加上大量精力被孙云梦牵制的关系,戴蒙并没有察觉到段天狼所做的这一切。 但是他没有察觉到,不等于就没有人察觉到。 “你已经被人植入木马。”admin脸色无比严肃地在键盘上敲道。