社会工程:安全体系中的人性漏洞
上QQ阅读APP看书,第一时间看更新

信息存在多种不同的来源。虽然以下几个小节不能覆盖每一种来源,但是也列出了收集信息的主要途径。

公司或者个人网站是信息的重要来源。优秀社会工程人员的第一步就是尽可能多地从公司或者个人网站上收集信息。在这些网站上花费一些时间是值得的,可以帮助你清晰地了解对象的基本情况:

>>他们做什么

>>他们提供的产品和服务

>>地理位置

>>招聘信息

>>联系电话

>>执行官和董事会成员的简介

>>支持论坛

>>电子邮件命名规则

>>可能用于密码分析的特殊字符或短语

看别人的个人网站是件非常有意思的事情,因为上面的内容涉及他们生活的方方面面:孩子、房子、工作等。这些信息应该分类存储,因为它们常会用于日后的攻击。

同一个企业的员工往往会登录相同的论坛,有着类似的兴趣,甚至会上相同的几个社交网站。如果你在LinkedIn或者Facebook中找到一名员工,很有可能他的好几个同事也在其中。收集这些数据,可以更加清楚地分析这家公司以及它的员工。很多员工会在社交网站上用标签的形式展示自己的职位,这可以令社会工程人员勾勒出公司某个部门的规模以及组织架构。

1.搜索引擎

强尼·龙(Johnny Long)为渗透测试人员写了本著作,叫做Google Hacking for Penetration Testers。这本书让很多人大开眼界——原来谷歌里有如此多的信息。

谷歌中记录了很多你认为已经删除的数据,就如同大型数据库一般。只要设定好查询方式,就能得到你想要的信息。

强尼总结出了一系列用来查询公司信息的语法。例如,在谷歌搜索框中输入site:microsoft.com filetype:pdf,就能得到microsoft.com网站上的所有PDF文档列表。

熟知搜索语法可以帮助你找到和目标相关的信息,这对信息收集来说很重要。我习惯于使用语法(类似于filetype:pdf)来检索PDF、DOC、XLS和TXT文件。当然,员工留在服务器上的DAT和CFG文件以及其他数据库和配置文件等也是值得收集的信息。

强尼的书通篇都在讨论如何利用谷歌来查找数据,不过重点是懂得谷歌提供的各种操作符可以帮助你创造出属于自己的搜索语法。

www.googleguide.com/advanced_operators.html上列出了各种操作符以及详细使用方法。

能够提供惊人信息量的搜索引擎不止谷歌一家。一位名叫约翰·玛瑟利(John Matherly)的研究人员发明了一个叫做“Shodan”的搜索引擎(www.shodanhq.com)。

Shodan的特殊之处在于它提供针对服务器、路由器和特定软件的搜索功能。例如搜索microsoft-iis os:“windows 2003”,就可以得到如下各地的服务器数量信息,这些服务器都是运行IIS服务的,里面装的是微软Windows 2003系统。

>>美国 59140

>>中国 5361

>>加拿大 4424

>>英国 3406

>>台湾 3027

这个搜索引擎不能针对特定目标,但是它揭示了一个道理:网络上有惊人的信息量供社会工程人员查询分析,以提升信息收集的能力。

2.Whois域名信息查询

Whois能提供域名数据库查询服务。Whois数据库中有很多有价值的信息,有些时候甚至包括网站管理员的完整联系方式。

使用Linux命令行工具或者登录www.whois.net这样的网站,都可以查询到域名的注册信息,包括联系人、电子邮件地址、电话号码,甚至DNS服务器的IP地址。

域名注册信息可以很好地帮助你了解目标公司,特别是他们的服务器。这些都可以用于信息的进一步收集,或者发动攻击。

3.公共服务器

企业对外的公共服务器往往会提供网站所没有的很多信息,比如服务器的操作系统、安装的应用程序和IP地址,这些信息可以大致反映企业的信息服务架构。了解平台和应用信息之后,便可以和域名信息组合在一起,在公开技术论坛上进一步搜索相关的配置信息。

IP地址可以说明服务器是在本地还是从服务器提供商处租赁的;通过域名解析记录可以看出服务器的名称、功能,以及IP地址分布。

在一次审计的过程中,通过使用Matelgo(第7章中将有详细介绍)搜索网页,我找到了一个对外的网站服务器,上面有几百份文档,其中包含项目数据、客户和文档作者信息。这些信息的泄露,对于公司来说是致命的。

值得一提的是,端口扫描(使用诸如NMAP或者其他端口扫描工具去定位公共服务器的开放端口、软件版本和操作系统类型等)在有些地区是违法的。

2003年6月,以色列人艾维·米兹拉希(Avi Mizrahi)因涉嫌未授权访问计算机系统被当地警方提起公诉。当时,他只是对摩萨德网站(Mossad)进行了端口扫描。8个月后,艾维被无罪释放。法官的意见是非恶意的端口扫描不应被禁止(www.law.co.il/media/computer-law/mizrachi_en.pdf)。

1999年12月,斯考特·莫尔顿(Scott Moulton)被联邦调查局以违背佐治亚州《计算机系统防护法》和美国《计算机欺诈与滥用法》为由实施逮捕。当时,他所在的IT服务公司与佐治亚州的切罗基县有着长期的合作关系,一直为911安全中心提供维护和升级的服务(www.securityfocus.com/news/126)。

作为工作的一部分,莫尔顿在为切罗基县的服务器进行例行端口扫描时,扫描到另外一台属于另一家IT公司的网站服务器。这件事情直接导致其被起诉,到了2000年,法官以未对互联网完整性和可用性造成破坏为由,撤销了对他的诉讼。

2007年到2008年间,英国、法国和德国都通过了相关的法律,认为创建、发布和拥有能够导致他人入侵计算机的工具都是违法行为,端口扫描工具也在其中。

当然,如果是收费的信息安全审计,这些都应在合同中描述清楚。对社会工程人员来说,应该熟知当地法律,避免做出违法行为,这非常重要。

4.社交媒体

很多公司最近开始热衷于在社交网站上做推广和营销。社交网站的营销成本低廉,又有大量的潜在消费群体。这里提供了来自于企业的另外一股信息流:活动安排、新产品发布、新闻报道以及一些能与当前热点事件挂上钩的文章,等等。

近期,社交网络正在逐步显示它们的作用。每当一个站点成名,便会涌现一系列采用类似技术的站点。有了Twitter、Blippy、PleaseRobMe、ICanStalkU、Facebook、LinkedIn、MySpace等站点以后,人们的生活和行踪被晒在了网上。随后,我们将深入讨论这一话题,你将发现社交网络作为信息源的神奇之处。

5.个人网站、博客等

像博客、维基、网络视频等个人网站不仅会提供目标公司的信息,还会透漏这些信息上传者的个人观点和信息。在博客上对企业满腹牢骚的员工会和那些持有类似观点的人相聊甚欢。不管以什么样的方式,人们总会在网上张贴大量的数据信息,任何人都可以阅读。

举个例子。让我们一起来看看最近出现的一个网站——www.icanstalku.com(参见图2-4)。不同于它的域名,这个网站并不是鼓励人们去跟踪别人,它跟踪的是那些毫无防范意识的Twitter用户。它遍历Twitter网站,寻找那些蠢到用自己的智能手机拍摄照片并上传的家伙。很多人都没意识到智能手机拍摄的照片会隐藏GPS信息。你上传这些照片的同时,也泄露了自己的拍摄位置信息。

图2-4 ICanStalkU.com网站主页的经典场景

位置信息的泄露是社交网站令人不放心的因素之一。在上传照片的同时,你的位置信息可能在你毫不知情的情况下被泄露了。

像ICanStalkU这样的网站强调了信息泄露的危险。通过一则小故事(还有很多)便可以看到,这些位置信息如何被利用,使受害人遭遇入室盗窃和抢劫等,故事的链接如下:www.social-engineer.org/wiki/archives/BlogPosts/TwitterHomeRobbery.html

不同种类的信息可以帮助你全面地了解目标。人们喜欢在Twitter上分享自己的地理位置、和谁在一起以及正在做的事情等。Blippy一种消费信息分享网站,当你的朋友刷卡购物时,你能马上知道他们买了什么,以及这些东西的价格和购买地点。能绑定人们的银行账号,然后向好友推送你的每笔消费信息,包括从哪里购买、花费多少等。含有地理位置信息的照片,以及Facebook这种用来分享个人照片、故事和其他相关信息的社交网站,是社会工程人员特别喜欢的信息源。只需片刻功夫,目标人物的住址、工作、照片、兴趣等信息就呈现在眼前了。

社交网站成为最佳信息源的另一个原因是可以匿名伪装。如果目标人物是一个刚离婚的中年男子,平时热衷于更新Facebook,那么你就可以假扮成一名希望结交新朋友的年轻女士。很多时候,人们在被拍马屁时,会泄露很多重要信息。结合伪装的技术,再加上人们通常认为自己见到、读到的就是真实信息这一安全漏洞,你便很容易得手。

6.公开报告

公开数据可能来自目标企业内部或者外部,包括季度报告、政府报告、分析报告及公开交易公司的收入信息等。例如,邓白氏集团(Dunn and Bradstreet)以及其他公司的销售分析报告都能以极低的价格买到,而这些报告中通常会包含目标公司的大量详细信息。

稍后会详细讨论的还有背景查询服务,比如www.USSearch.comwww.intelius.com。还有一些类似的有偿查询网站都提供查询服务,价格从每次1美元到49美元包月不等。通过搜索引擎,可以免费查到很多有用的数据,但一些财务明细数据和个人信息就得通过这种合法的付费形式有尝获得。最令人震惊的是,有些公司甚至会向客户提供个人的社会保险号(Social Security Number)。

虽然观察并不能称为社会工程工具,但是简单的观察却能给你带来关于目标的不少信息。目标企业员工使用钥匙、门禁卡(射频识别卡)还是其他方式进入办公大楼?有没有指定的吸烟区?垃圾桶有没有上锁?办公大楼有外置摄像头吗?供电系统或空调机组等外围设备的维修公司是哪家?这些信息都可以给社会工程人员的入侵提供可能。

上面仅仅是通过观察可以得出答案的几个问题而已。花上一段时间观察目标,并用隐藏式摄像机录制下来,然后回去慢慢研究和分析,你会学到很多知识并且你的信息量也会暴增。

难以相信在垃圾堆里能找出让我们获利丰厚的信息,就像难以想象我们为什么要去乐呵呵地翻垃圾一样。人们经常会扔掉发票、通知、信件、CD光盘、电脑、U盘以及其他种类繁多的设备和报告,我们可以从中收集到特别多的信息。正如前面提到的,如果人们连价值数百万的艺术品都会扔掉,那么只要认为某物是垃圾,人们都会不假思索地直接扔掉。

有时,公司认为直接将重要文件扔掉会不安全,于是便用碎纸机碎掉再扔,然而一些碎纸颗粒度不高的碎纸机粉碎过的文件还是能轻易拼回去的。如图2-5所示。

图2-5 粗线条单向粉碎过的文件依然有些文字可读

这张图展示的是粉碎后的一些文件,有些字还是可以被整体辨认的。这种情况下,只要肯花时间耐心地用胶带黏一下(如图2-6所示),便能将部分文件拼接回去,从而得到破坏性极强的信息。

图2-6 只要肯花时间且有耐心,文档是能拼接回去的

不过,使用双向粉碎机进行销毁,就会粉碎得相当细,几乎不可能再拼接起来,如图2-7所示。

图2-7 很难想象粉碎前它是纸币

很多公司付费将已经粉碎了的文件交给专业公司焚烧。也有一些公司直接将粉碎完毕的文件丢给第三方处理,之后就不管不问了。你大概也能猜到,这样会令入侵者有机可乘。社会工程人员只要找到提供该服务的厂商,就可以轻而易举地冒充成过去收“垃圾”(粉碎过的文件)的工作人员。无论如何,翻找垃圾箱是一种快速收集所需信息的方法。不过,翻垃圾箱时一定要记住以下几点。

>>穿质量好的鞋子或靴子。没有比跳进垃圾堆,然后被钉子戳到脚更令人抓狂的事了。确保你的鞋子合脚且鞋带系紧了,并能保护脚不为利器所伤。

>>穿深颜色的衣服。这点不需要过多的解释。你肯定会穿那些丢掉也不会心疼的衣服,而且深色的衣服不容易被发现。

>>带一个手电筒。

>>拿到了赶紧溜。除非你是在偏僻到不可能被抓到的地方,否则最好是拿走一些垃圾袋,到其他地方去翻找。

翻找垃圾桶几乎总能找到一些非常有用的信息。只是有的时候,社会工程人员不需要去翻垃圾桶就能得到这些信息。第1章中有一个例子,详见http://www.social-engineer.org/resources/book/TopSecretStolen.htm。加拿大反恐部队计划建造一栋新的办公大楼,然而这栋大楼的一些规划蓝图被当做垃圾扔掉了,甚至都没有经过粉碎。蓝图中包括监控摄像头的安装位置、围栏及其他绝密信息。还好,发现这一图纸的人没有恶意,否则后果不堪设想。

正如该文章所写的,这则故事只是用来展示很多“愚蠢至极”行为中的一种,但是从社会工程人员的角度来看,翻垃圾桶确实是最好的一种信息收集方式。

第7章将细致讨论社会工程人员会用到的士专业工具集,这里仅作简单介绍。

Common User Passwords Profiler(“常用用户密码探查器”,缩写为CUPP)和Who's Your Daddy(“谁是你爸爸”,缩写为WYD)是两款常用的密码分析工具,社会工程人员可利用它们分析出企业或个人可能使用的密码。

第7章将深入讨论这些工具的使用方法。WYD这样的工具可以将个人或者公司网站上的信息收集起来,根据网站上涉及的词语来创建可能的密码列表。人们通常会使用文字、姓名或者日期作为密码。这种类型的软件能够轻而易举地生成密码列表。

像Paterva制作的Maltego工具(第7章有详细介绍),简直就是信息收集者梦寐以求的。这款工具本身就可以帮助社会工程人员完成基于网页的被动信息收集和查询工作,不需要借用其他任何平台或工具。

之后,Maltego可以存储这些数据并在屏幕上用图形化的方式展现,以用于报告、导出或其他用途。这些对于分析公司的信息相当有用。

记住,收集数据的目的是了解目标企业及其员工。一旦社会工程人员收集到足够多的数据,如何最充分地利用这些数据信息来操纵目标便会了然于胸。应该将目标公司作为一个整体来分析,了解里面的员工大致参加哪些俱乐部、他们的兴趣爱好或者加入的社团名称。他们会不会向特定的慈善机构捐款?或者他们的孩子都就读于同一所学校吗?这些信息对于深入分析都很有帮助。

清晰明了的分析不仅可以帮助社会工程人员很好地伪装,而且还可以让他们知晓要询问哪些问题,什么时候适合打电话及哪天适合当面交流等,还有会令攻击变得更加容易的很多其他线索。

前文提到的所有方法,大多是现实生活中手动的信息收集方式,并未涉及信息收集的技术层面,例如,简单邮件传输协议(SMTP)、域名服务(DNS)、网络基本输入输出系统(Netbios)和简单网络管理协议(SNMP)。第7章中细致地讲解了Maltego软件中有关上述信息的收集功能。这些方法值得探讨,但是技术性较强,并不是本书所关注的“人性”入侵技术。

逻辑上,无论使用何种方法收集信息,首先浮现在你脑海中的问题可能都是:既然知道收集信息的地点、方式以及分类、存储并显示此信息的方法,那么如何使用搜集到的信息呢?

作为一名社会工程人员,信息收集完成后,必须开始规划如何攻击。为此,首先要建立模型,列出信息使用攻略。交流模型的建立便是最佳的开始方式之一。