您的位置:寻梦网首页其它文库人文知识欺骗的艺术
欺骗的艺术

作者: 凯文·米特尼克 翻译:王小瑞、龙之冰点


社会工程师可以通过操纵人们来达到目标,但也常常需要很多关于电话系统和电脑系统的知识与技能。
下面是一个典型的社会工程学案例,其中技术起着至关重要的作用。

铁窗下的入侵

哪里有最可靠的防范物理、电讯或电子入侵的安全设备?诺克斯堡(美军基地)?当然。白宫?那还用说。北美防空联合司令部(NORAD)隐藏在一座山下面?毋庸置疑。

那联邦监狱和青少年拘留中心怎么样?应该和这个国家的其它地方一样安全吧,对吗?很少有人逃跑,当他们这样做时,通常会在很短的时间内被抓回来。如果你认为联邦机构对社会工程学攻击免疫,那你就错了——绝对的安全是不存在的,无论是哪里。

几年前,有两个骗子(职业骗子)从一个本地法官手里弄到了一大笔现金,两个人这些年断断续续地触犯了很多次法律,但这一次他们引起了联邦当局的注意。他们抓住了其中的一个骗子,查尔斯•康多尔夫(Charles Gondorff),把他关进了圣地亚哥附近的拘留中心。联邦官员认为他有脱逃风险并对社会构成了威胁。

他的搭档乔尼•胡克(Johnny Hooker)知道查尔斯会需要一个辩护律师。但是钱从哪里来?名牌服装、特殊爱好、女人,像大部分骗子一样,他们的钱来得快去得也快。乔尼几乎都养不活自己了。

为了有足够的钱请到优秀的律师,乔尼不得不实施另一次骗局,但他无法单独完成,查尔斯•康多尔夫在他们以往的行骗中总是扮演着智多星的角色,不过乔尼并不害怕到拘留中心去问查尔斯该怎么做,只要不让Feds(译者注:FBI特工)知道有两个人在那里策划骗局并且非常热心地帮助对方。值得注意的是,只有家属才能探监,这意味着他不得不伪造一张证明来声称自己是一个家庭成员。试图在联邦监狱使用伪造ID听上去可不是个明智的决定。

不,他可以通过其它途径与康多尔夫取得联系,只是不太容易。联邦、州或地方监狱都不允许囚犯接听电话,联邦拘留中心每一部电话上都贴有这样的标签:“忠告用户,此电话允许监听,使用即同意。”在政府官员监听的电话里谈论如何犯罪只会延长你的联邦基金假期。乔尼知道有些电话是不被监听的:比如,囚犯与他的律师之间的通话(委托人与律师的通信受宪法保护)。事实上,康多尔夫所在的监狱有电话可以直接联系联邦公共辩护处(PDO),拿起那些电话便能直接与PDO连线,电话公司把这种服务称为“直通”。这种服务被认为是安全的、不受攻击的,因为它只能呼出到PDO,并且锁定了呼入线路,即使某个人不知怎么的弄到了电话号码,也会被电话公司“呼叫拒绝”(一个笨拙的电话服务术语)。

在所有半路出家的骗子精通欺骗的艺术之前,乔尼找到了解决这个问题的办法。在监狱里,康多尔夫拿起某部PDO电话:“我是汤姆,电话公司修复中心。”

术语

直通:电话公司术语,当电话被拿起时接通一个特殊的号码。

呼叫拒绝:电话公司的一个服务选项,设置某个电话号码无法呼入。

“我们正在对这条线路进行测试,我需要你拨9,然后拨0、0。”9是转到外部线路,00是接通一个长途接线员。如果接电话的PDO员工熟知这种骗局,就不能用这种方法了。

乔尼还有更好的办法。他很快了解到拘留中心有十个房间单元,每一间都有公共辩护处的直通电话线路。乔尼遇到了一些障碍,但他就像是一名社会工程师,总能想办法解决这些烦人的问题。康多尔夫在哪个单元?那个单元的直通服务号码是多少?他最初怎么样给康多尔夫留言而不会被狱警拦截呢?

也许这在普通人看来是不可能的,比如获得联邦公共机构的秘密电话号码,一名欺骗艺术家通常只需要打几次电话就可以了。翻来覆去地思考了几个晚上,乔尼把所有事情都想到了,他的计划总共五步。

首先,找到那十部PDO直通电话的电话号码。
更改那十部电话的设置使其允许呼入。
找出康多尔夫所在的单元。
然后找到该单元的电话号码。
最后,他就可以和康多尔夫进行预期的通话了,不会引起政府的任何怀疑。
小菜一碟,他想。

呼叫Ma Bell(AT&T)...

乔尼冒充总务管理局的工作人员打电话到电话公司商业办公室(该部门负责向联邦政府销售产品与服务),说他正在处理一张附加的服务订单,需要知道当前使用的所有直通服务的账单信息,包括圣地亚哥拘留中心使用中的电话号码和月账单。那位女士非常高兴地给予了帮助。
为了进行确认,他试着拨入了其中一条线路并收到了典型的语音提示,“此线路已断开或不在服务区”——他知道这意味着线路锁定了呼入,和他预想的一样。

他十分了解电话公司的运转程序,下一步他需要联系近期记忆修改授权中心(RCMAC,我总是惊讶于取这种名字的人!)。他打电话到电话公司商业办公室,谎称自己是维修中心办公室的,需要知道RCMAC的号码来处理某个地区号和前缀所在的服务区,该中心办公室也负责分配拘留中心的呼入线路。这属于常规请求,相关规定允许在一定范围内向技术人员提供一些帮助,那位员工毫不犹豫地把号码给了他。
他拨通了RCMAC的电话,使用一个假冒的名字,伪装成维修中心的工作人员,说他收到一位女士的投诉,有一个他负责的电话号码一直不能呼入,乔尼问:“这个号码被设置为呼叫拒绝了吗?”

“是的。”她说。
“好的,这就解释了为什么那位客户接不到电话!”乔尼说,“听着,你能不能帮我个忙,修改那条线路的类型代码或删除呼叫拒绝类型,好吗?”
当她在另一个电脑系统上查看是否允许更改服务状态时停顿了一下,她说,“此号码受限制为只能呼出电话,没有服务命令。”
“是的,这是个错误,我们昨天就应该处理的,但是通常处理这些的员工因病回家了,她又忘了拜托别人,所以现在那位客户理所当然地对这件事情非常不满了。”
短暂的停顿,那位女士在考虑这个超出常规并违反了标准操作程序的请求,她说,“好吧。”
他可以清楚地听到她在输入修改,几秒钟就完成了。
坚冰被打破了,他们之间建立了一种合作关系,看到这位女士如此配合的给予帮助,乔尼毫不犹豫地选择了更进一步,他说,“你能再多花几分钟帮帮我吗?”
“可以,”她回答道,“还有什么事吗?”
“我有几条属于同一个客户的其它线路,全部都是一样的问题,我把号码读出来,只要确认它们没有被设置为呼叫拒绝就可以了——好吗?”她说好的。
几分钟后,十条电话线路全都被“修复”为允许呼入电话了。

寻找康多尔夫

下一步,找到康多尔夫所在的房间单元,这一信息显然是管理拘留中心和监狱的人不想让外部人员知道的,乔尼再一次使用了他的的社会工程学技术。

他打电话到了另一个城市的一座联邦监狱——他选择了迈阿密——声称他从纽约拘留中心打电话来。他请求和监狱里使用岗哨电脑的人谈话(该电脑系统包含了所有的囚犯信息,全国的监狱机构都能访问)。

当和那个人连上线时,乔尼换上了他的布鲁克林口音,“你好,”他说,“我是纽约FDC(联邦拘留中心)的托马斯,我们到岗哨的线路总是不能用,你能帮我找出这个囚犯的位置吗?我想这个囚犯在你们那里。”然后读出康多尔夫的名字和他的注册号。

“不,他不在这里,”过了一会儿那个人说,“他在圣地亚哥的拘留中心。”
乔尼假装成很吃惊的样子,“圣地亚哥!上个礼拜他就应该被“马歇尔空运”到迈阿密的!我们说的是同一个人吗——他的DOB(date of birth 出生日)是哪一天?”
“12/3/60。”这个人看着他的屏幕上读道。
“是的,是同一个人,他在哪个房间单元?”
“他在北十号。”这个人愉快地回答着问题,即使没有任何合理的理由解释为什么一个纽约的监狱员工需要知道这些。
现在乔尼知道了康多尔夫所在的房间单元,下一步就要找出哪一个是北十号单元的电话号码。
这一步有点困难,乔尼拨打了其中一个号码,他知道那些电话的扬声器已经被关掉了,没有会知道它在响。于是他坐在那里一边看欧洲名城旅游指南,一边听着扩音器传出的持续不断的铃声,直到最终某个人把它拿起来。那个囚犯在电话的另一端当然是想要联系上他的法庭指定律师,乔尼已经准备好预期的回应了。“公共辩护办公室。”他声称道。

当那个人寻求他的律师时,乔尼说,“如果他在的话我会看见的,你是从哪个房间单元打过来的?”他草草记下了这个人的回答,放下电话,片刻之后回来说,“他在法院,你只能稍后打来了。”然后挂断。

他花了大半个早晨的时间,但还算幸运:第四次尝试就找到了北十号,现在乔尼知道了康多尔夫所在房间单元的电话号码。

时间同步

现在要通知康多尔夫接电话的时间,这比听上去要更容易。

乔尼用他的官方语调打到拘留中心,声称自己是一名员工,请求转接到北十号。然后当那名狱警拿起电话时,乔尼使用了犯人物品保管室(Receiving and Discharge,该部门负责接收和释放囚犯)的内部缩写, “我是R&D的泰森,”他说,“我需要和囚犯康多尔夫说话,我们要寄出他的一些财物,需要询问他地址,你能把他叫过来接电话吗?”

乔尼可以听到那名狱警在值班室里大喊大叫,焦急地等待了几分钟之后,熟悉的声音从电话那头传来。

乔尼对他说,“在我解释之前不要说话。”乔尼解释了这个骗局,然后说,“如果你可以在今天下午一点使用公共辩护办公室的直通电话,就不要说话,如果不能,那么说个你可以到那里的时间。”康多尔夫没有回答,乔尼继续说,“好的,一点到那里,到时候我会打电话给你,拿起电话,如果听到呼出的声音就迅速挂断,每过20秒试一次,直到听到我的声音为止。”

下午一点,康多尔夫拿起了电话,乔尼已经在等他了,他们进行了一次轻松、愉快、悠闲的谈话,在一连串类似的电话里设计骗局为康多尔夫筹措律师费——所有这些都不受政府的监视。

过程分析

这个有趣的故事提供了一个关于社会工程师怎样通过几个独立的、看似不合理的骗局让表面上不可能的事情发生的很好的例子。在现实中,每一步都会有一些小小的问题,直到完成整个骗局。

第一个电话公司的员工认为她在向联邦政府总务管理局的某个人提供信息。

第二个电话公司的员工知道她不应该在没有服务命令的情况下更改电话服务类型,但还是帮助了这个友好的人。这让呼入拘留中心的十条公共辩护电话线路成为可能。

对于那个在迈阿密拘留中心的人而言,帮助某个遇到电脑故障的联邦机构人员似乎是非常合理的,即使没有任何理由可以解释为什么他需要知道房间单元,为什么不问一问?

还有北十号的那个狱警,他相信这个打电话的人和他是同一个机构的,为了工作上的事情?这是非常合理的请求,所以他叫来了囚犯康多尔夫,这没什么大不了的。

周详的计划让整个骗局顺利地完成了。

快速下载

在法学院毕业十年之后,耐德•拉辛(Ned Racine)发现他的同班同学全都住进了带草坪的别墅,成了乡村俱乐部的一员,每星期打一次或两次高尔夫,而他则在为没有足够的钱付帐单的人处理微不足道的案件。嫉妒一直折磨着他,终于有一天,耐德受够了。

他曾经有过的唯一个好客户是一家很小但很成功的会计公司,这家公司擅长于收购和兼并。他们雇用耐德的时间不是很长,但足够让他了解他们涉及的那些生意,一旦他们被媒体报道,将会有一家或两家上市公司的股票价格受到影响。小打小闹,可以通过交易板购买股票,但是使用一些方法会更好——只要少量地投入资金就可以获得丰富的回报。如果他可以接触到他们的文件并找出他们正在研究的那些股票……

他通过一个朋友认识了一个特殊的人,这个人听了他的计划之后为之叫绝并同意向他提供帮助。为了一笔比平时少得多的酬金(和耐德在股票市场上赚的钱不成比例),这个人对耐德进行了指导,还给了他一个随身携带的微型设备(崭新的行货)。

在接下来的几天里,耐德一直监视着那家会计公司朴实无华、店面一样的办公室所在的小型商业停车场,大部分人在5点30到6点离开,到了七点,停车场就已经空了,清洁工在7点30左右出现,好极了。

第二天晚上8点之前几分钟,耐德把车停在了停车场的街对面,和他预期的一样,停车场只剩下清洁服务公司的卡车了。耐德把耳朵贴在门上,听到真空吸尘器运作的声音,他把门敲得很响,然后站在那里等待,他穿着西装,手里还拿着他的旧公文包。没人应门,他很有耐心地又敲了一次,终于来了一个清洁工。“你好!”耐德隔着玻璃门大喊,然后拿出他之前弄到的一个股东的名片,“我把钥匙忘在车里了,我要到我的桌子上拿点东西。”

那个人打开门让耐德进来,再把门给锁上,然后把走廊上的灯都打开了,这样耐德就可以看清路了。好的——他很喜欢这个把食物端到他桌子上的人,大概他把每一个理由都想过了。

米特尼克语录

商业间谍和电脑入侵者有时候会进入现实中的目标公司。比用铁锹闯进去要好得多,社会工程师运用欺骗的艺术让人们为他开门。

耐德打开了一个股东的电脑,当它启动的时候,他把一个微型设备(小到可以挂在钥匙圈上的玩意儿,但是可以存储超过120MB的数据)插在了电脑的USB端口上。他用这个股东的秘书的用户名和密码(很方便地用便签贴在了显示器上)登陆了网络。不到五分钟,耐德下载了每一个存储在工作站和网络目录上的电子表格与文档文件,然后回家了。

轻松赚钱

当我第一次在中学时代接触电脑时,我们只能通过调制调解器连入洛杉矶市区的一台L.A(洛杉矶缩写)所有中学共用的中心DEP PDP II小型机,电脑上的操作系统叫做RSTS/E,那是我学会使用的第一个操作系统。

1981年,那时候,DEC为他的产品用户每年主办一次研讨会,有一年我了解到研讨会将在L.A举办。一家热门杂志为此操作系统的用户公布了一个新的安全产品,LOCK-II,这个产品有一个像这样的很有创意的广告:“现在是3:30,M和乔尼正在沿街寻找你的拨入号码,555-0336,这已经是第336次了。你入他出,选择LOCK-II。”这个广告暗示该产品能防止黑客入侵,这一次的研讨会把它展示出来。
我很想亲自看看这个产品。我在中学的伙伴和朋友,文尼(我曾经的入侵搭档,后来成了抓我的联邦密探),和我一样对新的DEC产品充满了兴趣,他怂恿我和他一起去研讨会。

现金悬赏

我们到了那里发现已经有一大群人围着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。

密码攻击

在这里,伊凡需要通过技术手段获取验证信息,大多数系统攻击的第一步都是远程扫描出一个弱口令账户,这是进入系统的最初入口。

当攻击者尝试远程扫描密码时,这可能需要他在几个小时里保持与公司网络的连接,他这样显然是在冒险:时间越长,被发现和被抓住的风险越高。

作为一个预备的步骤,伊凡需要列举出目标系统的详细资料,因特网又一次方便地提供了相应的软件(http://ntsleuth.0catch.com:“catch”之前是数字0)。伊凡找到了几个在互联网上公布的自动列举进程的黑客工具,这样就避免了手动操作引起的麻烦(时间过长导致风险过大)。伊凡知道大多数公司使用的都是基于Windows的服务器,他下载了一个名为NBTEnum的NetBIOS(BIOS:基本输入输出系统)列举工具。他输入了ATM5服务器的IP(Internet protocol,Internet协议)地址,然后开始运行程序。列举工具能扫描出服务器上存在的账户。

术语

列举:查看操作系统已启动的服务并列出允许访问系统的用户的账户名。

一旦扫描出存在的账户,可以使用同一个列举工具对计算机系统进行字典攻击,这是许多计算机安全人员和入侵者非常熟悉的,但大多数其他人可能在了解之后会感到震惊,这种攻击使用常用单词对系统上每个用户的密码进行尝试。

在某些事情上我们都很懒,但我总是惊讶于人们选择的密码,他们的创造力和想象力似乎都消失了。我们中大多数人都想要一个安全系数高又容易记忆的密码,这通常意味着一些和我们有联系的东西,例如我们名字的首字母、中名、昵称、配偶的名字、喜欢的歌、电影或饮料,我们住的街道或生活的城镇、驾驶的车型、喜欢的夏威夷滨海乡村、常去钓鲑鱼的河流。看出这里的模式了吗?全都是人名、地名或字典上的常用词。字典攻击可以非常迅速地把常用单词当成密码去尝试一个或多个用户账户。

伊凡是分三个阶段进行的字典攻击,第一次,他尝试了一张包含800个常用密码的列表:列表还包括隐私和工作。这个程序也可以在每个单词的前后添加数字或当前月份。程序尝试了每一个扫描到的账户,运气不好,没有成功。

第二次尝试,伊凡进入Google搜索引擎搜索“单词列表 字典”并找到了数千个包含大量单词列表和字典的站点。他下载了一整部电子英语字典,然后他用许多在Google上找到的单词列表将其扩充。伊凡选择了 http://www.outpost9.com/files/WordLists.html。

这个站点允许他下载(全免费)的一系列文件中包含了姓氏、教名、国会名、演员名、还有圣经中出现的单词和名字。

其它许多站点提供的单词列表实际上来自于牛津大学 ftp://ftp.ox.ac.uk/pub/wordlists。

在其它站点提供的列表中有卡通动画的名称,有《莎士比亚》、《奥德赛》、《托尔金》、《星际旅行系列》和《科学与信仰》中出现的单词,等等。(有一家在线公司以20美元的低价出售包含440万个单词和名称的列表。)攻击程序可以设置将字典中的单词顺序颠倒,另外——这也是许多电脑用户认为能加强安全的做法。

比你想的更快

一旦伊凡选定了使用的单词列表,软件就会自动开始攻击,这样他可以把注意力放在其它事情上了。这是难以置信的一部分:你可能认为这样的攻击可以让黑客去做里普•万•温克尔的大梦(译者注:美国作家华盛顿•欧文在其小说《里普•万•温克尔》中叙述主人公里普•万•温克尔在山中一睡20年,醒来发现世事全非)了,当他醒来的时候软件进度条才会涨一点点,但事实上,依赖于被攻击的平台、系统安全配置和网络连接质量,尝试完一本英语字典里所有的单词,难以置信,只要不到三十分钟!

当攻击正在进行的时候,伊凡打开了另一台电脑对开发小组使用的另一台服务器(ATM6)上进行了类似的操作。二十分钟后,攻击软件完成了大多数毫无防范的用户认为不可能的任务:它破解了一个密码,软件显示某个用户选择了密码“Frodo”,《魔戒》中一个矮人的名字。有了这个密码,伊凡就可以登陆ATM6服务器了。

对于我们的攻击者而言有一个好消息和一个坏消息,好消息是他破解的账户拥有管理员权限,这是进行下一步的基础,坏消息是游戏的源代码怎么也找不到。最终可以肯定它在ATM5上,而针对ATM5的字典攻击没有成功,但是伊凡没有就这样放弃,他还有一些更多的方法可以尝试。
在一些Windows和UNIX操作系统上,他们存放密码哈希值(加密的密码)的地方可以被任何访问此计算机的人查看,理由是加密密码无法破解因此不需要保护。这种说法是错的,使用另一个同样可以在因特网上找到的叫做pwdump3的工具,他可以从ATM6中提取出密码哈希值并将其下载。


密码哈希值文件示例:

Administrator: 

500:95E4321A38AD8D6AB75EOC8D76954A50:2E48927AO 

BO4F3BFB341E26F6D6E9A97 : : :  

  

akasper : 

1110:5A8D7E9E3C3954F642C5C736306CBFEF:393CE7F90A8357 

F157873D72D0490821: : : 

  

digger: 

1111:5D15COD58DD216C525AD3B83FA6627C7 : 

17AD564144308B4 2B8403DOIAE256558: : : 

  

ellgan : 

1112:2017D4A5D8D1383EFF17365FAFIFFE89:O7AEC950C22CBB9 

C2C734EB89320DB13: : :  

  

tabeck: 

1115:9F5890B3FECCAB7EAAD3B435B51404EE: 

1FO115A72844721 2FCO5EID2D820B35B: : :  

  

vkantar : 

1116:81A6A5DO35596E7DAAD3B435B51404EE:B933D36DD12258 

946FCC7BD153F1CD6E : : :  

  

vwallwick: 

1119 : 25904EC665BA30F4449AF42E1054F192:15B2B7953FB6 

32907455D2706A432469 : : :  

  

mmcdonald:  

1121:A4AEDO98D29A3217AAD3B435B51404EE: 

E40670F936B7 9C2ED522F5ECA9398A27 : : :  

  

kworkman :

1141:C5C598AF45768635AAD3B435B51404EE: 

DEC8E827A1212 73EFO84CDBF5FD1925C : : : 


现在有了下载到电脑上的哈希值,伊凡要用另一种风格迥异的暴力破解工具对所有的数字、字符和特殊符号组合进行尝试。

伊凡使用的软件工具叫做L0phtcrack3(loft-crack出品,位于 www.atstake.com,另外在 www.elcomsoft.com中有几个很好的密码恢复工具),系统管理员用L0pht-crack3检查弱口令1,攻击者用它来破解密码。LC3暴力破解对密码的尝试包括字母、数字和大部分的符号组合!@#$%^&,它能系统地尝试大多数字符的每一个种可能组合。(注意,如果使用的是无法显示的字符,LC3也无法将其破解)
这个程序有着难以置信的速度,在1GHz处理器的机器上最高能达到每秒尝试280万次,即使是这样的速度,如果系统管理员恰当地配置了Windows操作系统(关闭LanMan哈希值的使用),破解一个密码仍然要消耗大量的时间。

术语

暴力破解:通过尝试每一种可能的字母、数字、符号组合对密码进行破解。

因此攻击者通常会下载哈希值并在他的(或其他人的)机器上进行攻击,这样就不需要保持和目标公司网络的连接,也没有被发现的风险。
对于伊凡而言,这样的等待不算漫长。几个小时后,他得到了每一个开发小组成员的密码,但这些是ATM6上的用户密码,并且他已经知道游戏源代码不在这个服务器上了。

现在怎么办?他还是没有得到ATM5上某个账户的密码。根据他对典型用户脆弱的安全习惯的理解,他认为某个小组成员可能会在两个服务器上选择同样的密码。事实上,他真的找到了,某个小组成员在ATM5和ATM6使用的密码都是“garners”。

大门向着伊凡敞开了,他自由地搜寻着他想要的程序,直到他找到了源代码的目录并愉快地下载了下来,然后他进行了系统入侵中典型的一步:他修改了一个隐匿用户(管理员权限)的密码,以防将来想要获得软件的更新版本。

过程分析

上述攻击利用了技术和人的弱点,攻击者首先用电话骗局获得了目标信息所在服务器的位置和主机名,然后他用工具扫描出了所有的有效账户名,接着他进行了两次连续的密码攻击,其中有一次是字典攻击(使用英语字典中的单词搜索常用密码,有时还会增加包含姓名、地名和特殊爱好的单词表)。

因为任何人都能获取商业的和公共流通的黑客工具(无论出于何种目的),所以对企业计算机系统和基础网络的保护显得更加重要。
当然,这种威胁不能被夸大,《计算机世界》杂志针对奥本海默基金公司的分析得出了惊人结论。公司的网络安全与灾难恢复副主管用标准软件包进行了一次密码攻击,杂志报导说他只用了三分钟就得到了800个员工的密码!

米特尼克语录

在大富翁(Monopoly)游戏的术语中,如果你使用一个常用单词作为你的密码——就直接去了监狱,不能前进,不能收取200美金的租金(译者注:在大富翁中,如果你第三次掷出相同的点数,就会被立刻送进“监狱”)。你需要告诉你的员工怎样选择密码,真正地保护你的资产。

预防措施


当攻击者在攻击中添加了技术元素时,社会工程学攻击可以变得更加具有破坏性,抵挡这种攻击的常用方法是在人和技术两方面同时采取措施。

就说不

在这一章的第一个故事中,电话公司RCMAC的员工不应该删除掉十号电话线路的呼入拒绝状态,因为没有服务命令批准进行修改。只让员工了解安全程序和规定还不够,还应该让他们知道这些规定对于公司的安全而言有多么重要。

应当阻止重要系统中违反安全程序的行为,当然,安全规定必须结合实际,过于繁琐的规定会被员工无视的。同样,安全认知程序需要让员工们了解,因为急于完成手头上的工作而绕过必要的安全程序会伤害到公司和同事。

同样的警告也应该出现在向电话上的陌生人提供信息的时候,无论这个人怎样花言巧语地介绍自己,也不管他在公司中有何地位和资历,在确认呼叫者的身份之前,绝对不能向他提供任何非公共信息。如果严格遵守了这一规定,这个故事中的社会工程学骗局就不会成功,联邦囚犯康多尔夫也无法和他的搭档乔尼商讨新的骗局。

我在这本书中反复强调了一点:验证,验证,还是验证。在没有确认请求者的身份之前,不能响应他的任何请求——就这样。

正在清理

对于没有安全警卫昼夜值班的公司而言,如何阻止攻击者在下班以后“拜访”办公室?清洁工会像往常一样对待似乎是公司员工的任何人,毕竟,那些人可以找他们的麻烦或解雇他们。因此,不管清洁队是公司内部的还是从外部中介机构签约的,都必须接受物理安全事件培训。

清洁工作当然不会需要大学文凭,也不需要英语能力和常规训练,只要知道一些非安全的东西比如怎样使用清洁产品进行不同的作业就可以了。“如果有人想在下班时间进来,你要查看他们公司证件,然后打电话到清洁公司办公室解释情况,等待批准。”一般这些人是不会收到这样的指令的。

一家机构应该在发生这种情况之前有所防范并以此来培训员工。在我的个人经验里,我发现大多数(而不是全部)的私营商业部门在物理安全方面非常松懈。你可以用另一种方式解决问题,把责任交给你的公司员工。没有24小时警卫服务的公司应当告诉它的员工,如果要下班后进入公司,就带上他们自己的钥匙或电子访问卡,能否进入不能让清洁工来决定。然后要求清洁公司培训他们的员工,在工作的时候不放任何人进来,这是个简单的规定:不要为任何人开门。适当的话,可以把它作为条款写在与清洁公司的合约里。

同样,清洁队应当接受识别蒙混过关者(跟随合法员工通过安全入口的人)的培训,不允许其他人(就算那个人看上去是一名员工)跟随他们进入大楼。

偶尔(比如,一年三到四次)也要更进一步安排渗透测试或攻击评估,在清洁队工作的时候让某个人站在门外尝试进入大楼。你可以聘请专业公司的人员进行渗透测试,这比用你自己的员工要好。

传递它:保护你的密码

越来越多的机构更加重视通过技术手段加强安全策略了——比如,对操作系统进行配置,强化密码策略,限制非法登陆尝试(超过一定次数则锁定账户)。事实上,Microsoft Windows商业平台一般都包含有这些功能。尽管如此,繁琐的操作还是很容易给用户带来烦恼,这些产品的安全功能通常都被关闭了。真实情况是软件厂商把产品的安全功能默认设置为关闭了,正确的做法应该恰恰相反。(我猜他们很快就会明白了。)

当然,公司的安全策略应当规定系统管理员在所有可能的情况下通过技术手段强化安全策略,达到不过分依赖人为操作的目的。你可以轻易地限制特殊账户的连续无效登陆尝试次数,这样,攻击者的生活显然变得更困难了。

所有的机构都面临着高度安全和员工生产力之间的平衡问题,这导致了一些员工无视安全策略,不接受保护公司敏感信息的最基本的安全措施。

如果一家公司的策略中留有未标明的地方,员工可能会按照最低标准执行,这样会很方便并让他们的工作变得轻松,一些员工会拒绝变动并公然地漠视好的安全习惯。你可能会遇到这样的一个员工,他遵守了关于密码长度和复杂性的规定,但是又把密码写在便签上,然后贴在他的显示器上。

保护你的公司安全的至关重要的一部分是,使用高强度的密码,在技术上与合理的安全配置结合起来。

对密码策略的详细讨论,请看第16章。




其它文库首页