Linux Active Directory
最后更新于
最后更新于
在Active Directory环境中也可能存在Linux机器。
在AD中的Linux机器可能会在文件中存储不同的CCACHE票证。这些票证可以像其他Kerberos票证一样被使用和滥用。要读取这些票证,您需要成为票证的用户所有者或者是机器内的root。
如果您在Linux中(或Windows的bash中)可以访问AD,您可以尝试使用https://github.com/lefayjey/linWinPwn来枚举AD。
您还可以查看以下页面,了解从Linux枚举AD的其他方法:
FreeIPA是Microsoft Windows Active Directory的开源替代方案,主要用于Unix环境。它将完整的LDAP目录与MIT Kerberos密钥分发中心相结合,用于类似Active Directory的管理。利用Dogtag 证书系统进行CA和RA证书管理,支持多因素身份验证,包括智能卡。SSSD用于Unix身份验证过程。在以下链接中了解更多信息:
在这个页面,您将找到Linux主机中可能找到Kerberos票证的不同位置,在下一个页面中,您可以了解如何将这些CCache票证格式转换为Kirbi(您需要在Windows中使用的格式),以及如何执行PTT攻击:
CCACHE文件是用于存储Kerberos凭据的二进制格式,通常以600权限存储在/tmp
中。这些文件可以通过其**名称格式krb5cc_%{uid}
进行识别,与用户的UID相关联。对于身份验证票证验证,应将环境变量KRB5CCNAME
**设置为所需票证文件的路径,从而使其可以重用。
使用env | grep KRB5CCNAME
列出用于身份验证的当前票证。该格式是可移植的,可以通过使用export KRB5CCNAME=/tmp/ticket.ccache
设置环境变量来重用票证。Kerberos票证名称格式为krb5cc_%{uid}
,其中uid是用户UID。
存储在进程内存中的Kerberos票证可以被提取,特别是当机器的ptrace保护被禁用时(/proc/sys/kernel/yama/ptrace_scope
)。用于此目的的一个有用工具可在https://github.com/TarlogicSecurity/tickey找到,它通过注入到会话中并将票证转储到/tmp
来简化提取过程。
要配置和使用此工具,请按照以下步骤进行:
SSSD在路径/var/lib/sss/secrets/secrets.ldb
中维护了一个数据库的副本。相应的密钥存储在路径/var/lib/sss/secrets/.secrets.mkey
中作为一个隐藏文件。默认情况下,只有具有root权限的用户才能读取该密钥。
通过使用SSSDKCMExtractor
工具,并提供--database和--key参数,可以解析数据库并解密这些秘密。
凭证缓存Kerberos blob可以转换为可用的Kerberos CCache文件,然后可以传递给Mimikatz/Rubeus。
/etc/krb5.keytab
文件中存储着服务账户密钥,对于以 root 权限运行的服务至关重要。这些密钥类似于服务的密码,需要严格保密。
要检查 keytab 文件的内容,可以使用 klist
。该工具旨在显示关键细节,包括用户认证的 NT Hash,特别是当密钥类型被识别为 23 时。
对于Linux用户,**KeyTabExtract
**提供了提取RC4 HMAC哈希的功能,可以用于NTLM哈希重用。
在 macOS 上,bifrost
作为一个用于分析 keytab 文件的工具。
利用提取的帐户和哈希信息,可以使用类似 crackmapexec
的工具建立与服务器的连接。