第九十一章 八百里分麾下炙(六)


本站公告

    提起路由器,很多人肯定会觉得非常神秘,其实从软件结构上来说,一台路由器就是一台计算机,也有操作系统,而且是固化在rom中的。所以从理论上来说,路由器也是应该定期升级打补丁的,不过很可惜,大多数网管是没有这个工作兴趣的,如果哪台路由器工作异常了,直接重启就是了。

    从这个道理上来说,攻击路由器其实并不太难,而且有一些型号的路由器是有通用密码的,这些密码通过各种途径流传出来,就成为了黑客们的最爱,碰上这种使用默认密码的路由器,简直跟用自己的电脑一样方便。

    丁飞羽不是职业黑客,连业余的都算不上,所以手里也没有这种密码列表,但是他现在要做的工作很简单,也用不着跟路由器较劲,他只是给某一级路由发送了一个ARP数据包。

    对于大多数常用路由来说,其本身都维护有一个静态路由和一个动态路由表,其内容就是这台路由转发数据包的路径依据,丁飞羽发出的数据包就是通知这台路由器,他这里有一台路由器可以向华北《人世间》服务器的地址转发数据包。由于路由器转发数据包是有路径算法的,基本上遵循的是最短路径优先的原则,所以只要路由表建立了这样一条记录,就不愁没人上当,这个就是著名的ARP欺骗中的一种应用。

    丁飞羽当然不会真的把自己的电脑建设成一台路由器,他基本上算是一个好人,但是绝不是新时代的三有青年,这种默默无闻的好事他是不干的,所以当数据包转发到他这里后,就被截留了下来。他在自己的机器上建立了默认路由端口的套接字和缓冲区用以接收数据包,但是就是没有触发器。

    于是丁飞羽的电脑现在就相当于一个设施齐全的公司前台,有接待台有椅子,还有其它一些应该有或者不应该有的东西,就是没有接待员,来多少人都得老实等着。

    那么源源不断转发过来的数据包不是要把丁飞羽的电脑塞满吗?当然不会,端口的缓冲区以及输入队列是有限的,当缓冲区满或输入队列满后,后续的数据包会被丢弃,事实上,就连存在缓冲区里的数据,丁飞羽也没打算全读出来,这个小动作对于合法用户来说并不会造成太大的伤害,一个数据包被发送后,都会有一个超时值,当发生超时后,发动端会重新发送,而且路由?也并不是总会遵循同一条路径,除非这条路径是唯一的。

    对于存在缓冲区中的数据,丁飞羽单独写了一个软件进行分析排序,这个控制台软件的工作非常简单,就是把缓冲列队中的数据包读出来,根据一些简单的规则进行甄别,然后剔除无用的数据包,再把信息写入一个日志文件,交给丁飞羽阅读。丁飞羽的甄别规则很简单,就是检查同一个地址发出的两段数据包之间的时间间隔,只所以不是两个数据包,那是因为tcp/ip会对数据包进行重新分组发送,相邻的两个数据包很可能在发送的时候是一段数据的分组,而且顺序也可能是颠倒的。

    丁飞羽之所以这样做,就是为了简单区分这个数据包是自动发出的,还是人工发出的,既然这些数据都是发给《人世间》服务器的,那么合法的数据包当然就是在游戏中产生的,一个游戏客户端是不可能有事没事总给服务器发包的,大多数时候,这些数据包都是被事件触发的,这些事件大多来自鼠标和键盘等IO事件,所以其间隔时间是有最小速度间隔的,毕竟一个人按键的速度再快,也没有办法和计算机相比。这也是很多游戏判断用户是否使用了外挂软件的一个标准。当然为了应付这种检查,完全可以简单的使用延时来解决,所以这个办法并不准确。丁飞羽现在用这个办法来判断,是基于TheCrack的人完全没有必要使数据包看起来像是人为的,他的这个判断显然是正确的。

    得到了僵尸电脑的IP地址并没有什么用,丁飞羽总不能打电话过去跟人家说你的电脑被控制了,抛开电话费不说,114也不给查号,所以丁飞羽还须要分析对方的行为特征。既然一个黑客不能完全寄希望于社会工程学,那么使用木马机器人就是一个必然的选择,丁飞羽假定TheCrack的人找到了一种使用普通电脑大规模感染木马程序的方法,如果这种方法存在,那么现在这个机器人很可能同时在网络中工作。

    他又一次成功了,连续从几台僵尸电脑上发现了32440这个端口正在经UDP发送数据包,从这一点上看来,做网络安全不但需要经验和技术,还需要一些运气,显然丁飞羽今晚的运气不错。

    获得数据包后,丁飞羽立即装入虚拟机中进行分析,很容易的就得到了这个机器人的运行机制,这时他才惊讶的发现,在目前流行的128位视窗系统下,居然出现了一个已经被消灭了的缓冲区漏洞。

    理论上来说,计算机的端口属于慢速设备,处理器为了不必等待慢速设备的响应,对于端口的读写采用的是异步运行方式,就是说,处理器并不等待端口的响应,只有当端口触发响应条件时,处理器才会分出时间去检查端口状态,为了使端口在等待进程中不会丢失数据,一般都会在内存中为端口创建一个缓冲区,用以暂存数据,这个缓冲区的大小是给定的,理论上来说,缓冲的数据是不应该大于缓冲区长度的,一旦超过,多余的部分应该被自动截断。但是事实上,这个截断动作是由端口处理程序来完成的,这就给一些非法软件制造了机会,当端口处理软件不检查缓冲区长度,或者处理数据的缓冲区长度小于端口缓冲区的长度的时候,一些软件可以向这些缓冲区写入超长数据包,这些超出缓冲区的数据就有可能被执行,这就是著名的缓冲区溢出漏洞。视窗系统做为一个网络操作系统,会自动开放一些控制端口,这些端口在安装完成后会自动开放,并被相应的系统服务监视,一般来说,操作系统都会采取一些措施来防止这些端口被恶意联接,比如远程联接必须在本地手工确认等等,这些处理程序也都经过严格的测试,并不会有漏洞存在,但是很显然,在这一次的64位向128位系统的转移过程中,MS的程序员们犯了一个错误,没有及时检查其中一项服务的缓冲区长度,而TheCrack的人先于安全人员发现了这个漏洞。

    知道了机器人的运行机制,接下来就是丁飞羽的强项了,他迅速编写了一个小软件,然后在本机开始运行,做完这些后,他又在im上看了一会,就洗洗睡睡了,他的电脑在完成了一定数量的工作后也会自动关机,剩下的工作自然会有被他注入的机器来完成。58xs8.com