电话社交工程攻击的设计与执行指南

本文详细介绍了如何通过电话进行有效的社交工程攻击,包括前期准备、工具选择、侦察技巧、话术设计以及攻击执行的全过程,旨在帮助安全专业人员提升防御意识。

如何通过电话设计和执行有效的社交工程攻击

| John Malone

John Malone 是 Black Hills Information Security 的渗透测试员。他经常执行外部、内部和基于社交工程的评估。他最喜欢的工具是自信和魅力。

当大多数人想到黑客时,他们可能会想象一个穿着连帽衫的人坐在电脑前,沉浸在绿底黑字的终端光芒中。虽然(某种程度上)是真的,但许多人并不直接将基于电话的攻击与黑客的典型行为联系起来。但假设一个黑客拿起电话,打电话给受害者,并说服他们运行恶意二进制文件或点击链接。这叫什么?我来告诉你。这被称为社交工程,当由有能力的攻击者使用时,它是一种非常可靠的入侵系统的方式。

社交工程是操纵个人泄露机密信息、授予未经授权的访问权限或执行有利于攻击者的操作,而受害者没有意识到自己被欺骗。与专注于利用技术漏洞的传统黑客不同,社交工程针对的是人为因素。相信我:没有针对人类的通用补丁。

在这篇博客中,我们将探讨社交工程渗透测试的不同阶段。我们将研究如何设计和交付成功的社交工程攻击。这项工作将侧重于如何执行侦察、设计有效的骗局,然后将其交付给你的目标。无论你是渗透测试员还是想了解攻击者思维的人,掌握社交工程都可以为你提供宝贵的攻击和防御手段。

我还想分享一点……我说“自信是王道”可不是开玩笑的。只要有足够强的表达力、对某些情绪的吸引力以及对目标的扎实基础知识,你就能说服人们几乎任何事情。在整个社交工程过程中保持自信将有助于引导一次出色的测试。

事不宜迟,让我们深入我个人的社交工程剧本。

前期准备:奠定基础

在你甚至考虑拿起电话呼叫目标之前,你将与客户进行一次交战规则(Rules of Engagement, ROE)通话,以确保你被覆盖并获得足够的许可。成功的社交工程活动始于清晰的边界和可靠的情报。作为一名道德黑客,你需要在执行评估时彻底理解和尊重这些边界。然而,我也认为,当客户提出过于限制的范围时,值得挑战他们。

例如,如果我被告知只能呼叫服务台,我通常会转向讨论其他员工,以及如何考虑呼叫他们以使测试尽可能真实。

话虽如此,我下面简要描述了这部分交战通常如何展开。

业务捕获

你通过社交、冷呼叫甚至是通过收件箱中的热线索捕获了一个新客户。恭喜。这是讨论定价并安排签署相关交战文件的好时机。既然有人对你的服务感兴趣,你需要安排时间进行 ROE 通话。

交战规则(ROE)通话

通过与客户的通话开始。定义范围、目标和禁区。这不仅仅是一种形式——它是你的法律和道德护栏。

专业提示:考虑在通话期间做笔记,并在通话后分发,以避免后续出现“他说,她说”的情况。

以下是一个通话可能如何进行的大纲:

  • 交换信息

    • 联系信息
    • 电子邮件
    • 项目时间表
  • 开始提问。以下是一些示例:

    • 你能描述一下我将要呼叫的工作环境吗?
    • 测试是否有任何黑屏时间?
    • 谁在我们的呼叫范围内?为什么?
    • 是否有任何人明确不在范围内?为什么?
    • 我们的呼叫目标使用来电显示吗?
    • 你的员工之前接受过社交工程培训吗?
    • 有没有任何特定的骗局你想让我尝试使用?
    • 我会被提供员工目录吗?
  • 结束通话并向所有与会者发送会议记录。

通过遵循这些步骤,你可以帮助确保客户获得极佳的体验。

ROE 后续电子邮件

以书面形式总结通话并获得签字确认。这里的清晰度可以防止当有人不可避免地问“等等,你被允许这样做吗?”时出现头痛问题。

范围提醒(如有必要)

每个人都很忙。有些人比其他人更忙。话虽如此,如果你的客户对任何细节仍然模糊,可能需要轻轻推一下。提供优质服务,并提醒他们你可能需要的任何东西,比如员工目录。你对目标了解得越多(姓名、职位、号码),你的骗局就越有说服力。没有目录?没问题。我们会发挥创意,进行一些侦察。

工具准备:来电显示欺骗要点

欺骗你的来电显示通常是不可协商的。下面我列出了一些我倾向于在交战中使用的应用程序,使这个过程变得容易:

  • Spoof Card:简单、有效,如果你有一个旧账户,可以让你将号码伪装成你选择的号码。新账户现在需要从“允许”的号码池中选择。
  • 其他欺骗工具(Trace Bust/BluffMyCall/etc):互联网上存在其他电话欺骗解决方案,可用于选择 Spoof Card 无法选择的号码或拨打 Spoof Card 拒绝呼叫的号码。有时,如果一个服务遇到问题,你可能需要在交战中途切换服务。
  • Burner App:适用于 iOS 和 Android,此应用程序允许你注册一个或多个电话号码,并将它们用作一次性号码,或可以稍后取消且与你的常规电话线无关的临时电话号码。这对于可能需要某人回电的攻击非常有用。如果你使用上述其他欺骗服务之一,并希望你的目标回电,你也可以利用这一点。你可以简单地告诉他们你将外出,他们可以回电到你的手机——只需确保你给他们的是一次性号码,而不是你的真实号码 😊。

我强烈建议先用你决定使用的任何服务给自己打电话。这样你可以熟悉工具,并在测试中顺利操作。

侦察:了解猎物的艺术

与任何涉及侦察工作的测试一样,从这里开始,你将看到我提到两种类型的侦察——被动侦察和主动侦察。

  • 被动侦察指的是在不直接接触目标的情况下与目标互动。在这种情况下,你将呼叫员工。然而,我们还不希望我们的电话接触到任何人。
  • 主动侦察指的是以与目标互动的方式获取信息。在社交工程交战中,这通常采取通过互联网上发布的号码呼叫组织的形式。

你在两种类型的侦察中收集的信息可以提供帮助你制作可信骗局的信息。

让我们首先深入被动侦察。

被动侦察:隐形挖掘

我在测试中调用的第一个措施几乎总是 Google Dorking。对于那些可能不知道的人,Google Dorking 指的是在 Google 中输入独特的搜索参数以提供高度精细的结果的技术。这些结果可能是员工用户名和电子邮件地址或敏感文档。这完全取决于使用的搜索类型。下面,我列出了一些你可以使用的示例 Google Dorks,它们往往会带来一些非常有趣的结果。

通过注意我们发现的用户名的结构,我们可以安全地假设所有其他员工可能都有类似的用户名命名约定。

有了这个观察,你可以使用其他工具,如 Gather Contacts (https://github.com/clr2of8/GatherContacts) 来快速收集属于该组织的员工姓名。然后,这些姓名可以被变形以 resemble 典型的用户名格式,并 later 针对 Microsoft 365 或其他系统进行测试,看看它们是否可能有效。

相信我,如果你计划攻击外部资产、VPN 或像 Microsoft 365 这样的云环境,你会想要用户名。确保在测试期间尽职调查,彻底探索这一步。

  • intext:”@example.com” password(粗心泄露) 这个 Dork 可能会给你带来一些有趣的东西。它可以检索使用“password”一词的文件。这可以拉取来自 HR 的员工手册,这些手册往往是信息的宝库,并且可以单独用作骗局。这个 Dork 还可以拉取使用“password”一词的登录门户。这可以帮助你快速发现外部资产,在入侵用户后你可能能够访问这些资产。

  • intext:”@example.com” “employee handbook” 如前所述,但这个搜索更窄一些。你也可以只尝试“handbook”。

  • intext:”@example.com” IT 有时人们很乐意在面向公众的互联网上发布关于他们的服务台的信息。像“IT”、“service desk”、“helpdesk”或“help desk”这样的查询可以快速拉出有价值的数据。

  • Google 图片/地图搜索 在图片和地图上搜索公司的建筑或员工徽章。有时你会发现包含有价值信息的图片,比如办公空间的形状——这可以影响检测从被发现的社交工程努力中传播的速度。

    你可能还会观察到员工徽章和其他有价值的信息,这些信息可以用来增加你故事的真实性(例如:你打电话,作为骗局的一部分,说类似“抱歉我在中午打电话。想早点打,但停车场满了。”这创造了一个与接收者位于同一栋楼的呼叫者形象,可能有助于引发进一步的信任。)

  • 联系信息网站(ZoomInfo 和 hunter.io) 存在大量数据经纪人网站,可以提供员工的联系信息。在进行盲社交工程测试时,客户可能不会给你访问电话号码和网站的权限。

  • 社交媒体扫描 社交媒体很棒,有时人们就是喜欢过度分享。我包含了一些关于我在野外发现的趋势的笔记,这些趋势往往能增强骗局。

    • LinkedIn:用于查找员工。更有用的是查找新员工。可以呼叫新员工,并合理地喂给他们一个骗局,说在入职过程中遗漏了某些东西。这可能有助于新员工在你的骗局交付过程中信任你。
    • X(以前称为 Twitter):检查公司的账户、关注者和帖子。即将发生的事件(例如,慈善跑步)可以激发涉及社区活动的及时骗局。此外,如果你能够证明关注者可能也是客户,你可能能够安全地冒充已知的第三方。不过,一句建议,我通常不会陷入这样的兔子洞,因为时间通常不值得回报,除非你真的没有选择。
  • Microsoft 自助密码重置(SSPR) 访问 https://aka.ms/sspr 并插入目标的用户名。如果组织允许用户重置自己的密码,你将获得自己重置凭据的选项。这些选项通常可以泄露非常有趣的信息,只有内部人员或受信任方才能访问。下面显示了一些示例以及往往能有效获得信任的骗局:

    • 手机号码的最后两位数字,通常以 (##) 或 (******##) 的格式共享。你可以将这些信息融入骗局,如下(在下面的示例中,我们正在呼叫某人的办公室号码,他们在 Microsoft 的 SSPR 中列出了 25 作为最后两位数字):

      “嗨,我是 IT 安全团队的 Don。打电话讨论一个重要事项,因为看起来你的账户可能被外部方入侵。我将读给你三组数字以确认你的身份,其中正确的数字反映你手机的最后两位数字。请告诉我以下哪个数字来完成安全检查。这些数字是 15、25、87。” 目标确认 25 “太好了,现在读给我完整的号码,以便我确保我们有正确的匹配。” 目标读给测试者完整的电话号码,该号码被输入 SSPR 测试者重置密码

    • 用户需要插入其设备的可读认证号码。输入后,你将能够重置他们的密码。对于这个示例,我们假设 SSPR 在通话时向我们显示数字 56。

      “嗨,我是 IT 安全团队的 Don。打电话讨论一个重要事项,因为看起来你的账户可能被外部方入侵。因此,我将指导你完成快速密码和认证器重置,以便我们确保你被适当锁定。首先,我将给你一个安全号码,我们的安全团队已分配给你进行重置。请打开你的认证器应用并输入 56。” 员工输入 56。 测试者重置密码。

    • Microsoft SSPR 还可以显示属于目标用户的安全问题。在社交工程呼叫期间,这可以以下列方式利用:

      “嗨,我是 IT 安全团队的 Don。打电话讨论一个重要事项,因为看起来你的账户可能被外部方入侵。由于此次呼叫的敏感性以及我们将讨论的内容,我将读给你一些你在公司首次雇佣时设置的安全问题。你的第一个问题是,‘你母亲的娘家姓是什么?’” 员工回答,测试者继续阅读安全问题。 测试者重置密码。

重要的是要注意,上述骗局在冒充管理层成员或 IT 服务台员工时异常强大。当与来电显示欺骗结合时,很容易看出被动获取的信息如何进一步赋能社交工程努力。

主动侦察:预热线路

现在是打一些电话的时候了。这些电话旨在获取额外信息,也可以作为旨在入侵某人的电话的良好“热身”。

通常当我开始这些时,我会首先呼叫通过被动侦察找到的电话号码。然后我会尝试找到以下部门的电话号码:

  • 人力资源(HR):社交工程这些员工可以给你美味的秘密和直接员工电话号码——你甚至可以尝试入侵他们的联系信息,看看是否能给你任何东西(稍后详述)。
  • IT 服务台:根据你攻击的组织环境,你可能需要社交工程这些优秀的人以进入账户。注意他们的位置很好。此外,获取他们的电话号码使欺骗他们的直线更容易。

以下是一些可用于尝试获取此信息的主动侦察骗局示例。

  • HR 号码:“嗨,我是一个忘记了我 ID 号的员工。这是 HR 吗?”
  • 服务台号码:“我忘记了我的密码;这是呼叫寻求计算机帮助的正确地方吗?”
  • 随机号码:拨打分机并扮演困惑:“我需要帮助我的密码/更改我员工档案中的联系信息。”

员工可能会尝试帮助协助你并将你引导到正确的地方。你总是希望在他们转接你时询问直接号码。

这一步可以帮助你建立自己的号码列表,并找到一些可能不是公开知识的号码。

骗局设计: hustle 的核心

在收集信息后,你需要将其整合起来,开发一个满足以下标准的骗局(以我的拙见):

  • 对环境有意义。如果组织中没有人拥有助理财务总监的头衔,不要围绕冒充助理财务总监生成骗局。
  • 拥抱平凡。人们往往不会质疑日常发生的事情。每个人都会忘记密码。每个人都会换新手机。每个人都需要帮助。每个人都有需要快速完成的繁忙任务。
  • 传达以下情绪或感觉
    • 权威:冒充有影响力的人(IT、HR)或紧急情况(VIP 客户)。人们犹豫挑战权力。
    • 即时性:使其快速(“这将需要两分钟”)或关键(“你的账户被入侵了!”)。
    • 同情:拉动心弦——从 YouTube 播放哭泣的婴儿声音并叹息,“我在家忙得不可开交,请帮忙。”
    • 最佳利益:将其框架为对他们的胜利。示例:“我们需要更新你的工资信息,以便你按时获得报酬。所以,让我们从确认你的员工 ID 号开始。”

在你为自己收集了一些骗局之后,将它们提交给你的交战联系人,以便获得使用它们的许可。一个人人都在同一页面上的交战总是比后来处理混乱更好。

示例骗局

作为本节的一部分,我详细说明了一些我发现在企业环境中特别有效的骗局。与上面主动侦察部分简要显示的骗局不同,这些旨在攻击和入侵用户。

  • 入侵:经理联系劫持

    • 目标:HR
    • 示例脚本

      “嗨,我是[部门]的[经理姓名]。我换了一个新号码——你能更新我的联系信息吗?” HR 代表确认 测试者提供一次性电话号码并结束通话

    • 目标:将收到的手机呼叫重定向到你的一次性电话。这可以使测试者可能在渗透测试期间接收 meant for this party 的呼叫。回电那些人可能允许对员工进行进一步的社交工程攻击。
  • 入侵:员工签到

    • 目标:员工
    • 示例脚本

      “你好(员工姓名),我是 IT 安全团队的 Blake。我们在暗网上发现了你的密码。我们需要大约五分钟的时间来解决这个问题,因为密码似乎与公司资产有关。让我们验证你的安全问题——需要两分钟。” 员工确认 测试者从 Microsoft 365 检索安全问题并读给目标 密码重置 提供额外指导以绕过 MFA

    • 目标:收集重置答案,然后登录或重置 MFA。

一个精心构建的骗局可以帮助你快速收集所需,但你如何保持低调?

保持隐秘:躲避怀疑

如果你不小心,你可能在通话期间引起怀疑。如果发生这种情况,你增加了员工彼此交谈或尝试呼叫 IT 服务台报告呼叫的可能性。

下面我包含了一些我在测试中使用的技巧,以帮助将怀疑降到最低。

  • 如果你想收集信息但事情进展不顺利,提供稍后回电目标,同时在交付中保持自信。你希望你的目标将你视为互动的负责人。如果他们这样做,他们可能会等待你回电或等待电子邮件。你还可以通过从你目标组织的一般电话号码欺骗你的呼叫而不是使用直线来减少被回电的可能性。这可能有助于拖延目标,如果他们决定采取额外行动。

    示例:“我稍后给你回电怎么样?反正我 15 分钟后有个会议,我需要准备一下。”

  • 当联系 IT 服务台时,考虑使用听起来像真实员工姓名但不是的姓名。例如,如果你在呼叫某处并想查看重置服务台密码的标准是什么,你可以提供姓名 Jeff McDaniel 而不是 Jeff McDaniels。这样做的意图是给 IT 服务台一个理由不因你的呼叫而 opening up a service ticket,因为接收 ticket 的员工会 raise their suspicion。

    示例:“嗨,我是 Jeff McDaniel 呼叫——我忘记了我的密码,需要重置。我能给你什么来授权这个?”

    重要说明:注意在上面的示例中,我们通过提前提供简单信息并立即提出请求来控制对话。我们这样做是为了显得自信,并看看 IT 是否会 slip and share the information without looking up our name。如果我们能够从他们那里得到回应(他们告诉我们需要员工 ID 号),我们可以自然地结束通话,并说我们会稍后带着它回电。

    重要说明:如果 IT 代表尽职调查并在提供信息前检查你的确切姓名,他们可能会告诉你他们的系统中没有该姓名或类似内容。你可以一笑置之,说你一定打错了号码。

    示例:“哇——真的很抱歉,我以为我拨了我工作场所的号码。我桌上有一些号码,我之前与之交谈的人把我转到了这里。很抱歉浪费你的时间。”

  • 武器化你的自信。你在交付中越自信,越善于使用其他形式的语言控制,如语音变化、停顿和举止,你就能越容易说服你的受害者你是从技术无能用户到繁忙经理的任何人。这整个部分真的值得它自己的博客,并通过伟大的书籍如 Christopher Voss 和 Tahl Raz 的《Never Split the Difference》(https://www.blackswanltd.com/never-split-the-difference) 深入探索。武器化你的自信的一个好方法是经常与人交谈,无论你去哪里,一直如此。寻找机会 assert yourself 并开始与陌生人练习。相信我——它有效!

后期利用:兑现

所以你成功地说服了某人你是来自 IT 的 Chuck,不仅重置了他们的密码,还说服了他们需要在你“更新他们的计算机”时休息一下午餐。

你做到了!但现在你需要利用你的优势。在本节中,我们将介绍

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计