信息收集

前期交互阶段完成后,各方已签署所有合同条款与条件,信息收集阶段随即开始。信息收集是任何安全评估的重要组成部分。在此阶段,我们收集关于公司、其员工、基础设施以及其组织方式的所有可用信息。信息收集是整个渗透测试过程中最频繁且至关重要的阶段,我们会反复进行此项工作。

渗透测试流程包括:前期交互、信息收集、漏洞评估、渗透攻击、后渗透攻击、横向移动、概念验证、后期交互。0-PT-Process-IG

我们利用漏洞的所有步骤都基于所枚举的关于目标的信息。此阶段可被视为任何渗透测试的基石。我们可以通过多种不同方式获取与我们相关的必要信息。这些方式可分为以下几类:

  • 开源情报
  • 基础设施枚举
  • 服务枚举
  • 主机枚举

所有这四类操作都应由我们在每次渗透测试中执行。因为信息是引导我们成功进行渗透测试并识别安全漏洞的主要组成部分。我们可以在任何地方获取这些信息,无论是在社交媒体、招聘信息、单个主机和服务器,甚至是员工那里。信息无时无刻不在各处传播和共享。毕竟,我们人类通过交换信息进行交流,而网络组件和服务也以类似方式通信。任何信息交换总有特定目的。对于计算机网络而言,其目的总是触发特定进程,无论是将数据存入数据库、注册、生成特定值,还是转发信息。

开源情报

假设我们的客户希望了解我们能从互联网上找到关于其公司的哪些信息。为此,我们使用所谓的开源情报。OSINT 是一个查找目标公司或个人公开信息的过程,旨在识别事件(例如公开和私人会议)、内外部依赖关系和连接。OSINT 利用来自公开资源的信息以达成预期结果。我们常能发现公司及其员工与安全相关的敏感信息。通常,分享此类信息的人并未意识到他们并非唯一能访问这些信息的人。

有可能在几分钟内找到高度敏感的信息,如密码、哈希值、密钥、令牌等,这些信息可使我们获得网络访问权限。像 Github 这样的网站或其他开发平台上的代码库设置常常不当,外部查看者可能看到这些信息。若在测试伊始就发现此类敏感信息,则交战规则的”事件处理与报告”部分应描述对此类关键安全漏洞的报告程序。公开的密码或 SSH 密钥若未被及时移除或更改,则意味着关键的安全缺口。因此,在我们继续之前,客户的管理员必须审查这些信息。

开发人员常在 StackOverflow 等平台分享大量代码片段,以便其他开发者更好地理解其代码工作原理,从而帮助他们解决问题。此类信息也能被快速找到并用于攻击公司。我们的任务是找出此类安全漏洞并促使其被修复。我们可以从 OSINT:企业侦察模块中学到更多。它展示了多种寻找此类信息的技术。

私钥与公钥

开发者常在StackOverflow等平台分享大量代码片段,以便其他开发者更好地概览其代码工作原理,从而帮助他们解决问题。此类信息也能被快速找到并用于攻击公司。我们的任务是发现此类安全漏洞并促使其被修复。我们可以从”OSINT: 企业侦察”模块中学到更多,该模块展示了多种寻找此类信息的技术。 img

基础设施枚举

在基础设施枚举期间,我们尝试概览公司在互联网和内部网络中的状况。为此,我们使用 OSINT 和初步主动扫描。我们利用 DNS 等服务来绘制客户的服务器和主机图谱,并理解其基础设施的构成方式,包括名称服务器、邮件服务器、Web 服务器、云实例等。我们制作准确的主机及其 IP 地址列表,并与测试范围进行比对,确认它们是否包含在内并列明。

在此阶段,我们还尝试确定公司采取的安全措施。这些信息越精确,就越容易伪装我们的攻击(规避性测试)。同时,识别防火墙(例如 Web 应用防火墙)也能让我们很好地了解哪些技术可能触发客户警报,以及有哪些方法可以避免触发警报。

无论我们处于网络外部尝试概览基础设施,还是从网络内部检查基础设施,枚举都至关重要。从网络内部进行枚举使我们能很好地了解哪些主机和服务器可作为密码喷洒攻击的目标,即尝试使用一个密码对尽可能多的不同用户名进行认证,以期获得一次成功的认证,从而在网络中获得立足点。所有用于此目的的方法和技术将在各个模块中详细探讨。

服务枚举

在服务枚举中,我们识别那些允许我们通过网络(或从内部视角本地化)与主机或服务器交互的服务。因此,关键在于了解服务本身、其版本、提供的信息以及其可用性原因。一旦理解了该服务部署的背景,就可以得出一些逻辑结论,为我们提供多种选择。

许多服务有版本历史,使我们能够判断主机或服务器上安装的版本是否最新。这也有助于我们发现旧版本通常存在的安全漏洞。许多管理员担心更改运行正常的应用程序可能会损害整个基础设施,因此常宁愿承受遗留一个或多个漏洞的风险以维持功能,也不愿修复安全缺口。

主机枚举

获得客户基础设施的详细列表后,我们检查范围界定文件中列出的每一台主机。我们尝试识别主机或服务器上运行的操作系统、使用的服务、服务版本等信息。同样,除了主动扫描,我们也可使用各种 OSINT 方法来了解该主机或服务器的可能配置。

我们可能发现多种服务,例如公司用于员工间数据交换甚至允许匿名访问的 FTP 服务器。即使在今天,仍有许多主机和服务器已不再受制造商支持。然而,这些旧版操作系统和服务中仍会不断发现漏洞,这些漏洞持续存在并危及客户整个基础设施。

无论我们从外部还是内部检查每台主机或服务器,主机枚举都至关重要。但从内部视角,我们会发现许多从外部无法访问的服务。因此,许多管理员会掉以轻心,常认为这些服务是”安全”的,因为它们不能直接从互联网访问。于是,由于这种假设或松懈的做法,此处常发现许多错误配置。在主机枚举期间,我们尝试确定该主机或服务器扮演的角色以及与之通信的网络组件。此外,还必须识别它为此使用了哪些服务以及这些服务位于哪些端口上。

内部主机枚举通常在成功利用一个或多个漏洞后进行,我们还会从内部检查主机或服务器。这意味着我们搜寻敏感文件、本地服务、脚本、应用程序、信息以及可能存储在主机上的其他内容。这也是后渗透攻击阶段的重要组成部分,在该阶段我们尝试提升权限。

信息掠夺

另一个关键步骤是信息掠夺。在进入后渗透攻击阶段后,进行信息掠夺是为了在已攻陷的主机上本地收集敏感信息,例如员工姓名、客户数据等。然而,这种信息收集仅在成功利用目标主机并获得访问权限后进行。

从被利用主机上获取的信息可分为多种不同类别,差异很大。这取决于主机的用途及其在企业网络中的位置。管理员为这些主机采取的安全措施也起着重要作用。尽管如此,此类信息可以展示潜在攻击对客户的影响,并可用于进一步升级权限或在网络中横向移动。

请注意,HTB Academy 没有专门聚焦信息掠夺的模块。这是有意为之,原因如下:信息掠夺本身并非一个独立阶段或子类别,而是信息收集和权限提升阶段中不可或缺的一部分,必然在目标系统上本地执行。信息掠夺在其他模块中会分开讲解,我们在认为相应步骤有价值且必要时便会涉及。

以下是一小部分涵盖信息掠夺内容的模块列表,但此主题也会在许多其他模块中涉及:

  • 使用 Nmap 进行网络枚举
  • 入门指南
  • 密码攻击
  • Active Directory 枚举与攻击
  • Linux 权限提升
  • Windows 权限提升
  • 攻击常见服务
  • 攻击常见应用
  • 攻击企业网络

在渗透测试员职业路径中,我们将与超过 150 个目标进行交互,并执行九次模拟迷你渗透测试,这将为我们提供大量实践此主题的机会。此外,从信息掠夺的角度看,应考虑操作系统特定模块,因为这些模块中展示的许多内容可用于目标系统上的信息检索或权限提升。

暂无评论

发送评论 编辑评论


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