欺骗的艺术——社会工程学

社会工程学是利用人性弱点体察、获取有价值信息的实践方法,它是一种欺骗的艺术。在缺少目标系统的必要信息时,社会工程学技术是渗透测试人员获取信息的至关重要的手段。对所有类型的组织(单位)而言,人都是安全防范措施里最薄弱的一环,也是整个安全基础设施最脆弱的层面。人都是社会的产物,人的本性就是社会性,所以人都有社会学方面的弱点都易受社会工程学攻击。社会工程学的攻击人员通常利用社会工程学手段获取机密信息,甚至可以造访受限区域。社会工程学的方式多种多样,而且每种方法的效果和导向完全取决于使用人员的想象能力。本文将阐述社会工程学核心原则,并会介绍专业的社会工程攻击人员用其操纵他人或挖掘信息的实例。

本文分为以下几个部分:1. 透过心理学的基本原理,带领读者大致了解社会工程学的手段和目标。 2. 通过几个真实的例子,演示社会工程学的攻击过程及使用方法。

从安全角度来看,社会工程学是以获取特定信息为目标的操纵他人的有力武器。很多单位都使用社会工程学的方法进行安全评估,以考核雇员的安全完整性,并通过这种方法调查工作流程和人员方面的安全弱点。需要注意的是,社会工程学是种很常见的技术,可以说各种人员都会使用这种技术。无论是渗透测试人员,还是诈骗专家、身份窃贼、商业合作伙伴、求职人员、销售人员、信息经纪人、电话推销员、政府间谍、心怀不满的员工,甚至日常生活中的孩童都会使用这种技术,只是他们的动机不同而已。

一 人类心理学建模

人类的心理取决于感官的输入。感官的作用是形成对现实的感知。按照感官对自然现象的识别作用来划分,人的感官可分成视觉、听觉、味觉、触觉、嗅觉、平衡和加速、温度、动觉、疼痛感和方向感的感官。人类正是利用、发展他们的这些感官的功能,得以感知外部世界。站在社会工程学的立场,任何通过显性感觉(视觉或听觉)、眼晴的动作(眼神接触、口头上的差异、眨眼频率或眼睛暗示)、面部表情(惊喜、幸福、恐惧、悲伤、愤怒或厌恶)和其他抽象实体进行观察或感觉收集到的信息,都可增加成功获取目标信息的概率。大多数情况下,社会工程学工程师必须直接与目标进行沟通,才能获取机密信息或受限区域的访问权。沟通形式可以是直接见面的接触方式,也可以是通过电子辅助技术进行的不见面接触方式。在实际工作中,常见的沟通方式分为两类:面谈或问询。但是,这两种方法都受到其他因素的制约,例如环境因素、对目标的熟悉程度和控制沟通模式的能力。所有这些因素(沟通、环境、知识和沟通模式控制)构成社会工程学工程师必备的基本技能。整个社会工程学活动取决于攻击者与目标之间的信任关系。如果不能与目标建立足够的信任关系,则所有的努力都可能付之东流。

现在,社会工程学已经形成了一门独立学科。有关社会工程学框架(Social Engineering Framework)的详细信息,请访问作者的官方网站:http://www.social-engineer.org/。Christopher Hadnagy运营着这个网站,并且发布了社会工程学领域的各种研究成果。他将这些信息向公众开放,以便于他人继续研究社会工程学攻击的具体方法。如果需要对用户进行安全培训,可参考有关资料 。

二 攻击过程

在这一部分我们将介绍一些发动社会工程学攻击的基本步骤。虽然这不是社会工程学攻击的唯一方法,甚至可以说没有成功率高的正式方法,但是本文的这些步骤可帮助您形成社会工程学的基本认识。情报收集、识别漏洞、规划攻击和执行攻击——社会工程学工程师通常都会采用这些某本步骤,它们可有效获取目标的有关信息或访问权限。

1 情报收集:

多种技术都可用于找到最容易攻破的渗透测试目标。例如,我们可采用髙级搜索工具收集被测公司员工的E-mail地址;通过社交网络收集被测单位员工的个人信息;识別被测单位组织使用的第三方软件包;参与他们的经营活动、社交活动和参加其会议等。以这些方式提供的情报,能够准确地推测出社会工程学意义上的“线人”。

2 识别漏洞:

一旦选定了关键线人,接下来就开始与对方建立信任关系和友谊。这样就可以在不伤害、不惊动目标的情况下,截获被测单位的机密信息。保持行动的隐蔽性和保密性,对于整个过程来说至关重要。另外,也可以调査被测单位是否使用了旧版本软件,继而通过恶意的E-mail或Web内容,利用软件漏洞感染当事人的计算机。

3 规划攻击:

您可以对目标采取直截了当的攻击方式,也可以利用电子辅助技术被动地攻击目标。以这些挖掘出来的情报入口着手,我们可以轻松地拟定攻击路径和攻击方法。例如,被测单位的客户服务代表Bob和我们的关系很好,他还信任我们;他就可能在计算机上执行我们发送的E-mail附件,而这种攻击不需要高级管理人员的任何事前授权。

4 执行攻击:

社会工程学攻击的最后一步是执行攻击计划。此时,我们应该保持足够的信心和耐心,主动监控和评估工作成果。完成这一步之后,社会工程学工程师掌握了充分信息,甚至可以访问被测单位的内部系统,这些成果足以让他们进一步地渗透被测单位。在成功执行攻击计划之后,社会工程学的攻击就可宣告结束。

三 攻击方法

社会工程学中,有5种有助于理解、识别、结交、准备目标的攻击方法。社会工程学按照它们的特点,将它们进行了归类。本节介绍了一些真实的案例,以帮助读者在实际情况中灵活运用各种所需方法。请注意这些攻击方法针对的是个人的心理学因素,要想提高这些方法的效用,就应该进行定期的训练和练习。

1 冒名顶替

攻击人员常常假装成他人以获取对方的信任。例如,在获取目标人员的银行信息方面,只要目标人员使用E-mail,我们就可以进行钓鱼攻击。这种攻击属于近乎完美的攻击方案。当决定使用钓鱼攻击之后,攻击人员要大量地收集目标人员用过的E-mail地址,然后伪造出与原银行界面一样的网页界面,以诱骗目标人员。

完成了以上准备之后,攻击人员会草拟并发送一份正式行文的E-mail(例如,银行账户更新通知)。这些E-mail看上去就像真正银行发出来的邮件,要求目标人员访问某网址更新账户信息。不过,邮件提到的网址将把目标人员提交的信息转发给攻击人员。攻击人员事先掌握了特定的Web技术,他们使用多种先进的工具(例如SSLstrip)就可以通过自动化手段轻松有效地达成预定任务。与那些借助他人帮助的欺骗方法相比,这种方法通过模拟银行业务的手段可直接达成冒名顶替的目的。

2 投桃报李

通过利益交换的方式达成双方各自利益的行为,被称为投桃报李。这类攻击需要长期业务合作达成的非正式(私人)关系。利用公司之间的信任关系,可以轻松地找到可获取特定信息的目标人员。例如Bob是一个专业黑客,他想知道ABC公司办公大楼的物理安全策略。进行仔细考察之后,他决定制作一个廉价销售古玩的网站,以吸引两名雇员的关注。Bob可事先通过社交网站掌握这两人的个人信息,了解他们的E-mail 地址、网络论坛等资料。在这两人之中,Alice在Bob的网站上定期采购商品,成为了Bob的主要目标。Bob决定要以一件稀有古董换取她们公司的内部文件。利用人类心理学因素,他将向Alice发送了E-mail,以转让这件稀有古董为筹码,要求Alice提供ABC公司的物理安全策略。在混淆了工作责任和个人利益的状态下,Alice把公司信息透露给了Bob。在创建骗局的同时,通过价值交换的事情强化私人关系,可成为社会工程学攻击的有效手段。

3 狐假虎威

冒充目标单位业务负责人的身份从而干预正常业务的做法就是狐假虎威。有些人认为,这种攻击方法属于冒名顶替的一种特例。人们会出于本能下意识地接受权威和髙级管理人员的指示,这个时候他们会无视自己否定性的直觉。这种天性使我们容易在特定的威胁面前毫无抵抗力。例如,某人要通过XYZ公司的网络管理员获取网络认证的技术细节。经过一段时间的专注分析,他可以通过利益交换方法获得网络管理员和CEO的电话号码。后来,他使用来电号码的伪造服务(例如,www.spoofcard.com)给网络管理员打电话。此时,网管会认为该电话来自CEO,将遵从攻击人员的指示。这种假冒权威人员身份的狐假虎威的做法,利用了目标人员必须遵从公司高级管理人员指示的规律,诱导目标人员泄露信息。

四 啖以重利

人们常说“机不可失”,他们特别关注所谓机不可失的宝贵机会。这些想法都是人性贪婪一面的写照。啖以重利的方法利用了人们渴求谋利机会的贪婪心理。著名的Nigerian 419 Scam(www.419eater.com)是利用人类贪欲的典型例子。让我们举一个例子,Bob想要收集XYZ大学里学生的个人信息。在他获取所有学生的E-mail地址的情况下,他可以向学生们发送邮件并宣告:提供个人信息(姓名、地址、电话、电子邮件、出生日期、护照号码等)将免费获赠iPod。由于这个创意专门针对在校学生设计,而且足以使他们确信能够免费获得最新的iPod,所以多数的在校学生会落入这个骗局。在企业界,相应的攻击方法通常鼓吹可以获得最大商业收益,达成业务目标。

五 社会关系

作为人,我们需要某种形式的社会关系,以分享思想、感情和想法。社会关系最易受攻击的部分是“性”。多数情况下,异性总是互相吸引。由于这种强烈的感情和信任的错觉,人们可能在不意间向对手透露信息。很多线上的社交门户网站都提供了见面和聊天的服务,以促进用户间的社会交际。Facebook、MySpace、Twitter、Orkut等网站都是如此。例如,XYZ公司聘请了Bob,要他获取ABC公司财务策略和市场营销战略以保持自身的竞争优势。他首先査找对方公司的雇员信息,发现ABC公司负责所有业务运营的人是一个叫作Alice的女孩。因此,他假装是一个普通的工商学的研究生,试图与Alice取得联系(例如,通过Facebook)。后来,Bob蓄意营造遇见Alice的机会,共同出席聚会、年庆活动,一同造访舞厅、音乐厅等地方。通过在见面期间的攀谈,Bob自然而然地获取到ABC公司有用的财务和市场策略信息。请记住,达成的关系越有效,越信任,就越有利于社会工程学工程师达到目标。在信息安全方面还有很多简化这些操作的工具。下面将会介绍的SET工具就是典型的社会工程学工具。

六 Social Engineering Toolkit(SET)

Social Engineering Toolkit(SET)是一款先进的多功能的社会工程学计算机辅助工具集。它由TrustedSec(https://www.trustedsec.com)的创始人编写,可以行之有效地利用客户端应用程序的漏洞获取目标的机息(例如E-mail密码)。SET可实现多种非常有效且实用的攻击方法。其中,人们常用的方法有:用恶意附件对目标进行E-mail钓鱼攻击、Java applet 攻击、基于浏览器的漏洞攻击、收集网站认证信息、建立感染的便携媒体(USB/DVD/CD)、邮件群发攻击及其他类似攻击。它是实现这些攻击方法的合成攻击平台。充分利用这个程序的极具说服力的技术,可对人的因素进行深入测试。

如需启动SET,可在桌面菜单中依次选中 Applications | Kali Linux | Exploitation Tools | Social Engineering Toolkit | setoolkit 。

或者在终端中加载SET程序。aliyunzixun@xxx.com:~#setoolkit

aliyunzixun@xxx.com:~#setoolkit 上述指令将显示如下选项(见图1)。

本例将演示通过恶意PDF附件发起钓鱼攻击的方法。在收件人打开附件时,他们的主机将被攻陷。

不要使用SET工具集自带的更新功能更新SET程序包。您应该使用Kali Linux系统的更新功能,以获取SET软件的更新 。

欺骗的艺术——社会工程学

图1

定向钓鱼攻击

如果采用这种攻击方法,我们就要首先创建一个配合恶意PDF附件的E-mail模板,再选择适当的PDF exploit payload,然后设置攻击平台与目标主机之间的连接关系,最后通过Gmail向目标发送这封E-mail。需要注意的是,您可以通过Kali Linux自带的sendmail程序伪造原始发件人的 E-mail 地址和 IP 地址。Sendmail的配置文件是/usr/share/set/config/set_config。有关程序的详细信息,请参考Social Engineer Toolkit(SET)的官方说明:http://www.social-engineer.org/framework/Social_Engineering_Framework。

这种攻击方法的具体步骤如下。

1.在SET程序的最初菜单里选择 1 ,进入图2所示的设置界面。

2.我们选择 1 ,即 Spear-fishing Attack Vectors ,然后进入图3所示的设置界面。

3.在上述选项中,我们必须选择 3 ,创建社会工程学邮件的模板。然后,我们书写邮件正文,如图4所示。

欺骗的艺术——社会工程学

图2

欺骗的艺术——社会工程学

图3

欺骗的艺术——社会工程学

图4

4.虽然我们在上一步里写好了邮件的正文,但是并没有设置邮件的格式。模板生成程序会把您编辑的内容当作模板的一部分套用格式模板。在编辑完正文之后,使用Ctrl+C键返回上级菜单。然后,进行E-mail攻击的有关设置。我们从Perform a Mass Email Attack菜单里选择 1 ,再选择 6 ,即 Adobe CoolType SING Table “ unique N ame ”O verflow 选项,如图5所示。

欺骗的艺术——社会工程学



图5

5.接下来设置payload类型。本例应该选择 6 ,即Windows reverse TCP shell。然后设置目标主机应当连接到的攻击平台(通常是Kali Linux主机)的IP和端口。本例假设攻击平台的IP地址是192.168.1.1,服务端口是5555。我们进行相应设置,如图6所示。

6.然后我们更改文件名,以使文件名称引人注目。我们把payload的文件名改成了BizRep2010.pdf。然后,我们要让SET知道它要如何处理我们的payload。我们选择 1 ,向单个E-mail地址发送payload;然后再选择 1 ,使用先前编辑好的邮件模板。现在,您的屏幕大体会是图7所示的这种情况。



图6

欺骗的艺术——社会工程学

图7

7. 接下来,我们选择E-mail模板。您创建的模板的质量,很大程度上决定了钓鱼战役的实际效果。然后,我们使用有效的E-mail中转服务器或Gmail账户向目标人员发送攻击性E-mail。

只有在测试条款里存在相应测试内容且客户明确理解测试内容的情况下,您才可以进行这种攻击测试。SET工具把感染文件发送给E-mail收件人,这种行为可能会引发法律问题。您需要参照发起测试地区的当地法律文件了解有关的法律规定。一旦您在SET中设置了E-mail信息,它就会立即建立连接发送文件。程序会在没有任何警告或提示的情况下直接发送E-mail 。

8.至此,我们已经向目标发起了攻击。现在我们等待受害人打开我们的恶意PDF文件。在他/她打开PDF附件的时候,我们将通过反射shell连接到被害人电脑的shell。请注意,我们配置的IP地址192.168.1.1是攻击人员主机的IP地址(也就是Steven电脑的IP),它在5555端口受理被害人电脑反射shell返回的连接。

通过上述步骤,我们就完成了向目标发起社会工程学攻击的操作,并可远程访问被害人的主机。我们可在shell的交互式提示符下执行Windows命令。

SET 可同时对一人或多人进行电子邮件的钓鱼攻击。它整合了可定制的E-mail功能,便于社会工程学工程师制定安全的攻击路线。这种功能可在攻击多个公司员工的同时保持攻击的隐蔽性。

SET 的作者不断地更新着这个程序,以适应当前技术的剧烈变化。不过,它的功能可见一斑。本书强烈建议读者访问作者的网站,继续领略 SET 的风采。它的官方网站是https://www.trustedsec.com/downloads/social-engineer-toolkit/。

本文节选自 《Kali Linux渗透测试的艺术》



内容简介

Kali Linux是一个渗透测试兼安全审计平台,集成了多款漏洞检测、目标识别和漏洞利用工具,在信息安全业界有着广泛的用途。

本书从业务角度出发,通过真实攻击案例并辅之以各种实用的黑客工具,探讨了进行渗透测试所需的各种准备工序和操作流程。本书共分为12章,其内容涵盖了Kali Linux的使用、渗透测试方法论、收集评估项目需求的标准流程、信息收集阶段的工作流程、在目标环境中探测终端设备的方法、服务枚举及用途、漏洞映射、社会工程学、漏洞利用、提升权限、操作系统后门和Web后文的相关技术、渗透测试文档报告的撰写等。

  • 本书适合讲解步骤清晰易懂、示例丰富,无论是经验丰富的渗透测试老手,还是刚入门的新手,都会在本书中找到需要的知识。

以上是欺骗的艺术——社会工程学的内容,更多 工程学 欺骗 艺术 社会 的内容,请您使用右上方搜索功能获取相关信息。