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

本文详细介绍了如何通过电话进行有效的社交工程攻击,包括前期准备、工具选择、侦察技巧、话术设计及后期利用等关键技术环节,帮助渗透测试人员提升攻击成功率。

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

| 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,此应用程序允许你注册一个或多个电话号码,并将它们用作一次性号码,或可以稍后取消且不与你的常规电话线关联的临时电话号码。这对于可能需要某人回电的攻击非常有用。如果你使用上述其他欺骗服务之一,并希望你的目标回电,你也可以利用这一点。你可以通过简单地告诉他们你将外出办公,他们可以拨打你的手机回电——只需确保你给他们的是 burner 号码,而不是你的真实号码 😊。

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

侦察:了解猎物的艺术

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

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

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

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

被动侦察:隐形挖掘

我在测试中采用的第一个措施几乎总是 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”一词的文件。这可以拉取来自人力资源部的员工手册,这些手册往往是信息的宝库,并且可以单独用作骗局。这个 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 吗?”
  • 帮助台号码:“我忘记了我的密码;这是打电话寻求计算机帮助的正确地方吗?”
  • 随机号码:拨打分机号并扮演困惑:“我需要帮助处理我的密码/更改我员工档案中的联系信息。”

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

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

骗局设计:忽悠的核心

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

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

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

示例骗局

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

  • 入侵:经理联系劫持

    • 目标:HR
    • 示例脚本

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

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

    • 目标:员工
    • 示例脚本

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

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

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

保持隐秘:躲避怀疑

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

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

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

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

  • 当联系 IT 帮助台时,考虑使用听起来像真实员工姓名但不是的名字。例如,如果你在某个地方打电话,并想查看重置帮助台密码的标准是什么,你可以提供名字 Jeff McDaniel 而不是 Jeff McDaniels。这样做的意图是给 IT 帮助台一个理由不因你的呼叫而 opening up a service ticket,因为收到 ticket 的员工会提高他们的怀疑。

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

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

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

    示例:“哇——真的很抱歉,我以为我拨打了我的工作场所号码。我桌上有

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