社会工程渗透测试教程(四)(4)

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

社会工程渗透测试教程(四)(3)https://developer.aliyun.com/article/1508458

外部协助

当企业在社会工程方面忽视了其易受攻击性以及对意识和培训计划的认识时,他们很可能会设计出低于标准的材料。同样,这些企业可能缺乏足够的知识来自信地向员工介绍这个主题。当这对于一家企业来说确实如此时,可能需要外部帮助。

可以提供的第一个和最明显的帮助是进行社会工程评估。这将提供企业对社会工程攻击易受攻击性的当前快照,并帮助企业评估他们是否需要投资于特定的意识和培训计划。如果当前已经存在培训计划,那么评估可能会突出该计划的弱点。前几章已经详细讨论了执行评估的各种好处,然而,当涉及到意识和培训计划时,评估的好处取决于结果如何被使用。评估结果可以作为基础,创造出真正有影响力的材料。各个部门可以根据实际发生的事件(即顾问能够实现的内容)来规划和设计他们的意识和培训计划,而不仅仅是可能发生的事情。基于实际事件的材料将有效地引起员工的共鸣,最终实现更大的影响和持久性。

有可能一家企业非常清楚自己的弱点,并认为评估不会揭示他们不知道的任何事情。当真正成功的社会工程攻击已经被检测到而未被阻止时,通常会出现这种情况。此时最常见的反应是聘请顾问提供标准培训课程,以尝试减轻未来的风险。然而,这些培训课程通常相当通用,不一定适用于特定企业可能面临的各种风险。相反,企业可以聘请安全顾问提供以下服务:

• 为了深入了解社会工程学,以协助设计公司特定的意识和培训材料。

• 作为传递公司特定培训的工具,而不是提供模板化的培训课程。

第一项服务允许公司在保持对意识和培训材料设计的控制的同时,利用顾问的知识。第二项服务通过让专业社交工程师传达材料,增加了额外的影响力。这并不是说模板化服务没有好处,只是企业理想情况下应该为员工提供相关的业务特定材料。当然,请求这两项服务可以真正加速项目的进展和表现。

对于非常注重安全的企业,他们对意识和培训计划的主要关注可能与维护相关,已经完全建立了一个计划。他们可能已经聘请了专业社交工程师来识别他们的程序中的漏洞和员工培训中的差距。在这一点上,企业可能决定探索与长期攻击策略相关的风险。也许企业资产的重要性非常重要,以至于需要减轻不太可能的风险。可以聘请专业社交工程师来探索跨越几个月的社交工程技术。顾问可以被聘请来针对特定个人或设计涉及多种混合攻击向量的精心构思的情景。这类评估的结果将形成非常具体的培训基础,也许与单个个人相关联。这种服务类型必然会附带巨大的价格标签,但会发现短期评估永远无法发现的弱点。

维护

商业信息安全可以被视为一个不断变化的生命体。政策和程序会更新,新员工入职,现有成员改变角色或离职,技术不断进步,攻击每天都在演变。要保持竞争力和有效性,别无选择,只能接受这个不断变化的环境,并在可能的情况下尽量拥抱它。然而,意识和培训材料是根据某一时刻的快照计划、设计和开发的,而不是根据一个不断变化的系统。如果材料被设计成适用于企业,而不管其当前状态如何,那么它将不可避免地变得普遍化并失去影响力。因此,任何意识和培训计划必须定期测试,以确保它仍然有效,并在必要时进行更新。

企业应记录所有意识演示和培训会议的情况,以确定该计划是否真正得到正确实施。如果员工不在场或不参加培训会议,那么安全的弱点将会产生。然而,跟踪其进展与跟踪其有效性是完全不同的。通常,一个计划的有效性是通过调查、访谈、问卷调查和正式报告的结果来确定的。这些可能会提供一些关于意识和培训材料是否提高了整体安全性的见解。然而,要真正知道该计划的有效性如何,唯一的方法就是实际测试。

要小心,不要通过多项选择测试或类似的纸质活动来评估社会工程意识和培训计划的有效性。这种测试可能适用于一般的基础意识材料,但不太可能确定个人对社会工程攻击的洞察力水平。这只能通过内部评估、基于评估的研讨会活动,甚至是一对一的讨论来实现。

如第十六章中所讨论的,内部社会工程评估是实际测试该计划有效性的最佳方式。这种内部评估可以高度控制,并且非常具体于安全的各个方面,比如一个单一的程序,甚至可能是一个特定的员工,尽管在这种情况下显然会涉及道德考虑。社会工程意识计划的每个方面都应定期进行测试,无论是内部测试还是通过专业的第三方公司。通过这些测试的结果,当前的材料可以得到改进,新的材料可以被创建。意识和培训计划应该与企业一起不断增长和发展。

总结

一般的意识和培训计划存在其缺陷,特别是在社会工程方面。缺乏实际的动手培训使员工无法有效地检测攻击,更不用说防止它们了。虽然安全专家们就意识培训是否应该进行进行争论不休,但社会工程培训却被推到了更加边缘的位置。令人担忧的问题在于,意识和培训计划是公司防范社会工程类攻击的一个至关重要的部分。技术、严格的政策和程序能够实现的有限。如果企业要有效地防范社会工程,他们需要妥善培训那些被攻击的个人。然而,重要的是要确保该计划经过适当设计、测试和定期改进,以免存在可以被攻击者利用的弱点。

提出了一个创建意识和培训计划的一般模型,并将每个部分与社会工程的各个方面进行了讨论。 在规划和设计的初期阶段,管理层的“买入”以及保持计划与企业使命的一致性的重要性是关键的第一步。 然后,各个部门可以主导创建定制的培训材料,确保正确的资产被识别出来,并解决最重要的风险。

部门和个人级别培训的使用为员工提供了他们需要的知识和技能,以帮助防止攻击。 像研讨会和角色扮演活动这样的培训鼓励用户探索各种安全问题,深入了解攻击及如何最好地防御它们。

一旦意识和培训计划被设计出来,就应该系统地实施,并监测其进展和表现。 应定期进行测试以确保计划达到其目标。 任何失败都应该迅速识别出来,并用来进一步改进计划,必要时利用专业社会工程师的外部协助。

下一章将讨论企业自行进行内部社会工程测试的好处和挑战。

第十六章:内部社会工程评估

安德鲁·梅森,RandomStorm 有限公司技术总监

本章讨论内部社会工程评估作为一种防御策略的角色。内部社会工程评估是针对您自己的员工进行的一种测试,旨在突出安全弱点并在企业内部提高安全意识。本章探讨了为什么要进行这样的测试,并推荐了一些进行此类评估的框架。

关键词

内部测试;Hacktober;漏洞扫描;密码审计

本章内容

• 内部测试的必要性

• Facebook Hacktober

• 设计内部测试

• 测试基础设施

• 漏洞扫描

• 密码审计

• 测试人员和他们遊戏的流程

简介

第十五章讨论了围绕安全意识和培训计划的益处和挑战。

本章讨论内部社会工程评估作为一种防御策略的角色。内部社会工程评估是针对组织人员进行的一种测试,旨在突出安全弱点并在企业内部提高安全意识。本章探讨了为什么应该进行这样的测试,并推荐了一些进行此类评估的框架。

内部测试的必要性

突出的美国管理顾问彼得·德鲁克曾经说过,不能管理没有被衡量的事物。当考虑衡量组织内部政策和程序在信息安全方面的有效性时,这句话非常有道理。

第十四章和第十五章涵盖了硬化政策和程序以及员工意识培训的防御策略。以安全为重点创建硬化政策和程序有助于创建安全实践的基石,提供安全业务流程的框架。这些流程,无论多么强大和设计良好,只有实施它们的人才能做到。员工意识培训试图通过培训使员工了解风险并相应调整其行为。员工必须认识到需要安全工作实践的重要性,才能使任何员工意识培训计划被视为成功。

对于规模庞大的组织来说,这项工作可能是相当大的,并且需要组织内高级管理层在财务和时间方面进行大量投资,以便正确实施。

假设一个组织已经进行了调查现有政策和程序的工作,以期创建更安全的政策和程序,并且进行了全员意识培训计划,那么问题是如何衡量这些政策的实施以便进行管理?如果没有对这种干预进行充分的衡量,企业的利益相关者将无法真正知道变革的实施是否成功。

创建和执行内部社会工程评估是衡量组织内部政策和程序的有效性以及员工如何实施和遵循这些程序的一种方式。

一个经常被问到的问题是为什么需要进行内部测试,尤其是如果已经通过与外部专业测试公司进行基础设施渗透测试和社会工程评估。可以争论的一点是,如果外部公司定期进行测试,那么就不需要通过内部员工进行定期内部评估。然而,通常发现外部公司通常被合同要求每年进行测试,特别是在需要每年进行测试的合规要求下。外部评估可能非常昂贵,因为它们需要劳动密集型的高技能顾问,并且通常会审视整个基础设施,无论是出于需求还是合规要求。

内部评估将由内部资源执行,通常比外部公司能提供的更有针对性,这是由于时间和预算限制。进行漫长的内部评估并不罕见,这将会很昂贵,并且不是外部顾问可计费时间的最有效利用。内部评估的创建和执行扮演三个角色:

主要角色是衡量组织的安全姿态以及通过传统基于网络的手段或社会工程用户来获取未经授权访问企业资源的难易程度。

第二个角色是衡量最近提供的员工安全意识培训或其他旨在提高安全性的干预措施的有效性。

第三个角色是提高内部设计和执行评估的 IT 员工的技术技能。

公司的安全姿态只有在定期测试之后才能确保。经常听到 IT 管理员声称他们有反病毒软件,并且定期打补丁,所以他们的网络是安全的,这是在专业服务开始前客户常说的一句话,然而在评估中却发现网络存在许多安全漏洞,这些公司遮掩的安全流程和程序没有解决。这会让客户震惊地意识到,攻击一个单一入口有多容易,并且一旦在内部就可以完全控制基础架构。内部测试提供了定期测试的方式和方法,并且可以非常有针对性。试着选择一个领域,例如用户密码,然后设计并执行用户密码的评估,这在本章后面有所涉及。这种持续的测量为企业提供了关于真实安全姿态的反馈,并且可以用来调动预算资源,与外部公司签订合同,提供进一步的安全意识培训或更深入的安全测试,以彻底调查业务中的问题。

如果已经提供了安全意识培训或其他旨在提高业务安全姿态的干预措施,那么进行内部测试是评估进展的重要工具。显然,第一次执行任何内部评估时,将设定基线,然后未来的评估可以提供一种衡量安全姿态改善或退化的方式。这些评估必须经过精心设计,以考虑到新员工在角色内的情况或可能影响评估结果的新政策和程序。同样,这是一种希望证明改善业务安全姿态的投资产生了积极效果的好方法。

内部 IT 员工穿多顶帽子是相当普遍的,在当前的金融经济形势下,裁员似乎影响了各个 IT 部门的人员配备,导致员工在 IT 部门内承担多个角色。希望我们能够一致认为基础设施的安全是一个关键角色,而且不能简单地外包给外部咨询公司。鉴于此,重要的是要投资于内部 IT 团队的安全技能。并不是假设内部团队会获得专业知识或经验成为完全成熟的渗透测试人员,能够对第三方网络进行评估,但希望对团队进行的培训投资水平足够,使他们能够理解概念,并设计和实施有效的内部评估,以突出内部安全姿态的必要改进。除了为员工提供有价值的技能,可以为企业提供支持,这种最新的培训还有助于员工参与度,因为他们会感觉更加现代化,员工参与度与公司生产力之间存在许多积极联系。

当员工知道自己正在接受测试时,对员工的心理影响也是存在的。人们在知道可能被发现并在同事面前被作为榜样时,往往会展现出不同的行为。可以假设,意识到内部测试正在进行的员工更不太可能从事不安全的活动,通常会以更安全的方式工作。一个简单的行为,比如要求用户在离开工作区时锁定他们的工作站,可以通过抓住那些忘记锁定工作站的人来强制执行,从而产生一种安全恐慌感,员工会离开工作场所然后返回,因为他们意识到自己没有锁定工作站。

一个例子是许多零售环境中采用的个人包检查。在零售环境中,如果实施了随机抽查政策,每天都会检查某人的个人包,员工就不太可能盗窃商品。

一个进行内部测试的知名公司的例子是 Facebook 的 Hacktober 活动。

Facebook Hacktober

如前所述,一个非常著名的公司进行此类内部安全测试的公司是 Facebook。自 2011 年以来,Facebook 每年十月都会举办他们所谓的 Hacktober 活动。这是一个为期一个月的活动,其中包含一系列模拟安全威胁,攻击 Facebook 员工的计算机,以查看谁会上当,谁会报告问题。这个事件是一个特别的事件,补充了不断进行的内部安全测试计划,以提高 Facebook 员工的意识。

图 16.1 Facebook Hacktober。

针对 Facebook 员工尝试了各种攻击,旨在以社会工程为基础欺骗员工以使他们屈服于攻击。这些攻击非常狡猾,通常与员工的工作角色一致,以免引起太多怀疑。如果员工识别并报告了一次钓鱼诈骗或安全威胁,他们将获得奖品和同行的赞誉。如果他们屈服于攻击,他们将获得进一步的安全意识培训,并被教育发生了什么,他们错在哪里,以及如何识别和报告未来可能出现的问题。

Facebook 采取的方法有助于企业内部的文化。Facebook 安全团队的一名主管报告说:“网络研讨会在这里并不是很合适,所以我们想做一些符合我们黑客文化的独特的事情,教员工有关网络安全的知识,所以我们以十月、恐惧和恶作剧的主题创造了一些既有趣又有教育意义的东西。”

Facebook 发现这种方法对员工非常吸引人,并且同事之间的内置竞争真的让员工意识到发生了什么。这就像在客户知道顾问即将到来时进行社会工程评估,他们只是不知道他们是谁,他们什么时候来,或者他们要做什么。这让整个企业都处于高度警惕状态,这使得员工更加质疑活动。

除了提高员工的意识和提高防范社会工程攻击的机会外,这种类型的练习还为衡量任何改进政策或程序的成功提供了一个很好的基准,以及衡量最近实施的安全意识培训的有效性。由于这是每年都进行的,它提供了根据这个记录的基准来衡量希望的改进的能力。

本月底,与万圣节相符,Facebook 为员工举办了一次以 Hacktober 为主题的欢乐时光和南瓜雕刻活动。

设计内部测试

现在,我们已经讨论了内部测试的需求以及进行内部测试的原因和好处。议程上的下一件事是如何计划和设计内部测试?每家企业都不同,每家企业都将根据其执行的业务流程有自己的需求,因此每个设计都将不同,但以下是一些建议可以在内部测试中进行考虑的领域。

内部测试有两个方面。第一个是测试基础设施,第二个是测试人员和他们遵循的流程。基础设施测试更符合传统的渗透测试,而测试人员和流程更符合社会工程测试。提供了两者的摘要以及一些建议的行动方案。

测试基础设施

本书涵盖了社会工程学,但没有涵盖基础设施测试领域。当人们谈论渗透测试时,大多数人想到的就是这种类型的测试,它涵盖了对客户基础设施的测试。这种基础设施由具有可达 IP 地址的项目组成(或者在适当情况下使用其他网络层协议),通常由网络设备组成,例如路由器、交换机和防火墙,以及用户工作站和服务器。基础设施不限于这些设备,本书的作者曾对从网络连接的冰箱到基于网络的百叶窗门控制器等任何东西进行基础设施测试。

可对基础设施运行的两个测试可以为内部评估提供有效结果,这两个测试是漏洞扫描和密码审计。

漏洞扫描

漏洞扫描是大多数渗透测试的初始步骤之一,其中包括多个主机的范围,因为这是检查多个主机并提供初始漏洞列表的快速方法,这些漏洞可以由顾问进一步测试。为了执行漏洞扫描,需要一个漏洞扫描工具。幸运的是,针对大多数平台都有许多商业和开源扫描器可用,并且谷歌搜索将返回许多结果。在SecTools.org网站上有一个可用扫描器的列表,网址为sectools.org/tag/vuln-scanners/

可以使用的一个免费开源扫描器是 OpenVAS,可以从www.openvas.org获取。

漏洞扫描器提供了一个 IP 地址或可解析的主机名列表,并通过首先确定主机的可用性,然后通过各种端口扫描技术进行服务发现来执行扫描过程。一旦主机和服务确认,扫描器就会继续对主机进行分析,寻找软件漏洞和配置漏洞。大多数漏洞扫描器允许进行所谓的凭证扫描。这是一种漏洞扫描,其中扫描器可以获得管理员权限,以便它可以将驱动器映射到目标主机,并且还可以查询诸如主机注册表之类的项目,以提供更详细的评估水平。

软件漏洞是已知的安装在商业或开源软件中的 bug。一个软件漏洞的例子可能是微软在他们的安全公告 MS08-067 中宣布的 Conficker 漏洞的存在。这是一个众所周知的 Windows Server 漏洞(令人惊讶的是作者们仍然在商业网络中发现),微软在一个安全补丁中修复了它。漏洞扫描器知道如何从其插件数据库中识别这个漏洞,并将在扫描管理界面中报告它以及相应的风险细节。每年各个供应商都会发现成千上万个这样的漏洞,其中大多数都被 NIST 记录在他们的国家漏洞数据库中—nvd.nist.gov。所有这些都被分配了所谓的 CVE 参考。上面的软件漏洞示例被分配了 CVE 编号 CVE-2008-4250,并且可以在web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-4250找到。这个编号指的是它被发现的年份和从 0001 开始的时间顺序。因此,2014 年被分配 CVE 的第一个漏洞将是 CVE-2014-0001。

配置漏洞与软件配置方式有关,或者更恰当地说是配置错误。各种软件应用都需要配置。希望今天的软件供应商发布具有默认安全配置的软件,但是历史上许多供应商发布的软件并非如此,而是不安全的,依赖用户来保护它。这可以称为开放或封闭配置。最好从封闭配置开始,然后打开需要的部分。然而,最简单的解决方案是从开放配置开始,关闭不需要的部分,但是很多时候这些部分从未关闭,这就导致了配置漏洞,这将始终被严肃的渗透测试人员或更糟的是潜在的攻击者利用。配置漏洞的一个例子可能是网络设备,如路由器或交换机,使用了不安全的 Telnet 连接方法,而不是安全的 SSH 方法。如果不需要密码即可访问设备,则可能会进一步加重这种情况。这两者都是通过正确配置设备可以纠正的配置漏洞。

漏洞扫描可用于内部测试,以检查软件和配置漏洞。这对于确认服务器的补丁级别非常有用,在 Windows 环境中非常有用,以确保已应用所有关键的安全补丁。这种类型的扫描还可用于查找组织内部设备可能存在的任何配置错误。跟踪漏洞扫描结果,并确保任何主机都没有高级别漏洞,是提高安全性姿态并极大减少潜在攻击者访问任何企业资源能力的好方法。

密码审核

在现代数字生活中,无论在工作还是家庭中,都需要对多种服务进行身份验证。一个非常好的内部测试是对组织内核心服务的用户密码强度进行测试。本书的作者定期执行基础设施评估,其中网络和服务器没有可利用的漏洞,但是一个弱用户或管理员密码允许他们访问网络,然后他们可以提升其权限,最终接管基础设施。密码似乎仍然是大多数组织安全姿态的软肋,存在长期以来的问题,即要么密码太复杂以至于难以记忆,要么密码易于记忆但过于简单。

假设作为政策强化的一部分,已实施了安全密码政策,并已实施相关控制,以确保所有基础架构中的核心服务强制执行足够长度和复杂度的强密码,以及在需要更高级身份验证时进行双因素身份验证。这也必须对网络上所有主机的服务和管理帐户强制执行。作者曾见过组织为其用户执行非常复杂的密码策略,但在未链接到密码策略的服务帐户和网络设备上发现了非常弱的密码。这就像一些 IT 团队对用户有一个规则,对自己有另一个规则一样,当发现测试中利用的弱密码属于服务帐户或 IT 团队成员时,这是相当令人尴尬的。

有许多工具可用于检查用户密码是否与各种服务匹配。 Windows 登录密码是开始检查用户列表的好地方。密码审核工具使用所谓的单词列表。这些单词列表是用户密码的文本文件。有许多公开可用的单词列表,其中一些包含大量生成的密码。也可以使用诸如www.randomstorm.com/rsmangler-security-tool.php的工具创建自己的密码。RSMangler 接受一个与客户通用的小单词列表,然后将其转变为每个单词可能产生数千个变种,从而提供一个特定于组织的庞大单词列表。

一个推荐的密码工具是来自www.thc.org/thc-hydra/的 Hydra。 Hydra 作为命令行工具和 GUI 工具都可用,用于针对以下服务执行密码审核:

• Asterisk、AFP、Cisco AAA、Cisco auth、Cisco enable、CVS、Firebird、FTP、HTTP-FORM-GET、HTTP-FORM-POST、HTTP-GET、HTTP-HEAD、HTTP-PROXY、HTTPS-FORM-GET、HTTPS-FORM-POST、HTTPS-GET、HTTPS-HEAD、HTTP-Proxy、ICQ、IMAP、IRC、LDAP、MS-SQL、MYSQL、NCP、NNTP、Oracle Listener、Oracle SID、Oracle、PC-Anywhere、PCNFS、POP3、POSTGRES、RDP、Rexec、Rlogin、Rsh、SAP/R3、SIP、SMB、SMTP、SMTP Enum、SNMP v1+v2+v3、SOCKS5、SSH(v1 and v2)、SSHKEY、Subversion、Teamspeak(TS2)、Telnet、VMware-Auth、VNC 和 XMPP。

可以使用密码审核在内部测试中检查用户密码的强度,并确保服务帐户和网络设备也应用了强密码。执行内部密码审计可以概述任何可能在外部公司测试或以前由潜在攻击者突出显示之前被纠正的问题。

测试人员及其遵循的流程

测试人员和流程是本书的主要关注点。这是社会工程学参与,其中人员和流程被放在考验中,以尝试获取特权资源。执行内部社会工程风格的参与比测试基础设施更进一步,也需要更多的规划,因为这些是针对每个组织定制的场景。

这提供了利用本书各章节中解释的一些项目的机会,以设计、筹备和执行内部组织的社会工程评估。

第八章涵盖了侦察和建立评估基础。本章展示了如何查找和操纵可用的数据。这包括收集电子邮件地址、文档元数据、公司网站和社交媒体。接下来的两章将介绍威胁建模的行为,以创建有效的场景。提供了三种攻击向量作为示例,这构成了社会工程师工作的支柱。这些是:

  1. 电子邮件攻击向量
  2. 电话攻击向量
  3. 物理攻击向量。

第九章涵盖了电子邮件攻击向量,并涵盖了钓鱼和矛头钓鱼的非常有效方法。这提供了一个关于创建成功的钓鱼攻击所涉及的过程和工具的实例,以作为内部社会工程评估的一部分,旨在改进防御措施以抵御此类攻击。

第十章涵盖了电话攻击向量。电话是一种用于社会工程的很好的远程工具,可以用于收集有关目标公司的信息,或者欺骗用户执行导致内部安全完全被破坏的操作。由于电话的远程性质,以及许多服务允许匿名性,很明显这是远程工程师的一个不错选择,因为这是获取有关组织信息的一种相当安全的方法。

第十一章涵盖了物理攻击向量,这是可以在现场使用特定技能渗透组织的地方。如果顾问在整个组织中被认识,这可能会很困难,尽管如果有未知身份的远程办事处。这仍然可以是一个有效的攻击向量,本章解释了如何发展评估的物理方面。

利用这些章节中的信息将有助于开发一个内部评估,可用于确定内部组织的安全姿态。

摘要

本章已经解释了对组织进行内部评估的必要性。本章以解释在展示 Facebook 的例子之前对这种评估的需求开始,以及他们如何利用他们的 Hacktober 倡议来推动员工的安全意识。接下来看一下评估如何制定,并涵盖对组织内部基础设施的测试,以及对人员和流程的测试。漏洞扫描和密码审计被确定并概述为两种可以在查看人员和流程之前使用的方法,并涵盖了本书大部分内容涵盖的三种攻击向量:电子邮件攻击向量,电话攻击向量和物理攻击向量。

回到开头的一句话,管理不被衡量的事物是不可能的,而进行内部测试,正如前面提到的那样,是建立初始基准的一个很好的方法,然后再利用进一步的测试来展示希望员工的安全意识会有所改善。

下一章是本书的结束章节,将提供一个社会工程师的作弊表。本章将把整本书汇集成一个简单易用的作弊表和流程图,帮助安全工程师规划和执行社会工程评估。流程图将引用本书的章节,读者可以在其中获取进一步了解所需工具和技术的信息,目的是提供一个基于整本书中提出的方法论的易于使用的系统。

第十七章:社会工程评估备忘单

安德鲁·梅森,技术总监,RandomStorm 有限公司

本章将整本书汇总成一个简单易用的备忘单和流程图,帮助安全工程师规划和执行社会工程评估。流程图将引用书中的章节,读者可以进一步了解所需的工具和技术,目的是提供一个基于整本书中提出的方法论的易于使用的系统。

关键词

社会工程; 框架; 备忘单; 流程; 方法论

本章内容

• 社会工程框架

• 社会工程备忘单

介绍

第十六章讨论了社会工程评估如何在公司内部作为一种提高安全意识和建立更强策略的方法,希望能够防止真正的社会工程威胁暴露。

本章的目的是将书中所有要素汇总成一个简单易用的备忘单和流程图,帮助安全工程师规划和执行社会工程评估。流程图将引用书中的章节,读者可以进一步了解所需的工具和技术,目的是提供一个基于整本书中提出的方法论的易于使用的系统。

社会工程框架

第五章提出了一个社会工程框架,该框架在某种程度上基于渗透测试执行标准或 PTES—www.pentest-standard.org/index.php/Main_Page。该框架的理念是为规划和执行社会工程评估提供结构,以便组织在进行此类咨询时遵循可重复的标准。

提议框架的基于流程图的概述可在图 17.1 中看到,并在下面解释如下。

前期互动

本初步部分涵盖了参与之前发生的一切,并涵盖了诸如范围界定、目标、建立沟通渠道、参与规则和作为参与一部分所需的法律保护等主题。其中一些概念在第十三章中有涉及。

情报收集

本节是在参与过程中的第一节,涵盖了揭示可作为社会工程评估一部分的信息的初步工作。收集信息的示例可以包括从搜索引擎和社交网络收集公司电子邮件地址,从公开可用的公司文件中解析文档元数据,以及建立电话交换和接待处的电话号码等联系方式。本节在第八章中有详细介绍。

威胁建模

本节为社会工程评估创建了一个模型。该模型查看了初始信息收集的结果,并结合了客户的要求,使您可以基于所选的攻击向量创建一个有针对性的攻击方案。尽管威胁模型使用类似的攻击向量,但它们的设计和实施对于每个客户都是独特的。威胁建模在第六章和第七章中已有涉及。

执行

本节涵盖了社会工程评估的实际执行,这被视为参与的主要目标。在此阶段,将使用收集到的所有信息来应对已经建模的威胁,以执行基于威胁的评估。顾问的目标是获得对早期评估阶段识别出的系统的访问权限,或者打破程序。有关通过三种主要攻击向量执行此类评估的信息可以在第九章至第十一章中找到。有关如何通过技术支持这些攻击向量的更多信息可以在第十二章中找到。

执行后

本节涵盖了评估成功执行后才可能实现的次要目标。例如,主要目标可能是通过尾随来获取进入建筑物的物理访问权限,在执行期间已完成。执行后任务和次要目标可能是在不被发现或注意的情况下收集敏感信息并外泄。执行后的社会工程方面在第九章至第十二章中已有涉及。许多执行后任务是基于网络的,不在本书的范围内,因为它们被认为更符合基础设施渗透测试的范畴。

报告

评估完成后,将从评估结果和执行评估的结果中创建报告。这是交付给客户的,并且是一个非常重要的工作,必须符合驱动社会工程评估的业务目标。报告采用书面形式,包括收集的所有证据和使用的方法。通常,报告由执行实际评估的顾问整理和撰写。还建议让顾问提供口头报告或至少参加电话会议,回答客户可能对执行的评估有关的任何问题。有关收集信息和撰写实际报告的更多信息可以在第十三章中找到。

图 17.1 社会工程框架。

社会工程小抄

在图 17.2 中看到的框架流程图的基础上,可以添加更多组件到图表中,以创建一个更深入的备忘单,总结并链接到本书提供的关键概念。本书在流程图中提供了广泛的章节和页面参考,以便可以将流程图与书中与主题相关的部分进行交叉引用。

图 17.2 社会工程备忘单。

摘要

这一最终章节提供了社会工程框架的简要总结和相关流程图,该框架在第五章中提出。接下来,流程图被扩展以在每个部分下包含更多细节,试图将其更多地转化为本书涵盖的主要概念的图形表示。希望这份备忘单可以作为一个摘要指南,将模型中的步骤与书中的章节联系起来,以便日后快速参考。

架的基于流程图的概述可在图 17.1 中看到,并在下面解释如下。

前期互动

本初步部分涵盖了参与之前发生的一切,并涵盖了诸如范围界定、目标、建立沟通渠道、参与规则和作为参与一部分所需的法律保护等主题。其中一些概念在第十三章中有涉及。

情报收集

本节是在参与过程中的第一节,涵盖了揭示可作为社会工程评估一部分的信息的初步工作。收集信息的示例可以包括从搜索引擎和社交网络收集公司电子邮件地址,从公开可用的公司文件中解析文档元数据,以及建立电话交换和接待处的电话号码等联系方式。本节在第八章中有详细介绍。

威胁建模

本节为社会工程评估创建了一个模型。该模型查看了初始信息收集的结果,并结合了客户的要求,使您可以基于所选的攻击向量创建一个有针对性的攻击方案。尽管威胁模型使用类似的攻击向量,但它们的设计和实施对于每个客户都是独特的。威胁建模在第六章和第七章中已有涉及。

执行

本节涵盖了社会工程评估的实际执行,这被视为参与的主要目标。在此阶段,将使用收集到的所有信息来应对已经建模的威胁,以执行基于威胁的评估。顾问的目标是获得对早期评估阶段识别出的系统的访问权限,或者打破程序。有关通过三种主要攻击向量执行此类评估的信息可以在第九章至第十一章中找到。有关如何通过技术支持这些攻击向量的更多信息可以在第十二章中找到。

执行后

本节涵盖了评估成功执行后才可能实现的次要目标。例如,主要目标可能是通过尾随来获取进入建筑物的物理访问权限,在执行期间已完成。执行后任务和次要目标可能是在不被发现或注意的情况下收集敏感信息并外泄。执行后的社会工程方面在第九章至第十二章中已有涉及。许多执行后任务是基于网络的,不在本书的范围内,因为它们被认为更符合基础设施渗透测试的范畴。

报告

评估完成后,将从评估结果和执行评估的结果中创建报告。这是交付给客户的,并且是一个非常重要的工作,必须符合驱动社会工程评估的业务目标。报告采用书面形式,包括收集的所有证据和使用的方法。通常,报告由执行实际评估的顾问整理和撰写。还建议让顾问提供口头报告或至少参加电话会议,回答客户可能对执行的评估有关的任何问题。有关收集信息和撰写实际报告的更多信息可以在第十三章中找到。

[外链图片转存中…(img-aXK4TMtl-1713687113168)]

图 17.1 社会工程框架。

社会工程小抄

在图 17.2 中看到的框架流程图的基础上,可以添加更多组件到图表中,以创建一个更深入的备忘单,总结并链接到本书提供的关键概念。本书在流程图中提供了广泛的章节和页面参考,以便可以将流程图与书中与主题相关的部分进行交叉引用。

[外链图片转存中…(img-NYRn05Z0-1713687113168)]

图 17.2 社会工程备忘单。

摘要

这一最终章节提供了社会工程框架的简要总结和相关流程图,该框架在第五章中提出。接下来,流程图被扩展以在每个部分下包含更多细节,试图将其更多地转化为本书涵盖的主要概念的图形表示。希望这份备忘单可以作为一个摘要指南,将模型中的步骤与书中的章节联系起来,以便日后快速参考。

相关文章
|
28天前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
56 1
ROS2教程02 ROS2的安装、配置和测试
|
13天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
40 5
|
27天前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
24 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
28天前
|
Java 测试技术 Maven
Junit单元测试 @Test的使用教程
这篇文章是一个关于Junit单元测试中`@Test`注解使用的教程,包括在Maven项目中添加Junit依赖、编写带有@Test注解的测试方法,以及解决@Test注解不生效的常见问题。
|
2月前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
63 2
|
2月前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
66 3
|
2月前
|
存储 Web App开发 Java
《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
259 5
|
2月前
|
设计模式 测试技术 Python
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
50 6
|
2月前
|
设计模式 Java 测试技术
《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
【7月更文挑战第12天】在本文中,作者宏哥介绍了如何在不使用PageFactory的情况下,用Java和Selenium实现Page Object Model (POM)。文章通过一个百度首页登录的实战例子来说明。首先,创建了一个名为`BaiduHomePage1`的页面对象类,其中包含了页面元素的定位和相关操作方法。接着,创建了测试类`TestWithPOM1`,在测试类中初始化WebDriver,设置驱动路径,最大化窗口,并调用页面对象类的方法进行登录操作。这样,测试脚本保持简洁,遵循了POM模式的高可读性和可维护性原则。
31 2
|
2月前
|
设计模式 Java 测试技术
《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
【7月更文挑战第11天】页面对象模型(POM)通过Page Factory在Java Selenium测试中被应用,简化了代码维护。在POM中,每个网页对应一个Page Class,其中包含页面元素和相关操作。对比之下,非POM实现直接在测试脚本中处理元素定位和交互,代码可读性和可维护性较低。
28 0