社会工程渗透测试教程(一)(3)

简介: 社会工程渗透测试教程(一)

社会工程渗透测试教程(一)(2)https://developer.aliyun.com/article/1508470

选择性注意力

选择性注意是关于我们如何处理信息的一种迷人现象。有时被称为“鸡尾酒会效应”。读者可能在拥挤的房间里经历过这种效应,当他们能够从众多声音中单独分辨出并理解一个声音时。我们几乎可以过滤掉不想要的声音,也就是说我们不处理它们,尽管我们技术上仍然能听到这些噪音。我们处理的唯一声音是我们想要的声音。在这个例子中,个体是有意地过滤信息的。然而,这种效应可以在许多情况下发生,无论个体是否希望发生。这样做的简单原因是我们的各种感官接收到的信息远远超过我们能够完全处理的范围。因此,绝大部分信息都被缓冲,我们的思维过滤这些信息,以便只有最重要的部分通过。已经尝试全面了解这个过程的细节,比如选择性注意的 Broadbent、Treisman、Deutsch & Deutsch 和 Kahneman 模型。对这些模型的全面讨论远远超出了本书的范围。然而,利用这一现象来辅助社会工程是可以的。

1999 年,Simons 和 Chabris 的视频中着名地展示了无意识的选择性注意力。视频显示了一些人穿着黑色,其他人穿着白色,互相传递篮球。观众被要求数清穿白衣服的人传递篮球的次数。视频进行到一半时,一个穿着大猩猩服装的人走到活动的中心,向摄像头挥手并走出镜头。在视频结束时,观众被问到他们数了多少次传球。绝大多数观众都没有注意到大猩猩。我自己第一次观看这个视频时也没有看到它,甚至不得不重新从头开始观看,只是为了证明它确实存在。观众的注意力被如此专注于复杂的传递动作,以至于他们没有处理一个大猩猩在他们面前挥手这一明显的事件。

这个视频证明了制造一种情景或事件序列,使受害者无法处理某些信息是可能的。阻止受害者看到挥手的大猩猩显然对社会工程师并不那么有利,然而,基本前提可以被复制以协助攻击。社会工程师所需做的一切就是确保受害者的注意力集中在足以防止任何其他信息被处理的复杂事物上。当然,“其他任何事物”必须是实现目标的元素。

这与基本的分散注意力技巧有何不同?从许多方面来看,利用选择性注意力可以被认为是高级的分散注意力。而不是老生常谈的:

嘿,那边是什么?

相反,社会工程师可以确保受害者的注意力完全集中在特定任务上。尽管这一方法在现实世界中的应用可能需要大量的创造力。

个性类型和模型

个性分类自古以来就存在,几个世纪以来出现了许多不同的模型。围绕个性分类的各种理论可以填满许多卷。将个体归入特定群体,然后利用这些群体来预测他们的行为的想法具有令人难以置信的应用潜力。如果你能根据自己的个性类型准确且一贯地预测自己的行动,那么你可以利用这一知识来最大化自己的优势并减少自己的弱点。你可以确定哪些人最适合分配到特定任务,建立有效合作的团队,并深入了解争端。

从社会工程的角度来看,你可以根据目标的个性类型调整你的方法,以最大化影响他们决策的机会。这一切听起来很棒,但不幸的是,与许多涉及人类本性的领域一样,个性分类远非精确科学。你确实可以将个体归入个性类型群体,甚至可以相当准确地预测他们的行动,但这远非有着保证的结果。问题在于个性会随着时间的推移而改变,没有人真正知道个性受到遗传、成长环境、个人经历和文化等影响的方式。

基于个性类型来影响个人存在着重大挑战。个性会随着环境而变化,根据情况,个人可能具有跨越多个“独特”群体的个性,这取决于用于解释的模型。作者认为,通过个性类型来影响在“短期游戏”为基础的现实社会工程评估中并不完全实际。我们完全预料到许多专业社会工程师对这一声明做出强烈反应,声称他们一直取得了巨大成功。然而,作者坚信,除非你有足够的侦察时间和/或与目标的互动,以确信某种基于个性类型的方法会有效,否则它不应构成攻击的基础。

向客户报告特定安全卫士属于“分析型”人格群体,因此对“权威”有更显著的反应并不特别有价值。可能存在更紧迫的漏洞,涉及程序、政策和意识培训,需要首先识别并报告。然而,话虽如此,根据社会工程师可能如何“尝试”利用某些人格类型进行意识培训可能具有价值。关于某些人格类型的优势和劣势的培训研讨会对员工可能非常有益。这里的重点不是将人格类型问题作为优先事项甚至焦点,直到更具体的安全问题得到解决。

正如先前提到的,存在许多不同的人格类型模型,已经有很多关于如何影响每种特定类型的内容。然而,为了尽可能使本书的内容“实用”,我们只会讨论我们作为专业安全顾问在评估过程中经常使用的支持技术。作为一种支持技术,基于人格类型的影响可以增加某些社会工程场景成功的机会。一般来说,在每种情景中只需要一个概念验证,所以一次成功就足够了。然而,偶尔更大程度的成功可能会增加一个“最坏情况”元素,客户可能会发现这有用(例如为了释放安全预算)。

我们经常使用的人格类型模型是荣格的“内向”和“外向”理论。这个理论将每个人分为两个不同的类别,具有相反的行为。内向者认为他们的内在现实更真实,通常受主观事项的驱动。这一类别的个体被描述为内向的,这与安静、深思和保守是同义词的。外向者认为外部现实更真实;他们通常根据与他人的关系来定义自己的存在。外向者通常被描述为外向的,这通常意味着自信、健谈和外向。

我们在社会工程学中使用这个模型的原因主要有两个。首先,相对容易确定一个人属于哪个群体。内向者往往安静、害羞和内向思考,而外向者则完全相反,尽管这当然并非总是如此,但足够一致以具有实际应用。其次,影响每个群体是直截了当的,仅基于理论的绝对基础。例如,由于外向者将他们的存在定义为与他人的关系,那么逻辑上他们将更容易受到社会证据等技术的影响。由于内向者更加主观,将想法表达为对他们个人的影响会更有效。

此外,内向者往往与内向者交朋友,外向者与外向者交朋友。因此,在与明显是内向者的人建立良好关系时,用大个性冲进可能并不完全有效。良好的关系可以对目标做出的决定产生重大影响,因此模仿他们的群体可能非常有效。

关系往往由一个内向者和一个外向者组成。一些理论认为这是因为我们寻找一个能够补充我们个性的伴侣,例如相反性吸引。基于此,一个外向友好的女性可能更有效地影响一个内向的男性,反之亦然。

正如前面提到的,我们绝不会基于这些理论发动攻击。然而,我们会考虑这些理论对情景可能产生的影响,以及它们是否可能阻碍或促进攻击。

肢体语言

只有极少部分两人之间的交流是基于口头语言。更大比例的交流是基于语调、速度和语气。甚至更大比例的交流是基于肢体语言。为了证明这一点,想象一下你被召见到老板办公室接受批评。你的老板站在那里,双手叉腰高高地站在你面前,脸上带着一丝不屑的表情。他们的声音洪亮地描述着你在最近的项目中未能达到他们的期望。这种情况的一切都令人不快,交流非常明确;你犯了一个大错。现在,假设你的老板说着完全相同的话,用同样洪亮的声音,但这次是蜷缩在房间角落里,双手环抱着膝盖坐着。这将非常奇怪,你可能不知道该怎么处理。你很可能不会感到受到威胁,这些话也会失去所有意义。肢体语言比声音和语言更重要。同样地,如果你的老板用尖细的老鼠般声音描述你未能达到期望,那么这些话可能根本没有什么影响。

身体语言是社会互动中非常有影响力的一部分。例如,在军队中,人们已经赢得了“权力地位”,但身材矮小,他们可能会采取创造性的方法来克服这些障碍。比如,英国陆军最令人畏惧的军士长(RSM)身高只有 5 英尺 2 英寸,但他会把他的桌子放在一个高起的基座上,这样当下级被召见处理纪律问题时,他们总是处于较低、屈从的位置。

身体语言对他人的影响力很大,可以帮助支持社会工程攻击。有两种方式可以应用身体语言技巧。第一种方法是调整自己的身体语言以影响目标。一个例子是使用自信和主导性的身体语言来支持模仿首席执行官。另一种方式是“阅读”目标的身体语言,并相应调整你的方式。例如,如果目标的身体语言突然变得非常封闭,那么你可能需要考虑改变你的询问方式。

模仿另一个人的身体语言是提高融洽程度的常见技巧。但要小心,因为过于明显地模仿可能会打扰到对方,尤其是如果他们意识到你在做什么。

调整自己的身体语言作为一种支持技巧非常容易应用,可以产生很好的效果。你自己的身体语言有许多不同方面可能会影响到目标,这里我们将涵盖最常见的。

微笑

这似乎是一种明显的身体语言类型,毫无疑问,目标会对那些微笑的人做出更好的回应。尽管这通常是正确的,但重要的是要理解真正微笑和假笑之间的区别。真正的微笑可以从眼睛中看出来,因为脸颊、眼睛侧面和眉毛都会上扬。真正的微笑很难伪造,因为涉及的肌肉运动往往是下意识的。然而,欺骗目标相信微笑是真实的是可能的,而这可能非常有益。如果目标下意识地感受到一个表面上真诚的微笑,他们会更愿意合作。不要低估一个真诚微笑的力量。

姿势和存在感

如果你需要在模仿中表现得自信,那么你的姿势和存在感会产生巨大影响。如果你坐直了,而不是懒散地靠在椅子上,那么你会向周围的人展现出自信。同样,坐在那里,手臂伸展开来,占据你所在空间的姿势也展现出自信和力量。

眼神接触

眼神交流是沟通的一个重要领域,如果在模仿时不考虑到这一点,可能会暴露端倪。不交流眼神或不断地看向别处通常被认为是软弱或害羞的迹象。如果你在模仿中遇到困难或对情景的成功产生怀疑,你的眼神可能会暴露你。另一方面,长时间保持眼神接触可能被认为是侵略性或令人不安的。

手臂和腿

手臂和腿被解读为开放或关闭的想法在身体语言中很常见。有人声称,甚至某人的脚的位置也能透露出他们内心的感受。更实际的方法是考虑一个人关于手臂和腿的位置时要考虑多个因素。例如,如果某人双臂交叉,腿也交叉,而且他们侧身坐在你旁边,那么你可以确定他们并不是完全投入于你或你所说的内容。而如果他们向你倾斜,双臂张开,他们可能相当感兴趣。因此,如果目标关闭了,那么你的方法可能不起作用。

20 世纪 90 年代,保罗·埃克曼开创了一个被称为“微表情”的身体语言领域。微表情是一种极短暂(1/25 至 1/15 秒)的无意识面部表情,反映了人的情绪。当一个人试图隐藏特定情绪时,这种情况经常发生。利用这项研究意味着你可能了解一个人真正的感受,甚至可能检测出他们是否在撒谎。

摘要

本章涵盖了大量内容,向读者介绍了许多不同的社会工程技术。讨论的各种技术证明了利用人类天性中的漏洞的广泛影响力。读者已经了解到利用情绪状态、员工层级、信任关系以及各种心理技巧等技术。

这些是许多社会工程攻击所基于的主要技术,我们只是刚刚开始探索可能性的表面。然而,理解这些技术和概念并不足以执行有效的攻击,特别是在社会工程评估方面。这些技术的应用也只是整体社会工程评估过程的一部分。这些只是社会工程师工具包中的工具。社会工程的真正技巧在于知道何时使用哪种技术。

下一章将讨论短期和长期攻击策略之间的区别,何时应该使用每种策略以及它们各自的优势和劣势。


¹N.J. Evans, 2009, “信息技术社会工程:社会工程的学术定义和研究——分析人类防火墙”,爱荷华州立大学。

第四章:短期和长期攻击策略

加文·沃森,随机风暴有限公司高级安全工程师

攻击者在有充足时间和资源的情况下使用的技术和方法与有严格时间框架的渗透测试人员使用的技术有显著差异。这两种类型的技术识别客户安全控制中非常不同的漏洞。挑战在于如何在严格的时间框架内为客户提供价值,当只能使用短期技术时,如何帮助客户抵御无法真实模拟的长期技术。本章不仅详细讨论了这些问题,还提供了克服这些问题的实用建议。

关键词

短期攻击策略;长期攻击策略;虚假社交媒体资料;信息引诱;扩展的钓鱼攻击;针对合作伙伴公司;长期监视

本章内容

• 短期攻击策略

• 瞄准正确的领域

• 有效利用分配的时间

• 常见的短期攻击场景

• 长期攻击策略

• 扩展初始侦察

• 虚假社交媒体资料

• 信息引诱

• 扩展的钓鱼攻击

• 获取内部帮助

• 在目标公司工作

• 针对合作伙伴公司

• 长期监视

介绍

在第三章中,读者被带领了解了一些最常见的社会工程技术。

选择使用哪种技术和一般策略往往取决于攻击所需的时间。一般来说,现实世界中的攻击是在一个较长的时间段内进行的。攻击者精心计划他们的方法,利用技术数周、数月甚至数年。而安全顾问进行的社会工程评估通常有非常严格的时间框架。这种有限的时间往往限制了方法的选择,可以采用的技术以及可以执行的程度。

将讨论在只有有限时间和资源可用时应采用的最合适策略。此外,还涵盖了关于时间管理和确保价值的最有效方法,包括一些最常见的“短期”攻击场景。

本章将讨论“长期”攻击策略和技术。这些将包括虚假社交媒体资料、扩展的钓鱼攻击和长期监视等主题。

短期攻击策略

“短期策略”围绕着严格的测试参数展开,通常由预算限制(如果代表客户进行评估)或出于其他一般性实用性原因(比如目标仅有有限的时间可用)来定义。这类策略通常与专业社会工程评估相关联,顾问们试图在短短几天内为客户提供尽可能多的价值。这是安全公司面临的最大挑战,为客户提供真正的价值。通过“价值”,我们指的是客户的主要交付物,即报告,可以用来实际改善安全并产生真正可衡量的差异。如果执行了技术基础设施评估,客户将期望按严重程度排序的识别出的漏洞的彻底报告,社会工程评估也不应有任何不同。

如果顾问们采取了真实世界攻击者的方法,但只限于几天的时间,那么报告可能只包含来自公共资源的收集证据。原因是真实世界的攻击者会花费多个月的时间来研究目标。这本身对客户来说可能非常有趣,因为他们可能不知道关于他们公司和员工的潜在敏感信息。然而,这可能并不能解决公司面临的最大风险。因此,有机会为客户提供更大的价值,通过解决真实的风险并充分利用可用的时间。

瞄准正确的领域

有限时间框架的不幸副作用是对经验不足的安全顾问来说,“打砸抢”现象比较严重。他们会忽视威胁建模,结果就是不会规划任何与公司实际风险有关的事情(第六章 对威胁建模过程进行了更详细的介绍)。在有限的时间内,他们会尽可能地规避被发现的可能性,通过任何方式侵犯安全(通常是在进入和离开时搭车),然后认为目标已经达成。由此产生的报告只是一个“快照”,预测了如果他们是真正的攻击者,他们“可能会做些什么”。这导致客户根据猜测实施对策。类似地,一些安全公司只会针对一个员工获取敏感信息。然后报告详细说明了特定个人如何易受一些毫无实质基础的伪科学心理漏洞的影响。偶尔这种方法可能是有益的,而且可能是客户实际请求的内容,但它只突出了一小部分漏洞,甚至只是“可能”的失败点。不幸的现实是很多测试公司都是这样工作的。在看似无限的“入侵”范围内,每次测试都会揭示一两个新的漏洞。这种动态测试可能会永远持续下去,永远无法突出客户真正需要了解的问题。这就像渗透测试人员每次进行测试时只能识别一个服务器上的单个漏洞一样。这显然是一种低效的方法,最终将无法突出企业真正的漏洞。

测试公司采用这种方式的一个原因是太多的客户不了解评估应该如何进行。这主要是因为社会工程评估仍然“相对”未知。客户对基础设施测试或 Web 应用程序测试等标准测试有一定的期望,但仍然倾向于让测试公司指导他们完成社会工程测试。结果可能进行了低水平的测试,而客户却对此一无所知。如果顾问们轻易突破了公司的安全防线,那么客户往往会认为顾问们做得不错。此外,向高层管理人员呈现这样的发现时的“恐吓因素”往往会分散注意力,使人们忽略测试是否实际上揭示了任何有价值的东西或任何可以修复的东西。

假设一家企业决定雇佣安全顾问来测试他们对社会工程的易受攻击性。顾问们巧舌如簧地通过了前台,连接到了公司网络并提升了他们的权限。他们设法离开大楼,携带着一份客户数据库在他们的笔记本电脑上。管理团队的反应是震惊和恐惧。管理团队会发表诸如“如果一个真正的攻击者这样做会怎样?我们的声誉损失可能会摧毁业务,更不用说敏感信息的丢失!”之类的评论。企业随后采纳了测试公司的所有建议,从实施员工意识培训到改进物理和技术安全控制措施。第二天,社会工程师以同样的方式来到了大楼后面的仓库,装扮成送货司机,并携带所有有效的凭证。他们与仓库员工聊天,将他们的卡车装满货物,毫无事故地驾驶离开。最初的社会工程测试突出显示了可能损害业务的一系列事件,但并非非常可能发生的事件。社会工程师闯入大楼窃取客户数据库的机会相对较低。而对于这家特定公司来说,偷窃的风险相对较高,考虑到他们存储的货物价值。如果测试公司和企业进行了威胁建模,那么仓库盗窃的可能威胁就会被突出显示。社会工程不仅仅是关于闯入建筑物和网络,而是关于一般安全的突破。这并不是说最初的社会工程测试完全是浪费时间,而是说努力可以优先考虑其他地方。测试应该旨在识别仓库程序和意识培训中的漏洞。一旦评估了最重要的风险,那么就可以检查较低的风险了。

充分利用分配的时间

当给予一个小的测试机会时,务必以最高效的方式利用可用的时间。用亚伯拉罕·林肯的一句话来概括这一点是非常合适的:

如果我有八个小时砍倒一棵树,我会花六个小时磨我的斧头。

与社会工程相关时,这意味着将绝大部分时间用于进行侦察,只有一小部分时间用于执行实际攻击。对于现实世界的犯罪攻击来说,这非常重要。如果你攻击一家企业,你可能只有一次机会,因为重复的攻击会增加被捕的可能性。

关于专业社会工程评估的时间分配有点复杂。如果客户要求您识别单个特定的漏洞,则上述内容适用。然而,评估通常专注于多个领域,使用不同的情景来识别不同的漏洞,并且可能需要在同一时间窗口内重复执行。

初始客户联系、范围会议、威胁建模和关于规则的讨论都在测试窗口之外进行。然而,这些是奠定评估基础的关键阶段。测试期应包括四个基本阶段,即:

  1. 侦察
  2. 情景创建
  3. 情景执行
  4. 报告撰写

基本攻击,例如通过电话获取特定信息的攻击,也可能遵循这种结构。然而,更复杂的参与,例如入侵建筑安全,不一定按照这个顺序执行。侦察可能导致初始攻击,然后将信息反馈到侦察中,以帮助设计新的攻击。为了有效分配时间,您需要充分了解您计划执行的参与过程。此外,如果您被要求评估多个攻击向量的安全性,则了解它们如何相互关联也很重要。

一种方法是将攻击向量串联在一起。例如,初始侦察可能提供所需信息,以启用基本的钓鱼和电话攻击。这些攻击的结果可能有助于定向攻击,如针对性的钓鱼邮件。从定向攻击中获得的敏感信息然后可以用来设计对建筑物的物理攻击场景。通过将每个攻击向量的结果输入到下一个中,您可以有效利用您拥有的时间,同时覆盖多个领域。这种方法的每个阶段在时间上可以表示一天。因此,完整的评估可能仅需 5 天,最后一天用于撰写报告。然而,尽管这是一种有效的工作方式,但它只识别出由于这种顺序攻击策略而产生的漏洞。例如,它并不能真实地模拟针对单个攻击向量的攻击者策略。如果攻击者没有意图侵入建筑物的安全,而只是想通过电话获取敏感信息,那么他们可能会使用非常不同的技术来实现不同的目标。如果要评估单个向量,则应将其单独处理,为其分配单独的侦察和情景执行时间。因此,评估所有三个主要向量可能会导致一个为期 9 天的评估,包括报告撰写时间。

如果客户没有预算限制,并要求跨越数周或数月的评估,则可能可以采取两种方法。可以评估单个攻击向量,多个目标旨在评估该向量的孤立性以及作为串联攻击策略的一部分。

你分配时间的方式最终取决于客户的需求。他们想要模拟真实世界的攻击,还是想要专注于安全的个别领域?这些问题需要在评估开始之前提出并回答。

常见的短期游戏场景

有一些“短期游戏”场景经常用于测试常见的安全问题。这些场景只需要适量的计划,如果成功执行,可以识别多个漏洞,确保在有限的时间内为客户提供最大价值。

这些场景应被视为常见社会工程漏洞的“通用”方法,然后可以根据客户的需求进行定制。然而,最佳方法始终是根据威胁建模阶段的结果从头设计您的场景。

我们经常在与客户进行初步范围确定会话时使用这些作为示例。它们可以帮助解释评估的整体方法以及如何通过一个场景来针对特定的安全领域。

密码重置程序

联系目标企业的帮助台(或 IT 部门),冒充员工请求重置密码。根据遵循的密码重置程序调整方法,以识别额外的漏洞。

可能的借口:

• 首席执行官因为密码不再有效而生气,需要尽快重置。

• 一个新员工无法登录服务,给了一个密码但不起作用。

• 一名员工解释说同事猜出了他们的密码,因为太明显了,能否将其重置为更复杂的密码?

访客/承包商预订程序

联系目标企业的主要接待处,并安排承包商访问该地点。

可能的借口:

• “一个 IT 工程师将到访该地点安装设备,请确保他签到并有通行证进出大楼?

• “另一个地点的同事马上就要到了,我没法见他们,你能把他们送到一个空闲的会议室吗?

• “一个潜在的员工要来参加面试,请你指引他们去 IT 部门吗?

电话调查政策(信息披露政策)

联系目标企业的员工,声称正在进行调查。在调查中加入问题,揭示关于企业的关键信息。

可能的借口:

• 一名大学生正在进行电话调查,作为对工作满意度的研究项目的一部分。

• 一个商会关于工作场所社交媒体的调查。

• 一家主要的公用事业公司正在对该地区的服务性能进行调查。

钓鱼邮件意识和培训

设计成一封广泛的钓鱼电子邮件,旨在诱使用户浏览至恶意网站。

可能的假设:

• IT 部门收到了有关电子邮件帐户被锁定的报告,请所有用户确保仍然可以使用以下链接访问服务。

• 公司网站已经进行了重大更改,请所有用户确保可以使用以下链接正确查看。

• 该企业最近在一篇新闻文章中被提及。通过以下链接查看。

• 新的企业内部网服务正在大规模推出,为了确保您继续获得全面的服务,请点击以下链接注册您的详细信息。

尾随/背靠意识和培训

尝试通过跟随合法员工来进入建筑物或受限区域。请记住,这种方法应该是最后尝试的,并且永远不应该是整个攻击的基础。

可能的情景:

• 在吸烟区与员工聊天,然后跟随他们进入工作场所。

• 模拟在电话中争吵,以阻止人们质疑您。携带一个大件物品,鼓励员工为您开门。

为了确保您在严格的时间框架内收集到最有价值的信息,请确保您能回答以下基本问题。

流程

• 员工是否遵循某些程序?

• 流程是否可以被规避?如果可以,怎么办?

• 不同的服务台助手是否遵循不同的流程?

• 如何改进流程以增加安全性?

政策

• 公司是否有与评估目标相关联的政策?

• 所有员工是否定期了解并被提醒有关政策?

• 不同员工是否以不同方式解释政策内容?

• 政策是否可以被规避?如果可以,怎么办?

• 如何改进政策以增加安全性?

员工意识和培训

• 企业是否有员工意识和培训计划?

• 评估目标是否包含在意识和培训计划中?

• 如何改进当前的计划?

一般信息

• 如果攻击者成功利用漏洞,最坏的情况是什么?

• 哪些支持社会工程技术显著影响成功率?

长期攻击策略

“长期游戏”策略和技术是指跨越几个星期、几个月甚至几年的。这些策略和技术对于专业安全评估来说并不完全实用,通常局限于现实世界攻击的范围内。

当你拥有几乎无限的时间和资源时,你可以采用“长期游戏”技术来实现困难目标,而风险最小。例如,打电话给目标试图获取他们的计算机登录密码会带来一些风险。相比之下,通过望远镜或双筒望远镜从对面的街道上观察受害者的电脑屏幕和键盘可以达到相同的目的,但总体风险要小得多。

“长期游戏”技术的另一种运用方式是将“短期游戏”技术分解为更小的部分或阶段,以避免被发现。例如,设计用于获取敏感信息的钓鱼邮件如果接收者发现其真实用途可能会引起警报。而一系列看似无害的邮件在较长时间内发送,可以获取相同的信息而不引起太多怀疑。

分布在时间上的“长期游戏”攻击还有一个额外的优势特征,即创造熟悉感。例如,如果你有时间在一个区域被安保人员多次看到,那么过一段时间后,他们会认为你是合法的,不太可能质疑你。

有足够的时间来执行攻击会开启一整套新的技术和策略,并且实现目标往往是不可避免的。

深入研究初始侦察

良好侦察的重要性是本书中反复出现的主题。侦察越多,成功攻击的机会就越大。有些信息对大多数社会工程攻击至关重要,这些信息通常构成短期游戏技术的基础。这些信息包括潜在目标的姓名和联系方式。如果你有无限的时间来进行侦察,还有哪些信息会有用呢?对这个问题的简短回答是:任何被认为有用的信息。然而,某些类型的信息比其他信息更有用。如果你能够扩大你的研究,你应该能够收集到将大大支持你的攻击的信息。

初始侦察应该揭示大量潜在目标,包括他们的姓名、职位和联系信息。这通常是在短期攻击情景中收集的唯一信息。如果攻击者想向公司发送钓鱼邮件,他们可能只需要电子邮件地址。然而,每个员工都有一生中可用的信息,可以针对他们个人或他们所工作的公司使用。如果你可以获取这些信息,也许通过社交媒体或与他们建立关系,那么你可以利用这些信息对付他们。

如果你想对个人进行有针对性的攻击而不是群体,请考虑获取以下信息:

• 兴趣和爱好

• 以前的雇主

• 教育背景

• 最近的假期

• 亲密的朋友

• 家庭成员

• 他们所属的团体和俱乐部

• 他们经常购物的地方

• 他们住在哪里

• 他们的公用事业供应商是谁

• 他们在哪个银行开户

• 他们开什么车

以下章节将探讨获取此信息的方法。我们只对如何使用此信息感兴趣。

上述列表似乎都是非常无害的信息,然而它们都可以作为攻击的基础或者仅仅用于获得信誉。让我们仔细研究其中一些,以确定它们如何被利用。

知道目标去了某所学校可能就足以进行成功的鱼叉式网络钓鱼攻击。例如,电子邮件可能会写道:

嗨,

我们正在为 1978 年的高中同学组织一场 xyz 高中聚会,希望您能加入我们。

我们在 www.fakehighschoolreunionwebsite.com 上建立了一个账户,您可以进行 RSVP。此外,我们还上传了一些大家以前的照片。

如果有人发现它们令人尴尬,对此表示抱歉!

希望很快收到您的消息!

另一个电子邮件网络钓鱼攻击可能仅基于他们经常购物的地方。例如,您可以在电子邮件中附上一个恶意 PDF,并发送以下内容:

Xyz 商店现在所有产品最高可享受 50% 的折扣!打印附件中的优惠券,并携带到店铺使用。

假设您了解了目标最近去过的度假地以及他们的预订对象。考虑冒充旅行代理并通过电话联系目标,解释说:

我们刚刚推出了一个优惠,其中包括您最近接受的套餐。如果您愿意现在为明年的套餐付定金并预订,我们将给您 25% 的折扣。

如果受害者同意,攻击者会要求他们的卡详细信息,以通过电话进行存款。

我们已经讨论了扩展侦察以针对企业员工的可能性。那企业本身呢?通常的“短期游戏”信息收集包括企业地址、建筑布局、外部安全、内部安全、业务目的等。然而,类似于查看员工的个人生活,您可以继续研究企业的其他方面。例如,您可以扩展您的侦察,包括以下内容:

• 企业历史

• 过去的成功

• 过去的失败

• 企业未来

• 拟议的合并

• 一般策略

• 合作公司

• 招聘流程

• 企业文化

您收集的信息越多,您的攻击成功的可能性就越大。

虚假社交媒体个人资料

前一节讨论了收集关于目标个人生活的信息,以便攻击他们所在的企业。这种信息的大部分可以从社交媒体网站中收集到,因为它们本质上是我们生活的数据库。如今从社交媒体网站中提取这种潜在敏感信息通常更加困难,主要是由于安全控制日益增加。为了访问您想要的信息,您首先必须与目标建立关联,无论是作为“朋友”还是与社交媒体网站相关的其他类型的象征性链接。通常,这需要在链接建立之前进行请求和确认阶段。不幸的是,目前没有太多安全措施来防止虚假社交媒体资料。因此,攻击者可以创建一个虚假资料来与受害者建立联系。一旦建立了联系,就可以从受害者的账户中获取有用信息。

社交媒体只能用作信息来源,应注意社会工程师不要陷入诱捕的境地。

之所以认为这是一种“长期游戏”策略,是因为开发一个虚假账户可能需要很长时间。为了让账户令人信服,它将需要详细的个人资料信息、帖子、照片和与其他账户的链接。在很长一段时间内生成基本内容之前,要创建一个令人信服的虚假账户是具有挑战性的。此外,目标可能并不定期检查他们的社交媒体账户或立即回复链接请求。

创建虚假社交媒体账户有许多不同的方法:

诱饵账户

这是专业安全顾问可能已经为评估准备好的最常见类型的账户。它们被设计为吸引大量目标人群。例如,个人资料图片可能是一个年轻漂亮的女孩,针对企业的男性目标,反之亦然。一个快速简单的最后一刻更改可能是所就读的中学,以匹配发送链接请求的受害者。由于这些类型的账户往往是预先制作的,因此这可能被视为一种“短期游戏”技术。然而,这些账户往往相当通用,因此很难使用这些账户来针对特定个人或组织。

定向账户

这些账户通常是根据收集到的侦察情报来定制的,以针对特定个人。例如,您可能在企业网站上读到了关于最近员工社交活动的信息。虚假账户可以被创建成与该企业员工相匹配的账户。发送给目标的链接请求可能会附带一条消息说:“嗨,在上周的慈善活动上和你交谈了…简直不敢相信我们筹集了这么多钱!

个人冒充账户

假账户不一定完全“虚假”,实际上很容易冒充真实个人,前提是他们还没有创建账户。如果你的侦察发现某位员工尚未创建账户,那么你可以为他们创建一个。企业的其他员工很可能会认出这个人,并接受任何链接请求。最终,真实个人会意识到这个假账户,但那时你已经从其他员工的账户中获取了所有潜在的敏感信息。在某种意义上,这是一种非常冒险的做法,但奖励有时可能是值得的。

组织冒充账户

创建一个假账户来冒充一个组织可能有一些优势。一般来说,组织的账户不会引起像一般用户账户那样多的怀疑。为你知道目标企业使用的第三方公司创建一个假账户可能很快就会导致与所有员工建立联系。

请记住,虽然假账户主要用于收集信息,但它们也有其他用途。与目标企业有良好联系的已建立账户也可以用于在其他攻击中获得信誉。例如,你可以提及关于你的账户或目标提交的帖子,以在与他们通话时获得信誉。此外,社交媒体网站是另一个可能的攻击向量。如果你注意到某位员工正在浏览社交媒体网站(也许是从聊天面板),那么你可能会发送一个恶意链接,这可能导致你访问他们正在使用的工作电脑。毕竟,企业进行包括涵盖这种媒介攻击内容的意识和培训有多大可能性呢?

信息引诱

信息引诱似乎是社会工程的核心,并被联邦调查局定义为:

利用对话策略从人们那里提取信息,而不让他们感觉自己正在被审问。

这听起来确实像是应该在评估中使用的技术。然而,这种技术通常在随意的对话中使用,并且通常受益于与目标建立的关系。因此,在持续时间仅为几天的短期评估中,这些技术并不完全实用。要真正利用信息引导的力量,您必须多次与目标接触,建立关系并引导对话朝着揭示您想要的信息的方向发展。当然,一个优秀的“引导者”可以从与完全陌生人的单次对话中获取信息,但这并不是一种在时间非常有限时使用的可靠技术。因此,由于本书侧重于社会工程评估技术,这种信息引导被限制在“长期游戏”类别中。

这些技术旨在获取那些虽然不是非常敏感但目标通常不会透露的信息。例如,在与员工的随意对话中,通过这些技术,你可能会得知电话系统出了故障。这并不是非常敏感的信息,但可以作为攻击场景的一部分获得可信度。此外,讨论企业设备的当前状态并不是你通常会与非员工进行的。在同一对话中,员工可能会提到同一电话系统的制造商。同样,这些信息对社会工程师可能有用,而员工通常不会向陌生人透露这些信息。他们透露这些信息的原因,而不知道他们已经造成了违规,是由于引导技术。我们现在将介绍一些常用的可以使用的技术。

比上一层

这利用了人们,尤其是男性,“超越”竞争对手的愿望。例如,你谈论一个虚构的产品,希望目标随后透露关于他们产品的信息以“超越”你“嗯,听起来不错,但我们的新产品将能够做到这一点…。”

批评和辩护

当你批评你的目标感兴趣的事物时,他们很可能会想要为其辩护。如果你能够让你的批评非常有针对性,那么你可能会从目标的辩护中获得敏感信息。例如,你可以评论说*“我真的怀疑他们会与公司 xyz 合并,他们没有基本的商业常识…”*,可能会得到“你错不了,他们确实有敏锐的商业常识,会议已经安排好了!

无知

这与社会工程学中的“装傻”非常相似,只是这里你扮演的是学生的角色。你假装对某个特定主题一无所知,希望目标会想要“教育”你。这可能会导致获取有用信息,也会使你看起来不那么具有威胁性。

  • 奉承

这是一个非常基本的技巧,让目标感到重要,提高他们的自信心,以至于他们想要吹嘘自己的成就。例如,“听起来你真的很懂行。我敢打赌你管理整个 IT 部门!你一定负责很多事情!

  • 开放性问题

这是销售员经常使用的技巧,也曾在第一章中提及过。基本前提是提出不能简单回答“是”或“否”的问题,这样目标就更有可能提供更多信息。例如,如果你想知道正在使用的网络浏览器版本,而不是问“你使用的是 Internet Explorer 8.0 吗?”,你可以问“你发现最新版本的 Internet Explorer 更稳定吗?”。第一个问题可以用简单的“是”或“否”回答,并且可能有点可疑。第二个问题需要一些思考才能回答,并且很可能会透露出你想要的信息。

  • 聚焦对话

这里的概念是围绕广泛的主题开始你的对话,然后逐渐聚焦到你感兴趣的领域。这里的想法是让目标感觉对话自然而不经意地引向感兴趣的点。如果目标感到不舒服,或者你未能获得想要的信息,那么在重新聚焦之前,再次扩大对话话题。

  • 间接引用

如果你想获取关于特定领域的信息,那么有时候间接谈论某些相关的事物是有益的。例如,谈论聘用清洁工作人员的挑战可能会透露出关于从平面图到内部安全系统的敏感信息。

正如之前提到的,信息获取在与目标建立的关系上大有裨益。以下技巧着重于建立良好关系所必需的融洽氛围。

  • 倾听

倾听目标不仅有助于建立良好的融洽氛围和加强关系,还能让你收集更多信息。很容易集中精力在自己的方法上,结果你说得越多,你试图实现的目标就越相反。

  • 共同语言

建立良好的共同基础是建立融洽关系的最快方式之一。假装对相同的爱好、活动、电影、音乐等感兴趣。然而,要小心,不要因为无法回答有关你声称感兴趣的主题的任何问题而引起怀疑。最好的方法是建立共同基础,然后引导对话离开这些主题。

交换条件

这种技术利用了回报的力量,这已经作为利用情绪状态的一部分进行讨论。然而,当用于信息引诱时,“提供”的通常是敏感信息,希望得到他们的敏感信息作为回报。例如“我们刚安装了这些新的 RFID 设备,它们给我们带来了无穷的麻烦…

延长的钓鱼攻击

第九章中广泛讨论了钓鱼电子邮件攻击的创建和执行。然而,值得一提的是,当执行为“长期游戏”策略时,该方法可能会有所不同。

在评估中,电子邮件攻击向量最初用于收集信息,例如业务电子邮件结构、自动回复和其他员工联系方式。随后,有针对性的钓鱼邮件被发送以窃取凭据或引导目标访问恶意网站。然而,这两种方法都是“短期游戏”技术,因为从最初的电子邮件到后门访问的整个过程实际上可以在几小时内完成。如果攻击者没有时间限制,该方法会有何不同?

上述钓鱼攻击方法并不一定需要与目标建立关系,即使针对特定个人。显然,如果钓鱼电子邮件伪装成来自目标同事的邮件,那么你正在利用他们之间的信任关系。然而,如果你能够建立自己的关系并最终更好地了解目标,那么你将有更大的成功机会。延长的钓鱼攻击将逐渐建立你和目标之间的对话,发展关系,并最终揭示出完美的操纵方式。

在常见的“短期攻击”攻击场景中提到,通过冒充大学生获取敏感信息。他们会通过电话联系目标,并询问有关业务及运作方式的问题。冒充学生的社会工程师会选择可能透露有用信息的问题。这种方法存在一定风险。你联系的员工可能拒绝提供信息,而且联系的员工越多,引起怀疑的可能性就越大。

为了降低风险并增加成功的机会,这种情景可以从“短期游戏”电话攻击转变为“长期游戏”延长的钓鱼攻击。

在典型的网络钓鱼攻击中,电子邮件会发送给从初始侦察中获得的多个目标。在扩展攻击中,方法应尽可能真实。因此,发送的初始电子邮件应该是发送给一个通用联系人,比如 info@或 inquiries@,或者目标网站上最突出的任何地址。记住,想法是尽可能有说服力地随着时间推移建立可信度。

你好,

我目前正在参与一个项目,作为我商业与管理学习的最后一年的一部分。我们的项目主要集中在像你们这样的私营企业上。

我知道你很忙,但如果你能指点一下我去找谁可能能给我一些信息,我会非常感激!

感谢你的时间,希望你能帮助

索菲

在上面的电子邮件中,你只是在询问一个联系人,这甚至可能是对一个部门的请求。通常,你会收到来自员工而不是来自通用电子邮件地址的对此类查询的回复。这种最初的联系应该为你提供你的第一个目标和他们电子邮件的结构。如果你幸运的话,回复将包含更多“可能能帮助你”的员工的进一步联系方式。或者你可能会被告知你的请求已被转发给其他员工,他们很快就会与你联系。希望你的电子邮件会在业务中开始流传,因为每个员工都试图通过将责任转移到他们的同事身上来避免这种责任。最终,当你与愿意提供信息的人建立对话时,之前的电子邮件链将产生可信度,认证效应的链条也会适用。

考虑提出相当无害的问题,这些问题在结合起来时揭示了有用的信息。试着确定有多少个部门,有多少名员工在那里工作,每个部门的负责人是谁,员工的层级结构,他们与哪些合作伙伴公司合作以及一般的政策和流程。所有这些听起来都像是他们永远不会透露的信息,但要记住信息获取的概念。你不会直接问“你有多少个部门?”。相反,你会说类似于“我们之前与之交谈的公司说他们已经很久了,但他们也说他们只有三个部门,我们觉得这有点奇怪?”。在这里,我们使用了社会证据(之前的公司透露了信息),并且我们利用了“无知”的力量,希望被攻击目标告知。回应有望是“真的吗?那太奇怪了,我不会说我们特别长久,但我们这里有八个部门,每个楼层都有一个!”。

一旦你从一个员工那里获得了信息,你就会继续通过这样一个请求来传播攻击:

嗨,马丁,

你帮了大忙!你的见解真的给我们的项目带来了真正的改变,我们一定会把你列入我们的致谢名单中!😃

有点儿无礼,但在人力资源中谁会像你这样乐意帮忙呢?

索菲

将会有员工与你保持联系。例如,最初的联系可能是通过电子邮件询问你是否收到了想要的信息,以及是否还有其他事情可以帮助到你。一旦你认为自己已经与某个特定的员工建立了牢固的关系,那么现在可能是时候设下陷阱了。考虑一下你与他们的对话,并利用关键信息来发挥你的优势。例如,假设你已经与一位员工讨论了大学项目的难度和范围,他们问你:“我们会看到结果吗?”。

如果你想让他们浏览一个恶意网站:

嗨,马丁,

当然!我们已经开始建立一个展示我们成果的网站,你的贡献已经在上面了。

目前还有点基础,但你会 get 到的.😃

www.afakemaliciouswebsite.com/project

索菲,x

或者如果你想让他们下载一个恶意附件:

嗨,马丁,

当然!我附上了我们到目前为止所做的草稿。

目前还有点基础,但你会 get 到的.😃

索菲,x

在经过几天或几周的来回发送电子邮件后,很不可能目标会怀疑任何恶意意图。最好的方法是等待目标做出几乎“要求”你发送链接或附件的回应。

上面只是一个例子,说明你如何进行扩展的鱼叉式网络钓鱼攻击,当然你可以用无数种不同的方式来实现这一点。重要的是要记住,随着时间的推移你会积累可信度,并等待目标暴露最容易操纵他们的方式。

获得内部帮助

前面的部分讨论了引导可能有助于攻击的信息。然而,对攻击者有用的信息并不总是那么明显。与其寻找部分敏感的员工或公司信息,不如寻找那些有可能直接帮助你的员工。

通常有人说绝大多数安全漏洞是由内部员工造成的。漏洞通常不是故意造成的,但有时候是。“不满员工”的概念对大多数企业来说是一个严重的问题,尤其是那些刚刚解雇了拥有高权限的员工的企业。即使企业已经遵循了严格和彻底的员工解雇程序(例如禁用员工的各种计算机账户并更改他们可能知道的任何密码),仍然有可能员工保留了一定程度的访问权限,比如他们没有清除的计算机网络后门。如果他们能够远程访问企业的计算机系统并删除当前和备份的数据库,那么企业可能会受到严重损害,甚至可能无法恢复。

不满员工不一定只是那些实际上被解雇的员工,当前员工也可能对企业怀有重大怨恨。他们可能不喜欢自己的工作,但由于各种原因不得不留下。这种类型的员工可能是最危险的,因为他们仍然拥有可能对企业造成伤害的权限。此外,企业并不一定意识到潜在风险,比如最近被解雇员工所构成的风险。

一个对企业怀有严重怨恨的员工,无论他们是否仍在那里工作,对攻击者都非常有用。一个“内部人员”不仅可以提供有用的信息,还可以代表攻击者从内部进行各种攻击。他们可以建立网络后门,提供合法通行证或直接向攻击者外泄企业数据。

攻击者所需要做的就是找到他们,而这可以通过信息引诱来实现。

第一个挑战是与员工见面,这可以在吸烟区、他们经常光顾的当地咖啡馆或酒吧,甚至是他们乘坐的公共交通工具上完成。

你可以与员工开始一个相当无害的对话,然后将话题聚焦到工作生活的一般情况上。你确切地知道他们在哪工作,但当然要表现得好像你不知道。你将对话进一步聚焦到他们在工作中受到的对待。只要他们实际上对当前的角色感到不满,他们有希望会试图通过说出自己受到更严重的对待来改善情况,或者通过同意他们也非常讨厌自己的工作来建立共同点。

一旦确定员工是潜在的同谋,下一个问题是如何利用他们。您是尝试让他们加入您的行列,从而冒着失去工作的风险吗?还是尝试从他们那里获取敏感信息,如远程访问密码?无论他们是否喜欢自己的工作,如果您透露您的立场,他们总是有可能立即发出警报。这就是为什么这是一种“长期游戏”技术,因为完全确定目标是否是一个真正无风险的“内部人员”可能需要很长时间。

在目标公司工作

这可能是最陈词滥调的社会工程技术之一,经常被宣称为企业无法抵御的终极攻击。如果您申请并成功获得目标公司的工作,那么您至少将获得进入建筑物的权限。一旦您进入建筑物,执行您的攻击就会变得更容易。例如,在清洁办公室时,您可以安装键盘记录器或安装投递箱,以在网络中创建后门。

我们正在利用哪些漏洞?严格来说,您正在测试企业的员工筛选流程的健壮性。他们是否检查基本细节,如个人姓名和地址?他们是否联系推荐人?如果他们联系推荐人,他们是否真正验证了他们?他们是否正确核实了就业历史?

攻击者申请的经典职位之一是清洁工作,可能有两个原因。首先,清洁工作实际上不应该需要任何特定的资格,其次,由于该职位所带来的低特权,企业很可能不会对申请者进行彻底的检查。然而,讽刺的是,清洁工通常比普通员工拥有更多的建筑物访问权限。一旦攻击者成功获得工作角色,那么他们可以利用的漏洞与任何一般员工可利用的漏洞没有什么不同。

这整个过程可能需要很长时间。从攻击者的角度来看,这可能是风险最低但回报最高的方式。从安全评估师的角度来看,这种方法是在测试员工筛选流程,这是一项可以在不进行冗长实际评估的情况下显著改进的工作。例如,安全顾问可以申请一个职位,使用虚假的证书和推荐信来测试筛选程序是否得到遵守。然而,这确实依赖于当前是否有职位空缺,而这并不总是情况。

针对合作伙伴公司

前几章已经讨论了敏感数据可能存储在不止一个地方。一旦你找到了数据存储的所有位置,你就选择攻击最薄弱的环节。然而,即使你的目标数据只存储在一个业务地点,建立与该业务的所有直接和间接联系也会带来巨大的好处。任何与你的目标公司打交道的公司都是整体安全链中的一个环节,即使他们不一定存储你想要的数据。利用第三方有两种方法;你可以冒充他们,也可以直接攻击他们以获得有用的信息。

第三方公司的承包商经常会联系并访问企业。这可能是为了对他们的硬件进行例行维护或响应报告的故障。员工们会习惯于看到这些承包商,不太可能完全质疑他们。此外,员工们也会习惯于看到不同的工程师,使冒充变得更容易。所有社会工程师需要做的就是令人信服地冒充第三方承包商(可能只是穿着印有他们徽标的 POLO 衫)并设计一个合理的借口。这种方法的简便性使其成为可能是针对企业最常见的物理攻击之一。基于承包商访问的场景是识别访客/承包商登录和验证程序中的弱点。遗憾的是,简单地到达现场并解释你被叫去看一台打印机有时就足以获得访问权限,尽管作者绝不会推荐这样做。请参阅第七章以了解建立有针对性的场景的细节。

第三方公司通常会回应企业的支持请求,甚至为了销售更多的服务和产品而联系企业。如果你成功冒充第三方公司,那么你可以获得非常有用的信息。例如,如果你的侦察已经揭示了目标公司使用特定的打印机制造商,你可以冒充销售代表询问他们的设备是否达到了他们的期望。从那一个电话中,你可能会了解到:

• 他们使用的打印机型号

• 他们是否遇到过任何问题

• 谁负责它们的维护

• 谁负责他们的采购

这些信息看起来可能完全无害,但正如前面的部分所示,将无害的数据转变为敏感数据是一个渐进的过程。如果你从电话中得知制造商会派工程师出去,那么你就有可能开始构想一个可能的场景。

除了冒充之外,还存在直接攻击第三方公司以在主要目标上立足的可能性。第三方可能不会存储你想要的数据,但他们可能对主要目标的网络可见。

长期监视

长期监视是一种古老的信息收集技术。各种间谍电影都看到了调查员在“盯梢”中从对面的窗户通过百叶窗或使用变焦镜头远距离拍摄照片。风险相对较低,只要你藏得好,手头有足够的时间,这些方法就可以收集大量信息。然而,这些方法与攻击企业有何关联?在作者能够提供有关这些方法的任何实际建议之前,我们首先需要消除一些常见的陈词滥调。

秘密监视和高倍镜头可能对于了解高安全军事基地的布局有利。然而,当攻击普通企业时,你只需带着狗经过前门就能看到所有的摄像头、安保人员、出入口。你甚至可以走进接待处询问方向,看看布局和所有可能的弱点。因此,长期监视对于攻击的初步侦察阶段并不那么有用。至于评估,建筑物的简单摄影和来自谷歌地图的信息可能就足够了。

在监视中经常使用的陈词滥调是使用双筒望远镜甚至望远镜通过窗户观察员工的键盘按键。这样做的想法是你将能够看到他们输入密码并利用这一点。这样做有多实际?通常,企业中的员工中只有少数几个人拥有“域管理员”用户的特权。这种特权是快速高效地破坏网络所必需的(假设这是一个微软 Windows 域)。因此,在找到有价值的密码之前,你可能需要查看很多办公室窗户。此外,你没有真正的方法完全确认那个密码是否是高特权用户。但是,如果企业有远程可访问的服务,比如企业电子邮件或 VPN 门户,那么甚至标准用户的凭据也可以访问(前提是它没有双因素身份验证)。如果你能够访问用户的电子邮件账户,那么你可以利用它发动进一步的网络钓鱼攻击。密码很可能会被重用,因此你很可能会访问到其他服务,比如用户的 eBay、Amazon 甚至 PayPal 账户。如果你能够进入建筑物,那么至少你应该能够使用标准用户的凭据登录到一个空闲的工作站上。从工作站发动攻击通常比插入你的笔记本电脑或“投递箱”进入网络更不容易引起怀疑,当然,除非你能够在不被发现的情况下做到这一点。

与观察员工输入密码类似,监视的另一个常见用途是观察员工在键盘上输入代码(如简易锁等)。在诸如银行等高安全环境中,这些锁通常是水平安装的,因此很难从远处看到键盘。然而,非常奇怪的是,在绝大多数情况下,它们是垂直安装在墙上供所有人看到的。在停车场坐在你的车里并用一副好的望远镜可能就足以看到输入的代码。有时,停车场的栏杆上也会使用键盘。如果你看到这些锁在使用中,那么向客户强调这个漏洞至关重要。然后他们可以权衡采取对策(替换为射频识别(RFID)或水平安装)的成本与攻击者使用代码获取访问权限的风险。如果一个与客户的 5 分钟对话就能确定风险并让他们做出一个明智的商业决策,那么就不要浪费时间去捕捉有人输入代码的情况。

另一个与键盘锁相关的漏洞是当密码不定期更改时会出现。最终,按钮会磨损,以至于攻击者可以看到按下了哪些数字。这将可能的组合数量减少到只有几个。

如果时间不是有限的资源,那么最好的方法是将长期监视与将无害信息转化为敏感信息的概念相结合。假设你租了一间在对面的房间,并且通过望远镜能清晰看到目标办公室空间。一般来说,你会看到员工在工作,敲击他们的桌子,到水冷却器那里聊天,把文件放在文件柜里等等。然而,如果你知道要寻找什么,那么你就可以收集到一些很棒的信息。

至少你应该寻找:

• 从工作站屏幕上显示的当前操作系统

• 他们使用的工作站制造商

• 他们使用的 VoIP 电话制造商

• 员工的身份证和绳子的颜色

• 每个楼层的部门是哪个

• 员工穿着如何,各个部门之间有区别吗?

• 白板上的信息,如网络图或甚至密码

• 他们在抽屉和柜子上使用什么样的锁?它们只是片式锁,还是更安全的东西?

• 内部安全措施是什么?员工在建筑物内使用射频识别(RFID)通行证吗?

• 一般来说,他们每天什么时间都到达和离开?

还有一些不太明显的事情你应该注意:

• 门会开多久?尾随会很容易吗?

• 办公室是开放式的吗?如果你走过去,你会显得突出吗?

• 是否有明显的清空桌面政策,或者员工在午餐时离开时会留下东西?

• 员工是一直在使用碎纸机还是把文件扔进垃圾桶?

记住,你看到的几乎任何东西都有可能被用来获取信任。假设你注意到员工每周五都会带饼干,并将它们摆放在桌子上。在打电话给目标并冒充员工时,可以通过愉快地说一些简单的话来获得信任,比如“那么,你今天吃了多少块饼干呢?”。有时,那些不那么明显且完全无害的信息,比如“周五饼干”,可能比密码更有价值。

摘要

如果你正在进行社会工程安全评估,那么你可能会被限制在“短期攻击”策略中。尽管这些可能并不完全现实,但仍然有可能为客户提供巨大的价值。为了实现这一点,你需要针对最相关的领域,并有效利用你所拥有的时间。最终,你的评估需要提供必要的信息,以对客户的整体安全状况产生最大影响。

如果你是一个没有时间限制的现实世界的攻击者,那么你可以采用的方法是极其有效的。你花费的时间越多,将攻击时间跨度延长到几周甚至几个月,成功的可能性就越大。如果作为客户,你想探索与“长期攻击”技术相关的风险,那么你基本上有两个选择。你可以投入大笔资金进行长期社会工程评估,或者你可以采取“风险管理”方法,将问题更多地视为一种纸上演习。然而,请记住,社会工程专业人员可以为可能的“长期攻击”提供深刻见解,以使纸上演习更准确和相关。

下一章将讨论与第三方公司合作进行社会工程评估所涉及的过程和挑战。

第五章:社会工程项目 Engagement

Richard Ackroyd, 高级安全工程师,RandomStorm Limited

在组织内部的安全问题远远超出了防火墙和反病毒的范畴,延伸至围绕着您的员工日常行为方式的弱点。本章将带您了解与第三方进行社会工程工作的过程及相关挑战。挑战在于如何在通常严格的时间表下管理交付这项工作,同时设定和实现现实目标。

关键词

合规与安全标准;支付卡行业;《计算机滥用法》;《警察和司法法》;《人权法》;免责条款

本章内容

• 进行社会工程测试的业务需求

• 合规与安全标准:

• 支付卡行业数据安全标准(PCI DSS)

• 国际标准化组织/国际电工委员会(ISO/IEC)信息安全文件集(27000 系列)

• 社会工程操作考虑因素和挑战

• 如何处理不切实际的时间框架

• 项目管理

• 客户的挑战

• 招募合适的人才

• 立法考虑因素

• 1990 年《计算机滥用法》(英国)

• 第 1 节—未经授权访问计算机资料

• 第 2 节—未经授权访问以进行或促进进一步的犯罪行为

• 第 3 节—未经授权的行为,意图损害计算机的运行,或者对损害计算机等行为采取鲁莽行为

• 2006 年《警察和司法法》(英国)

• 制造、提供或获取用于计算机滥用犯罪的物品

• 2000 年《调查权法》(英国)

• 1998 年《人权法》(英国)

• 美国《计算机欺诈和滥用法》

• 社会工程框架

• 交流前的互动

• 情报收集

• 威胁建模

• 利用

• 报告

• 评估前提条件

• 范围文件

• 联系方式

• 测试类型

• 范围限制

• 免责条款

• 主要交付内容

• 总结

• 总结要点

• 报告

• 书面报告要点

• 社会工程团队成员及技能

• 通才

• 伦理黑客

• 临时通信工具

• 社会工程师

• 斥候

• 小偷

介绍

到目前为止,本书的各章已经涵盖了社会工程师获取信息和操纵目标的各种技术。本书的目的并不是吓唬读者,使其永远不再接电话,但是如果您对自己的姿势、您的企业甚至是朋友和家人的姿势不太担心,那么他们可能应该担心一下。这顺利地引出了本章的主题,即如何确定您自己人员和流程中的这些同样的缺陷将会被涵盖。

幸运的是,解决这些风险并不需要特别紧张的练习。读者可以投资于社会工程专业服务来评估他们的业务并报告调查结果。许多客户发现这是一次开眼界的经历,在大多数情况下是一次真正有趣和令人兴奋的练习。

本章的目的是从客户和社会工程师的角度讨论社会工程服务。

作为客户,他们可能正在努力确定需要社会工程专业服务。这种工作的驱动因素包括符合性计划,如 PCI DSS(支付卡行业数据安全标准)或 ISO/IEC(国际标准化组织/国际电工委员会)27001,或者纯粹是出于加强一般安全性和保护敏感数据的角度。

一旦确定了社会工程的需求,就需要考虑如何委托工作,以及如何确定谁可以信任以专业的方式完成工作。本章将为读者提供一些一般性的指导和建议,可在选择适合进行这种敏感性工作的人员时应用。

一个组织已选择参与社会工程测试,并选择了他们的供应商,现在准备启动项目;接下来是什么?

第一步必须是规划阶段,从建立社会工程参与框架的需求开始。这确保了客户和社会工程师在整个项目过程中保持一致。其中的关键部分是识别任何保护双方的共同先决条件,例如免责卡和批准的联系人。

虽然范围文件可能看起来不是最令人兴奋的话题,但当涉及到社会工程时,它们针对一些真正重要的点。该文件不仅将涵盖评估的目标,还将涵盖测试过程中什么是可以接受的。组织是否允许撬锁?社会工程师是否可以尝试从现场恢复敏感数据,甚至拿走公司财产,如笔记本电脑?工程师是否被允许克隆门禁卡?

从测试将发生的基础知识到出现问题时应该联系的人员都应在范围文件中明确定义。

不放过任何细节,现在是提出问题的时候,而不是在参与过程中的一半时,当一个社会工程师悬在老板办公室窗户外的绳子上时!

社会工程渗透测试教程(一)(4)https://developer.aliyun.com/article/1508472

相关文章
|
2天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)
【6月更文挑战第18天】TestNG是一个Java测试框架,它允许在测试方法间定义执行顺序和依赖关系。当不指定依赖时,TestNG默认按方法名首字母排序执行。`@Test`注解的`dependsOnMethods`属性用于指定方法依赖,如`test1`依赖`test4`,则实际执行顺序为`test4`、`test2`、`test3`、`test1`。如果依赖的方法失败,后续依赖的方法将被跳过。此外,`dependsOnGroups`属性通过组名指定依赖,方便管理多个相关测试方法。通过`groups`定义方法所属组,然后在其他方法中用`dependsOnGroups`引用这些组。
19 5
|
1天前
|
XML Web App开发 测试技术
《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
【6月更文挑战第19天】本文介绍了使用TestNG框架配置XML文件来管理测试用例的分组和依赖关系。
12 2
|
6天前
|
Web App开发 XML 安全
《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)
【6月更文挑战第14天】本文介绍了如何使用TestNg进行自动化测试,特别是通过变量参数启动不同浏览器的步骤。
20 5
|
4天前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(七十五)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 中篇(详解教程)
【6月更文挑战第16天】本文介绍了TestNG中`@DataProvider`的两种使用方法。本文通过实例展示了TestNG如何利用`@DataProvider`结合方法名和`ITestContext`来灵活地为测试方法传递参数。
11 1
|
7天前
|
监控 Java 测试技术
《手把手教你》系列基础篇(七十二)-java+ selenium自动化测试-框架设计基础-TestNG简单介绍(详解教程)
【6月更文挑战第13天】本文介绍了TestNG单元测试框架,它是一个灵感来源于JUnit和NUnit的测试框架,支持多种级别的测试,如单元测试、集成测试等。TestNG的特点包括丰富的注解、数据驱动测试、变量支持、自动生成HTML测试报告等。与JUnit和NUnit相比,TestNG在某些功能上更为强大。文章还详细讲解了如何在Eclipse中安装TestNG插件,提供了在线安装、更新站点安装和离线安装三种方法,并展示了安装成功的验证步骤。最后,通过一个项目实战案例展示了如何使用TestNG编写和运行测试代码。
14 2
|
8天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
【6月更文挑战第12天】本文介绍了如何创建一个自定义类库来解决自动化测试中的元素同步问题。作者指出,大部分错误源于元素因时间不同步而引发,为此提供了一种解决方案。在项目实践中,首先在`library`包下创建名为`MyWait`的类,包含一个方法`isElementPresent`,该方法通过循环尝试并等待指定元素出现,避免了直接使用时间等待可能导致的不准确性。之后,在测试类中调用此自定义方法,成功实现了元素同步。代码示例展示了如何在Java+Selenium自动化测试中应用这个自定义类。
28 2
|
9天前
|
XML Web App开发 Java
《手把手教你》系列技巧篇(七十)-java+ selenium自动化测试-Java中如何读取properties配置文件内容(详解教程)
【6月更文挑战第11天】本文介绍了Java自动化测试中读取properties配置文件的方法。文章首先说明了为何要将配置参数放在properties文件中,然后简述了properties文件的作用和常用的读取方式,包括通过`java.util.Properties`类和`java.util.ResourceBundle`类。接着详细列举了`Properties`类的主要方法,如`getProperty()`、`load()`、`setProperty()`和`store()`等。
14 1
|
4天前
|
存储 测试技术 数据安全/隐私保护
《手把手教你》系列基础篇(七十六)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 下篇(详解教程)
【6月更文挑战第17天】本文是一篇关于使用Selenium和TestNG进行数据驱动测试的教程。作者宏哥通过实例展示了如何处理多个用户登录场景。
37 0
|
5天前
|
XML 存储 测试技术
《手把手教你》系列基础篇(七十四)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 上篇(详解教程)
【6月更文挑战第15天】本文介绍了TestNG的数据驱动测试(Data Driven Testing, DDT)概念和好处,并提供了两个实战示例。数据驱动测试允许使用不同的测试数据执行相同的测试用例,这些数据可以从外部文件或数据库获取。这种方法提高了测试效率,减少了冗余代码,并便于应对应用程序变更。
17 0
|
7天前
|
移动开发 测试技术 C语言
Python基础教程(第3版)中文版 第16章 测试基础(笔记)
Python基础教程(第3版)中文版 第16章 测试基础(笔记)