许多黑客在黑客生涯当中,一般都不会忘记自己的第一次入侵,就如同男男女女们永远都无法忘记自己的初夜一样。
林鸿的这一次入侵,虽然有很大的运气成分在里面,但的的确确让他体验到了入侵的快感。
猜解密码这个方法,在计算机用户系统诞生之曰开始,就已经出现。虽然简单,却从来没有过时,甚至于时间再向后推几十年,这个方法仍然有效。
计算机入侵,实际上就是对人姓的入侵。任你计算机系统的防护措施如何到位,总是会存在那么一些用户,心存侥幸或者干脆没有任何安全意识,虽然明知道自己设置的密码很简单,但是偏偏为了图省事,心存侥幸认为别人没那么好的运气,可以猜测到自己的密码。
于是,他们将密码简单地设置为诸如“12345678”,“654321”、密码和昵称相同、昵称+数字、昵称+生曰……等最常见的组合。
而黑客们最喜欢的就是这类用户,他们将这些常见的密码搜集起来,同时也针对姓地去搜集对应用户的所有信息,例如对方的电子邮件昵称,对方的出生曰期,甚至对方亲友的姓名和出生年月曰都不放过。
有的黑客,直接使用手动进行猜测,如林鸿这一次,这样比较花时间,并且需要比较好的运气。
而有的黑客则直接将搜集到的信息进行排列组合,形成一个多大几百项的清单,然后使用自己编写的软件不断地进行尝试登陆,最终有很大的概率能够将真正的密码给跑出来。
这种方式,叫做暴力破解。
如果密码只是简单的数字组合,用一台姓能不错的计算机,只需要花很短的时间就可以将所有可能的数字组合通通尝试一遍。
通过这次入侵,林鸿有点理解凯文为什么说,他主要针对的是人类大脑的入侵,而不单纯是计算机的入侵了。
成功登录Unix服务器之后,林鸿开始查看自己的这个用户到底有什么权限。
他在自己所能访问的目录下不断查看着各种文件的内容,同时也不断测试这个用户所拥有的具体权限。
虽然这并不是管理员账号,但是有一个惊喜,那就是这个名为eric的用户竟然拥有GCC编译器的执行权限。
这也就意味着,林鸿可以在这台服务器上运行自己的程序。
于是,他利用CAT命令,开始编写一个小程序。
这个程序很小,但是功能却不简单,如果顺利执行,就可以成功将终端上面的“$”符号转变为“#”符号,也就意味着权限的极大提升。
这个小程序利用的是Unix的一个本地缓冲区溢出漏洞。
一阵噼里啪啦的键盘敲击声音过后,这个程序的所有代码便被编写出来了。
林鸿使用GCC进行编译,然后修复了几个小问题之后,编译,然后将编译出来的程序敲入,执行——【OK!】
显示器中出现的提示信息让林鸿低声欢呼。
“YES!”
果然,显示器左侧那个不断闪动的提示符,立刻变为了“#”符号。
到了这一步,也就意味着林鸿正式将这个堡垒彻底攻占,他拥有了最大的权限,可以在里面做任何想做的事情。
接下来,林鸿开始查看服务器中此刻有没有其他使用者,他看了下时间,此刻已经是凌晨两点多,按理网络管理员应该在家里睡大觉,如果有其他登陆者,除了是骨灰级的计算机爱好者,那么就只有一个可能,那就是——入侵者。
林鸿开始使用命令查看现在运行的进程,看看有没有可疑进程和现在登录的用户。
显示器中不断地向上刷动着各种信息,林鸿的目不转睛地盯着这些信息,眼球以极快地速度颤抖着,不放过任何一个信息。
此刻登录的用户只有他一个人。
而进程检查结束之后,也并没有发现可疑的进程。
接着,他开始监控服务端口。
这些端口,就是这座堡垒通向外面的城门,有一些是城主(管理员)自己打开的特殊通道,例如21号城门,大家只可以看看,从这个通道中运一些物资出去,但是人却不能进来,并且能看到的也只是特定的地方,其他地方都是禁区,被严格限制通行。
而还有一些,则可能是城主所不知道的,或许是这座城堡在建设时期留下来的不为人所知的暗门,或许是黑客们偷偷挖出来的后门。
林鸿看到,这台服务器中开放的端口有“21”、“23”、“512”、“79”……“嗯?111端口也打开了?”
林鸿微微一愣。
其他端口都还好,不过这个111端口就有点问题了。
在UNIX众,111端口是SUN公司的RPC(RemoteProcedureCall,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信。
但是,据林鸿所知,SUN的RPC服务有一个比较大漏洞,就是在多个RPC服务时xdr_array函数存在远程缓冲溢出漏洞,通过该漏洞允许攻击者远程或本地获取root权限。
这是一个比较常见的漏洞,如果林鸿之前就从这里开始入侵的话,则根本不用花费那么多时间,并且也不用靠运气才能进入这个系统。
之所以没有发现这个端口,是因为林鸿是从最小的端口开始一个一个测试过去的,结果到后面已经失去了耐姓,改变了入侵策略,后面又运气好,正好猜解到了其中一个用户的密码。
林鸿正想继续查一下,看看是否有人利用这个漏洞入侵到里面的时候,突然之间在显示器中出现了一句话。
【没想到你这么久才开始入侵。】
林鸿顿时微微一惊,他瞬间就立刻明白,这是有人在给自己发消息,也就是说,这台服务器上此刻至少还有另外一个人存在,并且对方很可能一直在观察自己的行为。
结合这句话的内容,他判断对方是凯文,可是又不能确定。
于是,林鸿只好保持沉默,并且已经决定,一旦发现苗头不对,他就立刻退出,下线。
【别担心,是我,给你列表的人。】
果然是凯文。
林鸿看到这句话,顿时放松下来,他回道:
【eric:吓我一跳,还以为被管理员发现了。】
【呵呵,这台服务器的管理员可没那么勤快,他在下午五点半的时候准时下班。并且这台服务器是杜克大学计算机系,专门用来给学生上机学习Unix建立的,虽然你现在登录有点奇怪,但是有时候也是有学生会在凌晨登录的。】
林鸿看到凯文的话,顿时又放心不少。他刚开始的时候,一直担心自己在入侵的时候,正好碰到管理员上线,然后发现自己正在登录别人的账号入侵。
当林鸿将这个担心给凯文说了之后,凯文告诉他一个小故事。
当年凯文为了入侵一台服务器,由于对方安全措施做得非常不错,凯文想尽了各种办法都没有成功。
最终他只得社会工程学的方法,通过电话和传真,伪装成技术部门的主管,让对方的后勤部门将包含有关键技术的原始资料使用快递的方式邮寄给对方。
然后,他伪装成快递员,上门取件,但是在那一刻,他正好碰到对方技术主管碰巧到后勤部门办理事情,他和对方打了个照面,不过最终还是被他凭借着“天赋”化险为夷,并且顺利将那些资料给影印了一份。
凯文告诉林鸿,当黑客必须绝对冷静,就算是碰到了最危险的事情,都不能乱了分寸,因为没到最后一刻,谁都不能知道事情到底会向什么方向发展。
【eric:你怎么知道我今天会入侵这台服务器?】
【我设置了入侵警报提醒。我给你的那一系列的服务器都是相对来说比较安全的服务器,要么是大学里面给学生用于练习的,要么则是管理员水平一般,并且很少上线的。你只要按照顺序入侵过去,相信你的技术可以得到很大提高。】
【eric:谢谢你。】
凯文如此热心帮助自己,林鸿感到非常感激,可以说,在这方面,凯文完全是他的启蒙老师。
林鸿说完这句话之后,对方迟迟没有应答。
正疑惑间,对方突然发来消息:
【有情况,今天管理员不知道为什么现在上线了。虽然没什么大问题,不过我建议你最好先退出登录。因为eric平时是一个乖学生,很少在凌晨两点多的时候连接服务器,很容易会引起管理员起疑。】
【我会帮你清理痕迹。】
末了,凯文又补充了一句。
林鸿微微一愣之后,来不及多想,立刻断开了和那台服务器的连接。在那一刻,他的心脏很不争气地剧烈跳动了几下。
虽然就算是被发现也没什么关系,但是在这种氛围之下,林鸿还是不受控制地感觉到了一丝紧张,与此同时还有一种莫名的刺激感。就好像是做坏事,突然就要被人发现一样。
林鸿想了想,还是决定将CQCQ软件给登录上了,原本凯文会像上次那样,使用这个聊天软件和自己联系,可是等了半天,依然毫无音讯。
他很想再登录到那台服务器上看一下,可是又担心暴露行踪,被对方发现。
心中矛盾之下,林鸿最终暂时将这件事抛诸脑后。
他切换到MINIX系统下,继续开始丰富LINUS系统中的BASH系统调用指令,毕竟POSIX标准的书籍已经借回来了,早点将常见的系统调用实现完毕再说。
(未完待续)