第六节 缓冲区溢出

作品:《天擎

    “可以说没有。

    做完这一切之后这个黑客就走了。

    而在一旁亲眼看着他将这一切完成的戴蒙坐在电脑面前沉思片刻脑子里顿时闪现出一个名字——aya。

    从这个人的进攻技术来看绝对不是一般黑客这种级数的黑客在全世界都很少见。而他的做事风格又实在跟user所说的aya实在是太像了。

    犹豫了片刻之后戴蒙搓了搓手开始紧随起来追踪起这个人来。

    “他开始追踪我了。”孙云梦转过头对坐在不远处的段天狼说道。

    “先假装不知道他的存在四处逛一逛等到他追踪到你的一台级跳板的时候你就可以反扫描他。”段天狼说道。

    “好先带着他兜圈子。”孙云梦说完就开始在互联网上兜圈子在网络上的各个黑客论坛随便逛了起来。

    戴蒙果然一路追踪过来就跟当初段天狼一样他很快就在孙云梦的一颗王牌跳板前被挡住了脚步。

    除非清除这个障碍否则戴蒙就无法追踪下去。因此戴蒙别无选择他只能扫除这个障碍。

    而他一动手孙云梦便马上开始反应他装作刚现有人追踪自己的样子迅掉过头来对戴蒙进行扫描。

    他这么一动作戴蒙便意识到对方可能现了自己的追踪。

    不过戴蒙并不在意不管怎么说他都是面具岛屿四人组成员他并不惧怕跟任何人打正面战。

    双方互相向对方的主机传送了一些特殊的数据包使对方做出相对应的响应。由于每种操作系统地响应时间和方式都是不一样的所以这个行为。一般是用来侦测对方地操作系统的版本以及相关信息。

    “什么?居然是indo?”获得了孙云梦主机的操作系统的版本之后戴蒙有些惊讶地说道。

    而孙云梦则是马上把他得到的相关资料送给了就在身边地段天狼。“不出所料他用的是一个自编的操作系统。”

    “说不定就是面具岛屿四人组地共用系统。”段天狼一边说着一边开始着手分析孙云梦过来的资料。

    戴蒙感叹完之后就开始加紧破解孙云梦的那台王牌跳板。

    而孙云梦也开始着手向戴蒙动攻击做为一个拥有庞大僵尸网络的人。他最优先考虑的第一手段当然就是拒绝服务攻击了。

    对于一般的管理员和服务器来说拒绝服务攻击几乎是不可抗拒地。因为他是几近于无赖式的进攻方法。不过对于绝道:“第一个王牌跳板大概就要被冲破了你这边怎么样?”

    “没问题让他过来吧我现在就进驻第二个级跳板。”段天狼说道。

    “你对他地系统已经了解到什么程度了?”孙云梦问道。

    段天狼转过头。看了看孙云梦说道:“面具岛屿自用的系统怎么可能这么短时间里就被研究透?”

    “那你又一副没问题的样子。”

    “虽然还没有研究透。但是我已经找到了这个系统的一个小漏洞我可以利用这个漏洞进行攻击。”

    孙云梦好奇地问道:“漏洞?什么漏洞?”

    “缓冲区溢出漏洞。”段天狼答道。

    “不会吧?面具岛屿的自用系统竟然会有这么初级地漏洞?”孙云梦笑着问道。

    “越是复杂的系统越是有简单的漏洞。”段天狼答道。

    在这里需要介绍一下何所谓缓冲区溢出漏洞。

    一般来说。只要是黑客就都知道缓冲区溢出漏洞是怎么回事。

    在地远程网络攻击中利用缓冲区溢出漏洞的占绝大多数算是最为普及地一种远程攻击方式了。而它之所以会这么普及。正是因为这个漏洞太普通了而且易于达成进攻者的目标——利用一个匿名的inten用户获得一台主机的部分或全部的控制权!

    要说缓冲区溢出漏洞我们先要知道什么是缓冲区。

    我们打个比方。你是个租书店老板你地店里很好几千册书。这些书有武侠有言情还有玄幻每天都有很多人读者来你这里租书看。

    刚开始的时候你或许没什么感觉但是等到你店开久了你就开始有经验了有的书很多人借有的书很少人借。于是为了招来客户你就专门整理出一个柜台专门放这些很多人租地书。

    这样的话呢再有客人来的时候他可能就直接从这个柜台上拿了不用满店跑大大节省了客人地时间。而这个专用柜台就是缓冲区。

    计算机上几乎所有的存储设备都有缓冲区比如硬盘当我们向我们地硬盘输入数据的时候通常都是先输入到缓冲区直到你把缓冲区塞满之后才会再写入硬盘。

    这样的好处就跟前面说的租书店的故事一样可以节省时间避免过于频繁地写盘。

    现在大家知道缓冲区是怎么回事了那么缓冲区溢出又是怎么回事呢?

    我们再来形象地打个比方你是个很成功的公司高层你有一个专职小秘。她除了供你调戏帮你打文件跑腿以及帮你陪客户喝酒之外她还得帮你干另外一件事那就是帮你倒茶。

    有一天她来到在你桌边往你杯子里倒茶。这个杯子是只能装八百五十毫升水的杯子而茶壶是一千五百毫升的容量通常来说你的小秘书会往你的茶杯里倒上七百五千至八百毫升总之绝对不过八百五十好生的水。

    但是这一次你的秘书却一直让水壶里的水往你的杯子里灌。那么结果会是什么呢?很显然水将会从杯子里溢出来。

    这跟缓冲区溢出是同样的道理当数据容量过缓冲区的容量的时候就像水一样缓冲区的数据也会溢出来这也就是缓冲区溢出。

    缓冲区溢出分为两种情况一种是偶然的一种是恶意的。如果是偶然的那没什么大不了的不过就是应用程序错误而已。但是如果是恶意的那么黑客就可以趁机运行特别程序获得优先级指示计算机破坏文件改变数据泄露敏感信息产生后门访问点部分或者全部的控制这台计算机。

    这样说或许大家还是有点头晕好吧那我们就再形象一点。接着刚才的比方。

    一般来说你地小秘把水倒满。很可能是一时疏忽这个时候最多就是你被烫了一下不满地瞪了她一眼让她把桌子抹干净就完了。

    这就是偶然的缓冲区溢出。

    但是如果这个时候。你地秘书已经被别人收买了她就会故意狂倒水从杯子里溢出来。把你的整个桌面倒地到处都是水连你腿上都滴满了。你气死了跳起来骂娘然后到另一个房间去换衣服。

    而这个时候你的秘书就趁机赶紧把你桌上的文件全部换了一遍等你回来的时候。看到地是你的敌人给你准备好的文件。这些文件促使你对当前地形势产生错误的判断于是你就按照敌人所希望你做的那样。做出他们想要你做的决定。

    你自己并不觉得但是事实上你已经被你的敌人控制住。

    这就是恶意的缓冲区溢出。

    一般来说。缓冲区溢出攻击地目的在于扰乱具有某些特权运行的程序的功能。这样可以使得攻击者取得程序地控制权如果该程序具有足够的权限那么整个主机就被控制了。为了达到这个目的攻击者必须达到如下地两个目标:

    第一在程序的地址空间里安排适当地代码。

    第二通过适当地初始化寄存器和存储器让程序跳转到我们安排的地址空间执行。

    两个目标需要两个步骤来完成第一个步骤就是将攻击代码放入被攻击程序的地址空间。第二个步骤就是使目标程序的缓冲区溢出并且执行转移到攻击代码。

    这个过程方法很多就不在这里一一赘述了。

    而段天狼就是在面具岛屿的共用系统中现了系统中现了一个有破绽的代码。段天狼之所以向这个代码传递出一个简单的参数就可以导致这个系统生缓冲区溢出。

    因为这个参数的数据量很小如果隐蔽得好的话很可能戴蒙无法察觉。而段天狼也就很可能在神不知鬼不觉的情况下将他所制作的最新型的伪装成系统程序的一部分植入到戴蒙的计算机中。

    应该说这个计划很完美。

    如果没有adn的插手的话这个计划几乎一定会成功的。

    正是因为如此所以当段天狼简单地跟孙云梦讲述了自己的计划之后他马上得到了孙云梦的认同“好就这么干我会尽力牵制他的注意力的。”

    而这个时候戴蒙已经成功地突破了第一个王牌跳板来到了第二个王牌跳板。

    “天啊use说这个家伙是跳板王果然没有说错的。”戴蒙摇了摇头说道。

    说完他就开始继续扫描第二个王牌跳板然而就在他准备扫描这第二个王牌跳板的时候adn却突然了句话给他“喂你不觉得有点不对劲吗?”

    “哪里不对劲了?”戴蒙奇怪地问道。

    adn柔了揉眼睛写道:“我也不是很确定。不过我怎么感觉这个假aya好象并不是有心在跟你打仗而是在刻意吸引你的注意力啊。”

    “是吗?我没什么感觉啊。”戴蒙说道。

    adn在电脑面前啧了一声然后写道:“不对我总觉得好象哪里有什么问题。你是怎么跟他遇上的?”

    戴蒙把大致的情形跟adn说了一遍。

    听完戴蒙的话adn就有点犹豫了“也许……是我多疑了吧?”

    “不管那么多了兵来将挡水来土淹我们两个人联手就算是鸿钧来了也要忌惮三分。”戴蒙说完便开始对着第二台王牌跳板扫描起来。

    段天狼就等着他这么干在戴蒙扫描的过程中这台跳板不断地有数据回馈到戴蒙的计算机上。

    而段天狼就将这个只有几十个字节的参数夹在这些数据中送回戴蒙的计算机上。这个字节来到戴蒙的计算机上很快就找到了系统中的那个特定程序。

    这个几十个字节的参数就像是一个洗脑人员一样在最短的时间内便将对方的一名军官变成了叛徒。表面上服从上级实际上执行攻击者的指令。

    完成了这一步之后段天狼马上就利用这个程序迅在戴蒙的计算机中建立一个临时帐户并且将它的权限提高。

    然后获得了部分计算机控制权的段天狼马上将自己早就准备好的木马程序写入了另一个特定程序中伪装成系统文件的一部分。

    至此就算是大功告成了。

    就和段天狼以及孙云梦原先料想的一样因为没有料到这是个陷阱也没有料到对方是两个高手在对付自己一个更没有料到对方竟然可以在这么短时间里找到自己的系统漏洞另外再加上大量精力被孙云梦牵制的关系戴蒙并没有察觉到段天狼所做的这一切。

    但是他没有察觉到不等于就没有人察觉到。

    “你已经被人植入木马。”adn脸色无比严肃地在键盘上敲道。