8.5 最高机密案例1:不可能的使命
每当我和同事参与或者听到一些给力的情节和故事时,都希望它能够被拍成电影。但出于安全因素的考虑,我们不能泄露内情,所以写和说都是不可以的。出于这些原因,我不能提及真实的参与者以及故事中泄露的信息。下面是一个有关一位化名为“提姆”的社会工程人员的故事。
提姆的目标是入侵一台存储着至关重要信息的服务器,如果这些信息被泄漏了,将导致灾难性的后果。这台服务器的合法所有者是一家知名的公司,他们对它设有重重防护。与该公司签订获取信息的合约时,提姆清楚地认识到自己必须用尽全力,这项工作可以说是对他社会工程技能的挑战。
8.5.1 目标
这次攻击的目标是获取一家知名企业的某些商业机密,这些机密绝不能泄露给竞争对手。这些秘密被安全地存储在服务器上,没有任何外部访问通道,信息只能从内网访问。
提姆与该公司签订协议,帮助该公司测试其安全性,防止“恶意人员”入侵并窃取信息。协议是在公司外面签订的,协议内容之前已经通过电话和邮件的方式谈妥了。
8.5.2 故事
提姆面临一个巨大的挑战。按照社会工程的步骤,第一步是信息收集。提姆不知道攻击中会使用到什么样的信息,所以他开始了冗杂的收集过程,内容包括邮件布局、报价申请表、所有能找到的员工姓名、他们参与的社交网站、他们发表的文章、他们参加的俱乐部以及他们的服务供应商信息。
他计划去翻一下公司的垃圾箱,却发现垃圾桶周围的安全戒备森严。许多垃圾箱甚至还与外部隔离,所以除非他能翻墙而入,不然连垃圾箱的标志都看不到。查出处理废品的部门后,他决定按照他绝妙的计划给公司打一个电话。
“你好,我是TMZ垃圾处理公司的保罗。我们是本地区新成立的一家垃圾处理公司,已经有一些大公司选择了我们的服务。我是负责贵公司所在区域的销售人员。我能发送一份服务报价单给你吗?”
“可以,我们对现在合作的对象很满意,不过你可以发一个报价来看看。”
“好的,我能快速地问你几个问题吗?”
“当然。”
“你们有多少垃圾箱?”提姆问道。在询问了他们是否有特殊的针对纸张、U盘和硬盘的垃圾箱之后,他最后又问了几个问题。
“你们通常哪天叫人来收废品?”
“我们每周叫人来收两次,第一区是星期三,第二区是星期四。”
“谢谢。我准备一下报价,然后明天下午发给你。你的邮箱地址是什么?”
“你可以发送到我的个人邮箱:christie.smith@company.com。”
现在他们开始了友好的闲谈,不知不觉中,他们说笑着寒暄了起来。
“太感谢你了。嘿,挂电话之前,你能告诉我你们现在是和哪家公司合作吗?我想做一份与他们的比较报价。”
“恩,你知道的……”她犹豫了,但还是说了,“好吧,我们现在的合作伙伴是‘废物管家’公司。”
“谢谢你,克里斯蒂。我相信你一定会对我们的报价满意的。我们稍后再联系。”
有了这些信息,提姆打开废物管家公司的网站,将他们的公司标志保存为JPG文件。然后他访问了在线衬衫打印网站,72小时后,他就收到了一件印有该标志的衬衫。因为知道垃圾将在周三周四被回收,所以他决定周二晚上行动。
接着他又给安全部门打了个电话。
“你好,我是‘废物管家’公司的约翰,你们的废品回收服务商。克里斯蒂•史密斯的办公室来电说你们有一个垃圾箱损坏了。我知道收废品的日子是周三,所以我想明天晚上去看一看。如果有损坏的情况,我们会随车装一个新的去。我周二晚上过去方便吗?”
“好的,让我查查。可以,乔明天在。你就停在保安亭旁边,他会给你张出入证的。”
“多谢。”
第二天提姆穿着“公司”的制服,手拿一块记事板出现了。他的伪装非常到位,因为他清楚日期还有内部工作人员的名字。现在,作为一名服务公司的员工,他走到保安亭前。
“乔,我是垃圾清理公司的约翰,昨天来过电话。”
门卫打断说:“是的,我看到你的名字了。”他给了提姆一张出入证和一份地图,告诉他怎样走到放置垃圾箱的地方。“需要有人陪你去吗?”
“不用了,我很熟悉。”
提姆随即驱车前往垃圾箱的放置点。
完美的伪装和一张出入证为他提供了足够的时间进行信息挖掘。他知道第二区存放的是非食品类垃圾,所以就先从那里开始。
没过多久,他就找到了几块硬盘、几个U盘、几张DVD光盘和一些装满纸的袋子,将它们全部放入卡车中。过了一小时左右,他告别门卫,并且对他们说问题解决了,然后开车离开了。回到办公室后,提姆开始深入搜索这堆“垃圾”中的信息,竟然有了意想不到的收获。
公司经常将不要的硬盘和U盘完全毁坏后再丢弃,他们会擦除上面的数据再送到专门的回收部门。但是,总是有些员工不严格遵守回收处理程序,把不能用的U盘或者无法启动的硬盘随手扔掉。他们没有意识到的是,有些软件可以在不启动硬盘或介质的情况下导出其中的数据,甚至在某些介质已经被格式化的情况下,数据也是可以恢复的。
废品中有一袋文件,内容看上去像是属于办公室的。掏空这个袋子后,提姆找到了一些没被粉碎的纸张。他开始阅读,其中有一份是关于IT服务的合同标书,这项服务工作几天后就会开始。这张纸看上去像是擦拭过溢出的咖啡,然后被丢弃的。
这是一个重大发现,但是还需要进一步调查。DVD光盘都是空白的或者不能读,但惊喜的是他在U盘中找到了一些文件。从这些信息中他发现了CFO的名字及其私人专线,以及其他一些重要的人事信息。
他收集到的信息具有很大的价值,但是我们需要关注的是他的下一步行动。由于掌握了与IT服务公司签约的信息以及服务的内容,提姆故意在第二天午餐时间给合同联系人打了个电话,期望他出去吃午餐了。
“你好,请问塞巴斯蒂安在吗?”
“他不在,出去吃午饭了。请问我能帮你吗?”
“我是XYZ技术公司的保罗。我想确认一下我们团队是否可以明晚到达,然后开始项目。”
“是的,请记住不要影响我们的正常工作,所以尽量不要在下午5:30之前到这里。”
“好的,先生,我知道了。明天见。”
提姆知道第二天他不能与其他“同事”一起到场,但是如果时间安排得好的话,他就不会被IT服务公司和目标公司的人逮个正着。在黑暗的停车场内等候了许久,他看见IT服务公司的人来了。大约30分钟后,他走到门口,解释说他和刚才进去的人是一起的,只不过刚刚返回车中去取一些文件。他获准进入了,现在他可以自由地进入办公区域了。
他还需要侦察一番,他认为最好的方式就是以内部工作人员的身份接近IT服务公司的人。徘徊了一会儿,终于听到有人在交谈,并且从一个人的穿着看出他是IT服务团队的一员。
由于从U盘的文件内容中得知了一些高层管理人员的姓名,并且从合同中获知了合同联系人的姓名,他上前说道:“你好,我是保罗,CFO施瓦茨先生的手下。有人给你解释过prod23生产服务器的事吗?”提姆从收集到的信息中获悉了服务器的名字,而且知道这正是那台需要他入侵的服务器。
“是的,我们知道那台服务器是禁止接触的。CFO向我们说明了它的加密情况和重要性。不用担心。”
几分钟交谈过后,提姆掌握了一些有价值的信息:
提姆知道,最后一点会增加他任务的难度,因为管理员不在场,他现在不能访问服务器。另外,服务器的物理安全措施也非常坚固,看上去很难闯入。他十分明确一点,就是管理员可以访问服务器,所以决定从这一点下手。
首先,他来到管理员的第一间办公室,但是门是锁着的。他继续检查第二间,然后是第三间。第三间办公室的门关着但没有关严,他稍稍一推,就进去了。
为了防止自己被当场抓获,他拉上窗帘关上了灯。他随身携带的社会工程工具套装中装有许多软件和衣物,进行此类攻击时他经常携带的一个工具是Linux启动U盘,比如BackTrack。在BackTrack中预装了一个免费的开源虚拟机工具Virtual Box软件。
他将U盘插入管理员计算机后面的USB端口,启动进入BackTrack。之后,通过SSH与自己的计算机建立连接,创建一个监听程序,然后通过管理员的计算机建立反向会话,继而在BackTrack中启动一个键盘记录程序(记录计算机上键盘敲击的所有信息),通过SSH将这些记录发送到自己的计算机上。
接着他给出了致命的一击。他打开Virtual Box软件,新建一个Windows虚拟机,使用本地硬盘作为启动盘,加载虚拟机。换言之就是,它加载了管理员的账户信息和操作系统。他将虚拟机的登录画面切换成全屏模式,隐藏所有的工具栏,将Virtual Box中现有的退出热键修改成一个特别长的组合键。这是为了防止用户误打误撞而暴露他们被攻击的事实。
通过后端U盘将本地硬盘载入虚拟机的方法,随时都存在被抓的风险,但是这个方法奏效的话,他就能得到管理员每次敲击键盘的记录,而且此人计算机上开放的反向连接使得他可以访问所有内容。即使链接不是在虚拟机中,通过管理员敲击键盘的记录,他还是可以使用受害者的用户名和密码进入到虚拟机中。
提姆在办公室里还做了另外几件事情,例如在另一台电脑上也建立了连接,以提供远程访问入口。他还通过手机SIM卡设置了一个远程监听装置,他可以使用任何一部电话拨打这个号码,监听该装置约6米范围内的对话。
几小时后,提姆离开目标公司回到自己的办公室。他很兴奋地检查这些装置是否能正常运行,但是他还有一些想法要实施。
第二天一大早,他确定远程连接还开着,于是拨通了监听装置,听了听人们早晨进入办公室的情况。正如他所期望的,计算机的第一条记录来了,捕获了管理员的用户名和密码。
大约一小时后,提姆看到不断有记录传进来。他知道如果此时有所行动的话,可能会让连接暴露,所以他只能等着。大约12:15左右,记录传送停止了,他猜想管理员一定是去吃午饭了。他立刻检查了反向会话,利用捕获到的服务器密码从管理员的机器上创建了一条到服务器再到自己机器上的通道。
建立完通道后,提姆在下午1点之前发疯似地尽可能复制数据。那时他没有看到任何键盘记录,无意中他听见监听器中有人问:“你知道这会还要开多久吗?”
得知管理员可能在开会,他发起了一个更大的传输任务。大约30分钟后,他发现了一些活动迹象,所以暂停了信息收集,想等晚点再看看。他可不想引起管理员的任何怀疑和警惕,因为文件传输连接可能会减慢其上网的速度。他开始筛选从服务器上抓取的数据,收获颇丰。
工作还没有结束。那天晚上他传输了大量的数据,可以说是尽其所能,然后再次来到了目标公司,像之前一样通过社会工程方法进去了。他来到管理员办公室,发现门是锁住的拉不开,于是用推刀(见第7章)把门打开了。
进去之后,他先关闭虚拟机,然后拔下U盘重启计算机,依老路离开管理员办公室。他收好监听器,确保没留下什么痕迹。
离开大楼,回到自己的办公室后,他整理了一天的收获。当然,去参加报告会时,他带了一叠打印文件和一个装满数据的硬盘。房间里的每个人都目瞪口呆。
8.5.3 社会工程框架的运用
这个故事让我们受益良多。这是一个杰出社会工程人员的例子。这个过程可以总结概况为练习、准备,当然还有信息收集。可以想象,他使用的所有技巧,从推刀的使用到建立通道,再到有效的伪装与信息收集,都是经过不断练习才得以熟练应用的。
对于信息收集的重要性,这里就不再赘述了。我知道大家对此已耳熟能详,但是必须指出的是,如果提姆没有做适当的信息收集,那么此次行动必败无疑。
通过打电话和现场勘查的充足准备,以及恰当硬件设备的选取,提姆的这次行动取得了成功。通过分析这次攻击行动,你可以看到一些社会工程基本原则的实际运用。
提姆是一个信息收集大师,利用网站资源牵出了各种有价值的信息,在打电话时运用了专业的诱导技巧,并且在与目标面对面时运用了杰出的说服技巧。这些技能使得他收集信息的水平远远超出了那些未经专门训练的黑客。
信息收集奠定了提姆伪装与提问的基础。
垃圾箱翻查计划十分精妙。在没有工作服和预约的情况下,他可能进入吗?当然。可是,他的方式到底是多么地有说服力呢?他没有令任何一个和他打交道的人产生怀疑,而且他们都毫不犹豫地按工作流程行事。如果一个人在接触你时丝毫没有引起你的防备和警惕,那他的伪装就堪称完美。提姆做到了,并且可以在垃圾区自由活动。
最精彩的部分是他进入大楼之后发生的事。出问题的几率极大,任何不当的行为都可能让他被逮个正着。他可以进入服务器房间,取走数据然后离开,可能都不会有人阻止他。但是如果采用这种方式就意味着公司不会知道他们的机密是如何被窃取的,也不会意识到他们的计算机曾被入侵过。
提姆冒着极大的风险在管理员的电脑上运行了一个虚拟机。这个特殊策略失败的可能性太高了。如果有人重启了计算机或者电脑突然宕机,又或者管理员碰巧误按了那个巨长的组合键,都会毁了整个攻击行动,并提醒公司他们的计算机已经被入侵了。
我可能会采取不同的、风险较小的方法,使用定制的EXE程序在他的计算机与我的服务器之间建立反向通道,通过修改计算机的启动脚本,使这个EXE程序不会被杀毒软件检测到,这样失败的可能性更低,但是提姆的方法属于十分有个性的社会工程攻击。
从这次特殊的攻击行动中,我们学到的可能不止一点,但最重要的一点是,“不要轻易相信任何人”这句古老的黑客格言。如果有人打电话说克里斯汀批准了某人检查垃圾箱,但她没有亲自告诉你或者备忘录中也没有,则需打电话向她询问。晚上要关闭电脑,确保它在没有密码的情况下无法通过U盘启动。
当然,这些额外的预防措施意味着更多的工作量和更长的加载时间。是否值得去做得由机器中储存的数据的重要性决定。在这个案例中,这些数据足以使这家公司倒闭,所以保护措施应该做到极致。虽然公司在服务器周围采取了许多先进的预防措施,例如硬盘加密、摄像头及生物锁等,却没能保护那些能够访问最重要的数据的计算机,这可能将会导致整个公司的终结。