【THM】Pentesting Fundamentals(渗透测试基础介绍)-学习

发布时间 2023-03-24 19:43:50作者: Hekeats

本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/pentestingfundamentals

本文相关内容:了解渗透测试背后的重要道德规范和方法论。

img

什么是渗透测试?

在学习道德黑客的技术实践方面之前,你需要更多地了解渗透测试人员的工作职责是什么以及执行渗透测试(查找客户端应用程序或系统中的漏洞)时要遵循的流程。

渗透测试是一种道德驱动的尝试,用于测试和分析安全防御以保护资产和信息,渗透测试涉及使用攻击者会使用的相同工具、技术和方法,并且类似于审计。

据网络安全行业杂志 Security Magazine 称,每天有超过 2,200 次网络攻击 - 每 39 秒 1 次攻击

渗透测试道德规范

网络安全中充满了合法性和道德之争,而渗透测试也总是富有争议,像“hacking”和“hacker”这样的标签通常带有负面含义,尤其是在流行文化中。合法访问计算机系统的想法是一个很难掌握的概念——毕竟,到底是什么让它合法呢?

渗透测试是经系统所有者同意的对计算机系统安全和防御的授权审计,从这个意义上说,渗透测试的合法性非常明确,任何超出协议范围的行为均将被视为未经授权。

在正式开始渗透测试之前,渗透测试人员和系统所有者之间会进行讨论,商定用于测试的各种工具、技术和系统,该讨论将形成渗透测试协议的范围,并将确定渗透测试的相关过程。

提供渗透测试服务的公司不能违反法律框架和缺少行业认证。 例如,英国国家网络安全中心 (NCSC) 在英国拥有 CHECK 认证计划,这项计划意味着只有“经过[检查]批准的公司才能对公共部门的系统、网络进行授权渗透测试。”

道德规范是关于对与错之间的道德辩论,即使一个行为是合法的,它也可能会违背个人的是非信念体系。

渗透测试人员在渗透测试期间经常会面临潜在的道德上有问题的决定,例如,他们正在获得对数据库的访问权限并能获得潜在的敏感数据,或者,他们可能正在对员工进行网络钓鱼攻击,以测试目标组织的安全性;如果在初始阶段 公司和安全人员就在渗透测试行为方面达成一致,那么以上渗透行为就是合法的——但是在道德层面以上渗透行为仍然存在问题。

黑客被分为三个种类,他们行为背后的道德和动机决定了他们属于哪一个类别,我们在下面将做一些简单介绍:

  • White Hat(白帽):这些黑客会被认为是“好人”,他们遵守法律并利用自己的技能造福他人。例如,渗透测试人员对目标公司进行授权渗透测试。

  • Grey Hat(灰帽):这些人经常会利用他们的技能造福他人,但是,他们并不始终尊重/遵守法律或道德标准。例如,在未授权的情况下直接攻击并关闭一个诈骗网站。

  • Black Hat(黑帽):这些人是罪犯,他们经常试图破坏公司、组织的利益 或者 以牺牲他人利益为代价获得某种形式的经济利益。例如,勒索软件作者用恶意代码感染计算机设备并持有敏感数据以向受害者索取赎金。

约定规则(ROE-Rules of Engagement)

ROE 是在渗透测试活动的初始阶段创建的文档,此类文档将由三个主要部分组成,ROE文档将负责决定如何开展渗透活动。

关于ROE文档的示例:

https://sansorg.egnyte.com/dl/bF4I3yCcnt/?

ROE文档的主要组成部分:

  • 许可:ROE文档的这一部分将明确许可要执行的渗透测试行为。此许可对于合法保护个人和组织所开展的渗透活动至关重要。

  • 测试范围:ROE文档的这一部分将解释 渗透测试应适用的具体目标。例如,渗透测试可能只适用于针对某些服务器或某些应用程序,而不适用于整个公司网络。

  • 规则:ROE的规则部分将准确定义渗透测试期间允许使用的技术。例如,该规则可能明确指出禁止钓鱼攻击等技术,但可以进行 MITM(中间人)攻击。

答题

image

渗透测试方法论

渗透测试活动在约定范围内可以有各种各样的目标,正因为如此,没有任何渗透测试是完全相同的,并且也没有一个通用案例能指导所有渗透测试人员怎么做。

渗透测试人员在进行渗透过程中所采取的步骤称为方法,使用一种实用的方法是明智的,其中所涉及的具体步骤与当前的具体情况相关。例如,当你必须测试目标网络的安全性时,你选择使用一种用于测试 Web 应用程序安全性的方法就可能有点不切实际了。

在讨论一些不同的行业标准方法之前,我们应该注意到它们都可能具有以下一般主题:

  1. 信息收集:在这个阶段,我们将尽可能多地收集有关目标/组织的公开信息,例如 获取OSINT(开源情报) 、进行调查研究。注意--此处不涉及扫描任何系统。
  2. 枚举/扫描:此阶段涉及发现目标系统上所运行的应用程序和服务。例如,扫描是否存在一个可能有漏洞的 Web 服务器。
  3. 漏洞利用:此阶段涉及利用在系统或应用程序上发现的漏洞,这将包括使用公开的漏洞 exp 或者对应用程序逻辑进行利用。
  4. 权限提升:一旦我们成功对系统或应用程序完成了漏洞利用(被称为获得立足点),接下来就需要我们尝试扩展对目标系统的访问权限;我们可以尝试进行水平提权和垂直提权,其中水平提权是指访问同一权限组的其他帐户(即访问另一个用户帐户),而垂直提权是指访问另一个权限组的帐户(即访问管理员帐户)。
  5. 后渗透:这个阶段包括了几个子阶段——研究还可以针对哪些其他主机(跳板);研究可以从目标主机上收集到哪些额外信息(在我们已经是特权用户的情况下)、掩盖你的渗透行为痕迹、撰写渗透测试报告。

接下来我们将介绍一些渗透测试行业标准方法。

OSSTMM

OSSTMM(开源安全测试方法手册)是Open Source Security Testing Methodology Manual的缩写,它能为系统、软件、应用程序、通信和网络安全的人为方面提供有关测试策略的详细框架。

该方法主要关注这些系统、应用程序如何通信,包括:

  • 电信,如电话、VoIP(基于IP的语音传输) 等
  • 有线网络
  • 无线通讯
img

OSSTMM的优点和缺点:

  • 优点:深入涵盖各种测试策略;包括针对特定目标(即电信和网络)的测试策略 ;该框架能够根据组织的需要被灵活运用;该框架旨在为系统和应用程序设置标准,这意味着在渗透测试场景中使用一些通用方法。
  • 缺点:该框架难以理解,虽然内容非常详细但是倾向于使用独特的定义。

OWASP

Open Web Application Security Project ”(开放式Web应用程序安全项目)框架是一个由社区驱动且经常更新的框架,它仅用于测试 Web 应用程序和服务的安全性。

OWASP社区会定期撰写报告,以说明 Web 应用程序可能存在的十大安全漏洞、测试方法和补救措施(OWASP TOP10)。

img

OWASP的优点和缺点:

  • 优点:容易掌握和理解;积极维护并经常更新;它涵盖了约定的所有阶段--从测试到报告和补救;专门研究web应用程序和服务。
  • 缺点:web应用程序有什么类型的漏洞可能并不清楚(它们经常会重叠);OWASP不对任何特定的软件开发生命周期提出建议;该框架不包含任何诸如CHECK之类的认证。

NIST Cybersecurity Framework 1.1

NIST Cybersecurity Framework (NIST网络安全框架)是一个流行的框架,可用于提高组织的网络安全标准和对网络威胁的风险进行管理。

该框架为从关键基础设施(如发电厂等)到商业组织的成功运行 提供了安全控制指导方针和基准,关于渗透测试人员应该采取的方法的标准指南 在该框架中仅占据了一个有限的部分。

tips:NIST是美国所属机构,全称是National Institute of Standards and Technology--美国国家标准与技术研究院。

img

NIST网络安全框架的优点和缺点:

  • 优点:适用性广,到2020年,约50%的美国组织使用NIST框架;该框架非常详细地制定了标准,以帮助组织减轻网络威胁;该框架更新地非常频繁;NIST将为使用该框架的组织提供认证;NIST框架被设计为能够与其他框架一起实现。
  • 缺点:NIST有许多框架的迭代,因此可能很难决定哪一个适用于你的组织;NIST框架的审计策略很弱,因此很难确定漏洞是如何发生的;NIST框架没有考虑云计算,而云计算在公司、组织中变得越来越流行。

NCSC CAF

Cyber Assessment Framework (CAF-网络评估框架) 是一个包含14项原则的广泛框架,可用于评估各种网络威胁的风险以及公司、组织对这些威胁的防御。

该框架适用于被认为提供了“至关重要的服务和活动”的组织,如关键基础设施、银行等,该框架主要关注和评估以下主题:

  • 数据安全
  • 系统安全
  • 身份和访问控制
  • 弹性
  • 监控
  • 事件响应和恢复计划

tips:NCSC是英国所属机构,全称是National Cyber Security Center--英国国家网络安全中心。

img

NCSC CAF的优点和缺点:

  • 优点:该框架得到了政府网络安全机构的支持;这个框架提供了行业认证;该框架涵盖了从安全性到响应性的14项原则。
  • 缺点:该框架在行业中的适应性还不够;这个框架是基于原则和想法的,不像其他框架那样有规则性。

答题

image

黑盒、灰盒、白盒渗透测试

在对应用程序或服务进行渗透测试时,有三个主要范围——黑盒、灰盒、白盒;你对目标的理解程度将决定你在渗透测试业务中所执行的测试级别,在本小节中,我们将对以上三种不同的测试范围进行介绍。

image

黑盒测试

这个测试过程是一个高级过程,渗透测试人员将在 没有得到任何关于目标应用程序或目标服务内部工作信息 的前提条件下——开展渗透测试。

测试人员将充当常规用户,针对应用程序或软件的功能和交互进行测试,这种测试可包括与界面(即按钮)的交互,以及测试是否会返回预期的结果;此类型的测试并不需要编程知识或对程序的理解。

在进行渗透测试时,黑盒测试需要我们显著增加在信息收集和枚举阶段所花费的时间,从而才能尽可能多地了解目标的攻击面。

灰盒测试

这种测试过程在渗透测试方面是最受欢迎的,它是黑盒测试过程和白盒测试过程的结合。测试人员能够事先对 目标应用程序或目标软件的内部组件有一些有限的了解;尽管如此,在实际测试过程中仍需要与应用程序进行交互,就像一个黑盒场景一样,但是在发现具体问题时,测试人员可以使用和目标应用程序相关的知识 来尝试对问题进行解决。

在进行灰盒测试时,事先给出的有限知识将为渗透测试过程节省时间,从而让渗透测试人员能够选择一些坚固的攻击面进行验证。

白盒测试

这个测试过程是一个低级的过程,通常由了解编程知识和应用程序逻辑的软件开发人员来完成。测试人员将针对应用程序或软件的内部组件进行测试,例如,确保特定功能在合理的时间内能够正确工作。

在白盒测试中,渗透测试人员将完全了解目标应用程序及其预期的行为,白盒测试场景中的完整知识提供了一种测试方法--可以保证和目标相关的整个攻击面都能得到验证。

答题

image

渗透测试模拟示例

答题

在本文相关的Tryhackme实验房间页面 部署虚拟实验环境,并完成本小节对应的模拟示例。

第一阶段:Rules of Engagement(ROE-约定规则),在本示例中,ROE主要由许可、测试范围、规则三部分组成。

image

image

image

第二阶段:信息收集。

image

第三阶段:枚举与扫描

image

第四阶段:漏洞利用。

image

第五阶段:后渗透。

image

第六阶段:完成痕迹擦除和撰写渗透测试报告。

image

在完成模拟示例后,我们得到的flag是:THM{PENTEST_COMPLETE} 。

image