按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
现金悬赏
我们到了那里发现已经有一大群人围着LOCK…II的展台了,似乎开发者设下了现金悬赏,打赌没人能入侵他们的产品,这对我而言实在是难以拒绝的挑战。
我们把头伸直了往LOCK…II展台里面看,发现有三个此产品的开发者正在操作它,我认识他们,他们也认识我——我那时已经是小有名气的电话盗打者和黑客了,洛杉矶时报报导了我初次尝试社会工程学欺骗的故事,半夜闯进太平洋电话中心,在警卫的鼻子底下拿走电脑手册。(洛杉矶时报为了让报导更有吸引力而公布了我的名字:因为我还是青少年,所以这违反了隐匿未成年人姓名的法律规定。)
当我和文尼走进去的时候,气氛变得微妙起来,因为他们通过报纸了解到我是个黑客,看到我的出现有些震惊,而我们则是看到他们每个人所在的展台上各贴着100美金的悬赏,只要侵入他们的系统就能获得整整300美金——对于两个青少年而言这是一笔巨额财富,我们都等不及要开始了。
LOCK…II被设计为具有双层安全验证,用户必须要有一个合法的ID和密码,在特殊情况下此ID和密码只能从被授权的终端登陆(这称为终端基础安全)。要入侵这个系统,黑客不仅要知道一个账户ID和密码,还需要从合法的终端登陆。这是个很好的安全规则,LOCK…II的发明者深信它能抵挡入侵,我们决定给他们上一课,然后将三百美元收入囊中。
我认识的一个人(RSTS/E的头头)已经在展台打击我们了,几年前他和其他一些家伙向我发出过入侵DEC内部计算机的挑战——在他的搭档让我进去之后,多年以后他成了受人尊敬的程序员,他在我们到达之前就已经尝试过攻击LOCK…II的安全程序了,但没有成功,这让开发者对他们的产品安全更有信心了。
术语
终端基础安全:基于特定的计算机终端作为安全验证:这一做法在IBM大型计算机中非常流行。
比赛很简单:入侵,赢得美金,一场公开的惊人表演……除非有人能打败他们并拿走钱。他们非常相信他们的产品,甚至还在展台上勇敢地公布了系统中的一些账户名称和相应的密码,不只是普通账户,还包括所有的特权账户。
这其实没有听上去的那么勇敢:我知道,在这种设置类型中,每台终端都插在计算机自身的一个端口上,不难断定他们已经设置了这五台终端只能从非系统管理员权限登陆。看来似乎只有两条路:要么完全突破安全程序(这正是LOCK…II被设计来防范的),要么用开发者难以想象的某种方法绕路而行。
接受挑战
文尼和我一边走一边讨论,然后我说出了我的计划……我们在四周徘徊着,隔着一段距离注意着展台。午餐时间,当人群稀疏的时候,那三个开发者会利用这一间隙一起出去吃东西,留下了一个可能是他们中某个人的妻子或女朋友的人,我们走了回去,为了转移那位女士的注意力,我和她聊起了天,“你在这家公司多久了?”“你们公司还有哪些销售的产品?”等等。
趁此机会,文尼离开了她的视线,他和我同时开始了行动。除了着迷于计算机入侵和我对魔术感兴趣以外,我们都秘密地学习了怎样开锁。作为一个小孩子,我读遍了圣费尔南多谷一家地下书店中关于开锁、解手铐和伪造身份证的书籍——所有这些都不是一个小孩子应该知道的。
文尼和我一样练习了很多次开锁,直到我们能完美地解决所有普通的五金商店的锁为止。有一段时间我沉迷于开锁的恶作剧,比如戏弄为了安全而使用两把锁的人,把锁拿下来,互换位置放回去,这样那个人在用错误的钥匙开锁时会变得不知所措。
展厅里,我继续打扰着那位年轻女士,文尼闪到展台后面打开了他们安放PDP…11小型机和电线电缆的柜子上的锁。锁匠上这把锁更像是在恶作剧,这是圆片锁,像我们这样笨拙的业余开锁爱好者都能轻易地撬开它。
文尼花了整整一分钟时间才把锁打开,在柜子里他找到了我们所期望的东西:接入用户终端的插线集和一个控制终端端口,这是计算机操作员或系统管理员用来控制所有计算机的终端,文尼把展台上某台终端插在了控制端口上。
这意味着这台终端现在已经被认为是控制终端了,我走过去用开发者提供的密码登陆了进去。因为LOCK…II的程序现在已经认为我是从授权终端登陆的,所以它同意了我的访问,并且我拥有的是系统管理员权限。我给操作系统打了个补丁,让我能用特权用户登陆展台上的任意一台终端。
我一安装完补丁,文尼就马上回去断开了终端连线并把它插回了原处,然后他又把锁拿了下来,不过这一次是把柜门关上锁好。
我把目录列举出来想看看这台计算机上有些什么文件,在查找LOCK…II程序和相关的文件时我无意中发现了一些让人大吃一惊的东西:一个不应该出现在这里的目录。开发者太自负、太确信他们的软件是无敌的了,以至于没有移除这个新产品的源代码。走到邻近的硬拷贝终端前,我开始把一部分源代码打印在当时使用的长条带电脑纸上。
当那些人吃完饭回来时文尼正好和我会合了,他们发现我正坐在计算机上敲击按钮,而打印机还在继续转动。“你在做什么?凯文?”他们中的一个人问。
“啊,只不过是在打印你们的源代码。”我说。当然,他们认为我在开玩笑,直到他们看向打印机时才发现那是真的,那是他们被严密保护的产品源代码。
他们不相信我用特权用户登陆了。“输入T命令看看。”其中一个开发者说,我照做了,接下来屏幕上的显示证明了一切。那个人拍打着他的前额,然后文尼说,“三百美金,谢谢。”
米特尼克语录
这是另一个聪明人轻视敌人的例子。那你呢?你对自己公司的安全措施很有信心吗?你愿意用300美金打赌吗?有时候通往安全设备的路并不像你想象的那样只有一条。
他们给了钱,文尼和我围着展台转悠了一天,我们的证件上贴着百元的美钞,每个看见这些钞票的人都知道它们意味着什么。
当然,文尼和我没有攻破他们的软件,并且如果开发小组为比赛设定了更好的规则,或用了真正安全的锁,或者小心地看管了他们的设备,他们那天也不会经历这样的屈辱——出自两个青少年之手。
我后来了解到开发小组去银行取了些现金:那些百元美钞是他们身上所有的零钱。
入侵工具字典
当某个人拿到了你的密码,他就能入侵你的系统,在大多数情况下,你甚至不知道发生了什么事。一个名为伊凡·彼得斯的年轻的攻击者把目标锁定在了一款新游戏的源代码上,他可以轻易地进入那家公司的广域网,因为他的一个黑客伙伴已经攻陷了那家公司的一台Web服务器。在找到一个未修补Web服务漏洞之后,他的朋友差一点从椅子上摔下来,因为他发现这个系统被设置成了双定位主机,这意味着他得到了一个内部网络的入口。
但是当伊凡连接的时候,他遇到了一个类似于在罗浮宫寻找蒙娜丽莎的挑战,没有建筑平面图,你能走上数星期。这是家环球公司,有好几百个办公室和数千个电脑服务器,并且他们没有提供精确的开发系统索引或服务漫游指南来引导他到达正确的服务器。
伊凡无法使用技术手段找出目标服务器的位置,作为替换,他选择了使用社会工程学。他用类似于这本书中其他地方提到的方法打起了电话,首先,打到IT技术支持部门,声称自己是公司的员工,他的团队为产品设计了一个界面,然后询问游戏开发团队项目经理的电话号码。
接着他伪装成IT部门的人打给那个部门经理。“今天晚上,”他说,“我们要更换一个路由器,需要确认你的团队里的人是否能连接你们的服务器,所以我们想要知道你的团队用的是哪个服务器。”网络始终处在受保护状态,给出服务器的名称不会伤及任何东西,它是受密码保护的,服务器名称不会帮助任何人入侵,所以这个人把它告诉了攻击者。没有麻烦地回电话验证他所说的事情,或写下他的名字和电话号码,他直接给出了服务器名称,ATM5和ATM6。
密码攻击
在这里,伊凡需要通过技术手段获取验证信息,大多数系统攻击的第一步都是远程扫描出一个弱口令账户,