实践 (Practice)

如果无法将全世界的理论转化为实践,并将我们的知识应用于现实世界的实际操作情境中,那么所有这些理论对我们都毫无用处。频繁运用我们在渗透测试工程师学习路径中学到的战术、技术和程序(TTPs),是我们保持技能娴熟的最佳方法,并能确保当需要在客户环境中实际运用这些技能时,我们对自己及自身行为可能产生的影响充满信心。然而,技术技能只是成功的一半。我们还需要出色的书面和口头沟通能力,才能成为高效的渗透测试员。这包括看似微小的事情,例如能够撰写清晰专业的电子邮件,在客户会议期间展示并捍卫我们的工作,以及通过专业报告进行沟通。

在这个领域,您会经常发现自己需要团队合作。作为一个团队,我们可以互相帮助,共同成长和磨练技能。需要练习如何主持与客户的启动会议吗?可以让朋友或队友扮演虚构的客户。利用这段时间练习询问初步的范围界定问题,并定义您预期要交付的渗透测试内容。这些同样的方法也可以用于练习向客户进行交付后报告解读的简报。

渗透测试很有趣。我们可以在一段时间内攻击网络,就像真实的黑客一样。然而,有些人可能觉得枯燥但至关重要的一部分是:细致的文档记录和强大的报告技能。客户无法从一份模糊的两页报告中获得太多有用信息(就像仅有两小节的模块对您帮助不大一样)。如果我们受财富500强公司委托,并且能够在未触发警报的情况下控制其整个域,我们需要能够证明这一点。如果我们不能用清晰的证据支持我们的断言,我们将失去可信度,我们的工作也会受到质疑。

类似地,如果我们有超过50页的文档,我们就有更多的证据来支持我们的工作,并且更有可能给客户公司的决策者留下深刻印象。话虽如此,如果我们的演示文稿杂乱无章,报告难以理解,或者没有深入说明漏洞复现步骤,没有给出清晰的修复建议,或者执行摘要写得不好,那么我们的辛勤工作也不会得到良好的反响。文档和报告(包括如何撰写高质量报告)将在另一个模块中介绍。本模块也为练习这项关键的软技能提供了许多建议和资源。

注意: 在渗透测试团队中工作时,我们经常会互相练习客户启动会议和报告评审会议。我们练习评审结果,并就报告内容以及我们给客户的建议互相提问。当客户提出问题或质疑我们的建议时,我们已做好准备应对这种情况,并能够当场清晰地解释为何推荐特定的修复方案。这类练习无疑将使您看起来更加干练和专业。

面向客户的部分固然关键,但如果我们不练习实际操作技能,这些也意义不大。练习将帮助我们了解哪些方面得心应手,哪些领域需要改进。阅读不能替代动手实践(尽管书面理论对于深入理解我们所涉及的众多主题至关重要)。通过大量练习,一旦某些任务成为第二天性,我们将节省时间和精力,这些资源可以用于深入进行客户评估或我们自己的研究分析。

我们可能擅长Web利用,但在面对Active Directory环境时却困难重重。理想情况下,您应该在符合客户环境的实验环境中进行练习。(如果您经常对使用特定设备(如医疗领域)的组织进行渗透测试,理想情况下,您应该复制可能遇到的常见设备进行测试。)但这并不总是可行的。那么你能做什么呢?嗯,在Hack The Box中,我们有很多不同的方式供您磨练技能。从活跃机器到挑战题,再到专业实验室和战场,一切都可以用来获取处理各类漏洞的进一步实践经验。HTB Academy这里的模块是练习我们技能的绝佳资源。渗透测试工程师职业路径中的许多模块都配有实验,可以将其视为模拟渗透测试来操作。这种重复在前端可能很繁琐,但它将节省无数小时,我们可以利用这些时间持续改进。以下步骤可以指导我们实践所学知识:

实践步骤 (Practicing Steps)

思考您已掌握的技能以及其中最感兴趣的部分。据此,我们可以挑选一些额外的模块来增加知识,选择一些机器进行练习,并尝试专业实验室或终局游戏来真正考验自己。下面的数字是一个不错的起始示例:

  • 2x 模块 (Modules)
  • 3x 已退役机器 (Retired Machines)
  • 5x 活跃机器 (Active Machines)
  • 1x 专业实验室 / 终局游戏 (Pro Lab / Endgame)

模块 (Modules)

所选的模块应根据两种不同的难度进行分类:技术性和攻击性。我们利用这些模块来熟悉攻击方法及其可能性,并形成对这些攻击的准确理解和认识。然后我们利用提供的练习及其配备的机器,学习应用这些技术,同时为准确的文档记录创建高效的笔记和截图。以下是处理一个模块的良好蓝图:

步骤任务
1.阅读模块内容
2.练习配套习题
3.完成该模块学习
4.从头开始进行模块习题
5.再次解答习题时,做好笔记
6.基于笔记创建技术文档
7.基于笔记创建非技术文档

选择多个模块使我们能够处理未来可能面对的不同技术和问题。我们将发现需要考虑的各个方面,有时需要比以前更详细地记录/注释。这些笔记在我们职业生涯的发展中将非常宝贵。某些技术和攻击向量的组合在现实环境中可能很罕见,因此拥有与这些系统交互时的详细笔记,将帮助您在评估中遇到它们时更快取得进展。

完成模块后,我们应该创建简单的技术和非技术文档(例如,创建示例技术发现报告、复现步骤以及可纳入报告的执行摘要条目)。重点练习创建“可供客户使用”的文档。许多人低估了通过创建文档所印刻的知识和技能量。练习编写文档有助于巩固我们脑海中的某些主题,并使我们更容易向技术性和非技术性受众解释概念。

已退役机器 (Retired Machines)

当我们完成(至少)两个模块并对自己的笔记和文档感到满意后,我们可以选择三台不同的已退役机器。这些机器也应有难度差异,但我们推荐选择两台简单和一台中等难度的机器。在每个模块末尾,您会找到推荐的已退役机器供考虑,这些将帮助您练习模块中涉及的特定工具和主题。这些主机将共享与模块相关的一个或多个攻击向量。

对于已退役机器,我们有一个显著优势,即可以在网上找到许多不同作者(各有不同的方法)撰写的现成解读,我们可以用自己的笔记与之比较。如果我们选择在HTB主平台购买VIP会员,我们还可以访问官方的HTB解读,这些解读提供了另一种视角,并且通常包含一些防御方面的考虑。我们可以利用这些解读来比较我们是否记录了所有必要内容,没有遗漏任何东西。使用已退役机器进行练习的步骤顺序大致如下:

步骤任务
1.独立获取用户标志(user flag)
2.独立获取根/管理员标志(root flag)
3.编写您的技术文档
4.编写您的非技术文档
5.将您的笔记与官方解读(或社区解读,如无VIP订阅)进行比较
6.创建一份您遗漏的信息列表
7.观看Ippsec的解说视频,并与您的笔记进行比较
8.通过添加遗漏的部分来扩展您的笔记和文档

最后,我们应该再次创建技术和非技术文档。我们会发现这次的文档很可能比之前的更详尽,因为我们需要涵盖和记录更多主题。这种方法最显著的优势在于,我们经历了整个渗透测试过程,改进了捕获关键信息的方式,并拥有基于我们经验和笔记准备文档所需的一切。

活跃机器 (Active Machines)

在通过模块和已退役机器打下良好基础后,我们可以冒险尝试两台简单、两台中等和一台困难的活跃机器。我们也可以从Academy每个模块末尾的相应模块推荐中选取这些机器。

这种方法的优点在于,我们使用一个我们不熟悉且无法找到相关文档的单个主机(黑盒方法),来模拟尽可能真实的情境。只要机器仍处于活跃状态,就不会发布官方解读。这意味着我们无法通过任何官方来源检查我们是否掌握了全部信息或遗漏了某些内容。这使我们处于依靠自己和自身能力的境地。活跃机器的理想练习步骤应如下所示:

步骤任务
1.获取用户和根/管理员标志
2.编写您的技术文档
3.编写您的非技术文档
4.请技术性和非技术性人员校对您的文档

校对使我们初步了解读者对这两类文档的接受程度。这让我们了解文档的哪些方面需要为技术性和非技术性受众改进。正如我们已经可以想象到的,没有多少非技术人员有兴趣阅读这类文档。因此,我们需要将非技术文档设计得信息丰富、质量高、简洁但有意义,并且避免使用高度专业的技术术语。更多相关内容将在“文档与报告”模块中介绍。

专业实验室/终局游戏 (Pro Lab/Endgame)

一旦我们对单个主机的攻击和记录发现感到得心应手后,我们就可以挑战专业实验室和终局游戏。这些实验室是大型多主机环境,通常模拟不同规模的企业网络,类似于我们在为客户进行实际渗透测试时可能遇到的情况。这将给我们带来不同于以往熟悉的挑战。我们将不再专注于单个主机,而是必须考虑不同主机之间如何相互作用的。这些互动也将构成新的、有趣的攻击向量供我们练习。例如,在Active Directory环境中运行Responder这类工具来查看流量并捕获用户密码哈希或某种用户交互,在模拟网络中进行比攻击单台主机时更有可能发生。攻击具有多个互连主机和网络组件的 infrastructure 将在我们的文档中产生需要额外考虑的连接关系。我们需要练习编写整个攻击链,展示我们从初始入侵到网络沦陷的路径,而不仅仅是展示如何完成单台主机。这一点同样在“文档与报告”模块中有所涉及。从前述任务中获得的练习将使这项工作变得容易得多,因为一切皆互为基石。

总结 (Wrapping Up)

我们在本模块中涵盖了大量信息。如果您刚刚开始渗透测试工程师职业路径的学习,我们建议按照模块呈现的顺序继续进行。如果我们对所有这些内容是全新的,跳着学习可能会导致知识缺口,并使某些模块在没有先备知识的情况下难以完成。如果您已经完成了部分路径,那么值得回顾一下您已经完成的模块,并在本模块所介绍的渗透测试过程的背景下思考各个步骤。

无论您处于旅程的哪个阶段,持续练习和改进都至关重要。我们可以不断改进当前的方法论,以不同的方式学习事物,并掌握新概念。信息技术领域变化迅速。新的攻击方法不断被发现,我们需要紧跟最新最好的TTPs,以尽可能保持高效,并为我们的客户提供必要信息,帮助保护他们的环境免受不断演变的威胁态势的影响。永不停止学习与改进。每日挑战自我。适当休息。享受旅程,勿忘跳出思维定式!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇