超脑黑客-第286部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
此刻,老王的系统也安装得差不多了,他正在配置FREEBDS的安全策略,将一些不必要的服务和端口都给关掉,不给对方留下任何机会。
林鸿走到他的身边看了一会儿。发现他做事的确正如他的性格一样,沉稳扎实细致,功底也非常扎实。
他说他是研究病毒的,没有足够的耐性肯定做不了这个工作。
林鸿道:“老王,我要在上面安装一个入侵检测监控软件,直接接收路由器发送过来的流量信息……”
林鸿把自己的想法和他说了一下,老王连连点头,马上让林鸿直接将软件共享一下,他给安装到里面去。
由于是在同一个局域网,林鸿直接在笔记本中新建了一个文件夹,将这个软件共享,然后老王便可以在服务器中直接访问。
软件很小,纯绿色,并不需要安装,直接运行即可。
这个软件,并不是图形化的,只有一个终端界面显示信息,设置好几个参数之后,便开始接收到路由器中发送过来的数据了。
“很不错的软件!”老王盯着终端看了一会儿称赞道,“有了这一道检测,我们就可以随时提前得知他们的入侵情况了!”
虽然上面的数据刷动得很快,也密密麻麻,但是对于林鸿和老王这些技术人员来说,这仿佛就是在播放视频文件一样,在讲述着这整个网络中所发生的事情。
从终端上的数据可以看出,他们已经开始向这边探测扫描了,有几个IP频繁出现在上面,不停地发送各种不同的数据,期待获取特定的回应,以便获知信息。
这种方式,用专业术语来说,就是在查点和扫描。
这一步的目的,是为了确定网络上到底有哪些计算机是存活的,这些计算机的IP是多少,开了什么端口,以及安装的是什么类型的操作系统。
这些信息,都需要自己主动发送信息过去,然后计算机才会给予一个应答,探测者便可以从这些应答里面获取自己想要的信息。
互联网实际上是在无线电广播的基础之上发展而来的,其中很多设计思想也继承了过来。
例如,无线电中,有广播的概念,互联网中也有。只不过,在互联网中,广播的信号是通过网线传播的。
无线电中,建立通联,是需要一方先广播,然后需要通联的一方,接收到对方的广播信号,再按照其中的信息,回应过去,双方“商量”好策略之后,便可以进行通联了。
无线电的这个过程,是人工进行的,大家用呼号或者专用术语来“商量策略”。
例如火腿A向火腿B说:“CQ,CQ,我是小A,正在呼叫小B,想要和你建立通联。我的同步频率是XX……”
火腿小B回应:“我是小B,我是小B,正在线上,同意进行通联。我的信号频率是同步YY……”
火腿小A再次确认:“太好了,你在啊!那我们就用频率ZZ进行通联吧!”
火腿们需要通过这种方式来商量通联对策。而在互联网中,这个过程,全部被简化了,完全由经过精心设计的通信协议来自动完成。
这个协商的过程,被形象地成为“三次握手”。
第一次握手即客户端向服务器端申请连接,顺便发送自己的同步包;第二次握手,则是服务器端同意它的链接,也会提供自己的同步包;第三次则是客户端真的确认通联,完成第三次的握手,最终进入连接状态。
三次握手是最为普遍的一个协议,当然还有其他协议。
基本上,每一次向对方发送一个数据包,如果对方是服务方的话,那必然会进行应答,并且这些应答数据包里面,会包含一些系统的真实信息。
这也是扫描和踩点所利用的原理。
林鸿问道:“老王,开了什么服务?”
“为了迷惑对方,我开了21端口和80端口都开了,不过都设置为最低权限,基本上开了和没开一样。”老王脸上露出一丝笑容。
林鸿一听也有些乐了。这老王,看上去老实巴交的,没想到还挺狡猾。
他坐到键盘前,快速地给入侵检测程序配置了一个安全策略,将在一段时间内超过一定次数的IP给记录下来,然后自动其拉入黑名单中,直接不给对方相应数据,延缓对方的探测行为。之所以要配置策略,是为了防止将正常的访问给误杀了。
然后,林鸿重新给路由器配置了一下策略,限制ICMP和UDP分组到特定的系统,最大限度地降低暴露信息的可能。
最后,他想了一下,重新在自己的电脑上共享了一个软件。
然后,他重新回到服务器旁,笑道:“再给他们来点有趣的。”
老王看到他执行了一个名为“ROTOROUTER”的软件,然后迅速地在里面设置一些参数。
“这个软件的作用是?”老王没见过这个软件。
“呵呵,一个伪装小工具。”林鸿一边设置,一边解释道,“这个软件,可以接管系统的一些应答服务,然后使用我实现设置好的虚假信息进行应答,让他们产生错误的判断。”
入侵检测记录下来的IP列表,正好使用在这个小工具上,一旦发现是IP列表上的IP进行询问,则这个软件便使用虚假的应答替代真实的应答,迷惑他们的视线。
“不错,真是不错!你手上的好东西还真是不少!”老王感叹道,“林鸿,我还真的有点好奇你的职业。”
老王对国内信息安全这一块也是比较了解的,可是却从来没有听说过有林鸿这样一号人物存在,从这几个细节便可以看出,林鸿在这方面的水平,绝对是大师级的,比他都还要高出好几个档次。自己在他面前,完全就是什么都不懂的婴孩一般。
这样的人,就像太阳一样,在哪里都能够发光发热,不可能默默无名,听都没有听说过。
第469章 溢出漏洞
老王也是技术人员出身,并且经历丰富,人到中年了看人也比较准。在场的这么多人当中,老王唯独对林鸿比较看重,也只有他的水平比自己要高。
老王的性格比较内敛,很少主动和别人进行搭讪,但是内心却有一种冲动,想要结识林鸿。这个年轻人,实在太突了,最关键的是,他还很年轻。
看着他,老王甚至有一种隐隐的羡慕和嫉妒,年轻就是最大的资本啊!
面对老王的询问,林鸿笑了笑,也没有隐瞒,回答道:“小弟我和朋友开了一个公司,专门做嵌入式系统方面的开发。”
林鸿此时才注意到,老王的右腿有些不便,或者说是畸形,走路的时候,一瘸一拐的。
见林鸿将目光放在他的右腿上,老王淡然道:“小时候小儿麻痹症落下的残疾。”
林鸿了然地微微点头。
小儿麻痹症也就是脊髓灰质炎,以前医疗条件差,小孩子也很少打疫苗,得这种病的人的比例比较高,而且会留下非常严重的后遗症,老王应该就是这些人当中的一员。
“老王,你目前是在哪个公司上班?”林鸿也有些好奇地问了一句。
老王摇摇头:“和你一样,也是自己搞了个小公司,专门研究杀毒软件。对了,这是我的名片,以后没准我们两个公司还有机会合作。”
说着,老王便从口袋中抽出一张白色名片。
名片很简单。没有任何花纹,只印了名字,联系电话以及公司名称。只见上面写着“北金市东明高科技有限公司。”
“见笑了,冠名高科技,其实科技含量并不高。只是我本身是个残障人士,能开个公司非常不容易,有关部门特别照顾。”老王脸上露出一丝自嘲的神色。
林鸿自然不会对此而发表什么意见。他将老王的名片收起来,放进口袋,说道:“等演习结束之后。我去你公司参观一下。以后应该会有合作的机会。”
“非常欢迎!”
接着,他们也开始对对手的服务器和设备进行扫描探测。
老王看到反馈回来的消息,顿时说道:“得。他们也用的是UNIX系统!”
林鸿听到他的话,也使用网络命令探测从各个角度探测了一下,老王说得没错,其中有一台设备上所使用的系统,是OPENBSD,这个分支的版本,比FREEBSD还要更短,去年的时候才正式启动。
不过,由于这个系统是基于NETBSD的,进展也非常快。去年七月份的时候出的1。2版,仅仅是短短三个月之后,便出来了2。0版。
这个系统,甚至可以说更注重安全方面的性能。
“看来蓝军也有高手。”林鸿点点头,“不过这样才有更有意思!”
“你说得对!”老王对林鸿的话深以为然。棋逢对手才是让他们高兴的事情。
接着,他们将大家召集起来,重新布置了一下任务,每个人都负责一部分内容,然后开始各自探测对方的目标。
接下来的事情很枯燥,就是不断地去查探对方的信息。然后进行分析,进而从中找出漏洞。
林鸿发现,对方也开了80端口,并且开设了APACHE的服务,看来对方用于通信的方式,是通过WEB服务。
单从这点上来看,对方便有点落后于红军了。
APACHE配置好的话,虽然漏洞很少相对来说也很安全,但这毕竟还是有漏洞的。至少林鸿便有好几种方式可以成功突破进去。他掌握的这些漏洞,有些是APACHE本身的,而有些,则是编程语言内部的缺陷。
不过,林鸿并没有着急动手,而是慢慢地进行探查,看看有多少种方式可以成功突破,同时也估算一下对方的水平。
有些漏洞,并不是对方想补就能补上的,这些漏洞的存在,并不是说对方的水平不行,而是平台本身存在,例如路由器里面的漏洞,如果没有专门研究过,根本不知道这里面还可以做文章。
林鸿和老王在探测对方的同时,其他人也没有闲着。
他们,有的如小蒋继续给自己的系统增加防御,配置安全策略,有的则如刘辉,忙着表现自己,从自己的私人“宝库”中,拿出“大杀器”,开始疯狂地对对方进行数据风暴攻击。
数据风暴攻击,也就是洪水攻击,其原理就是利用三次握手协议的缺陷,大量地伪造连接请求。
由于这些申请连接的请求是伪造的,源地址是假的,发出申请之后,对方的服务器便一直会进行对外回应广播,要求申请者再次进行确认或者拒绝,要是没有人再次回应,服务器便会一直这样下去,形成大量的半连接状态,这样端口的半连接队列很快就会被堆满,对其他有效请求便不能提供服务。
故而,这种洪水攻击,也叫做拒绝服务攻击。
以刘辉现在这种程度的洪水攻击,对于他们服务器的带宽来说,效果并不大。只有分布式的拒绝服务攻击即DDOS才能发挥最大效果。不过,要想使用DDOS攻击,就必须大量的机器参与进来。
当然,能够消耗一些对方的网络资源,也是不错的,也并不能说刘辉此刻的攻击没有意义,至少也扰乱一下对方的视线。
林鸿并不是很喜欢数据风暴式的攻击,因为这种攻击没有什么技术含量,缺乏技巧,就如同打斗的时候,完全凭借自身的蛮力和对方搏斗,却少智慧。
他不想使用过于惊骇世俗地漏洞,决定从正常的角度入手,针对对方的系统搞一个溢出攻击程序。虽然他对OPENBSD的研究并不是很多,但是有一点可以确定,那边是UNIX系列的系统,肯定存在着这样那样的溢出攻击漏洞。
这不是系统决定的,而是编程语言决定的。
UNIX系列的系统,都是使用C语言编写的,而C语言有一个重要的特点,那便是很容易出现溢出漏洞。这不是语言的缺陷,而是程序员的不严谨而造成的。
系统里面的程序实在是太多了,代码也是成千上万行,总是会有人粗心,没有严格检查各种内存边界的,这便给攻击者留下了可趁之机。
林鸿通过特定指令对方的服务器进行查询,得出了对方APACHE的版本号,发现并不是最新版本,他记得当初自己在架设网站的时候,曾发现过APACHE的一个溢出漏洞,当时并没有深入研究。
他从官方网站的FTP上将这个版本给下载下来,然后直接在自己的本机上,进行调试跟踪。直接按照记忆,对那个溢出漏洞进行测试,最终发现,这个漏洞至今没有被修复。
很有可能是这个溢出漏洞太过微小和隐秘,并没有引起开发组的注意,也没有引起什么危害,所以一直没有被发现。
既然有这么一个突破口,林鸿也就没有再去想其他法子,而是继续对这个溢出漏洞进行分析,看看是否能够让它执行自己特定的溢出程序。
第470章 棋逢敌手
溢出,顾名思义,就是容器已经满了,东西从里面跑了出来。
在计算机领域中,溢出通常指的是内存中的“栈”结构溢出。“栈”是内存中一个类似于瓶子的数据结构,里面按照“先进后出”的规则保存各种变量和指令。
正常的代码,在栈满了的时候,就会进行判断,然后进行相应处理,不会在其满了之后,还继续向其中压入数据,而是会停止压入,或者清空栈里面的数据,再继续压入。
而很多程序员在编写程序的时候,往往会对这一步进行忽略,或者忘记了对这一步进行检查。
大家都知道溢出的危害,但是还是存在着很多这样的例子,原因就在于这个过程是编程函数自动进行的,例如C语言,只要程序员自己编写一个函数,那么肯定就会有一个“栈”结构被建立起来,这个函数里面的变量和数据全部压入这个栈中,然后再按照执行的顺序,一步一步弹出。
函数是程序中必然会用到的,并且是大量用到,也就是说,栈这个结构也是随处可见,可是要是不对其中的边界条件做严格的检查的话,很有可能就会产生溢出漏洞,尤其是一些涉及到操作核心数据的函数。
林鸿对这种漏洞的利用简直是得心应手,当初他破解德州仪器的计算器的时候,使用的方式就是缓冲区溢出破解,成功让计算器的一个缓冲器溢出,然后执行他的破解代码。
而这一次,他想要做的事情也是一样,既然已经发现了这样的溢出可能,他