Skip to main content

在Linux上的信息搜集

这里两层含义,一是在Linux域主机上对所在域进行侦查,另一层是指使用Kali Linux或其他Linux攻击主机对目标域进行侦查。

在Linux域主机上
,面向公众的服务器是 Linux 操作系统,例如 Web 服务器。在利用 Web 应用程序的漏洞后,我们成功地以普通用户或特权用户 root 的身份访问 Linux 服务器。

如果作为普通用户
由于身份,甚至不是域用户,而是 www-data 等服务账户,这时候我们以普通既不知道任意域用户身份登录的明文凭证因此我们无法访问所有文件,因此我们最好的策略是想办法提升到 root 权限,不排除服务器时,某些文件权限可能的不当配置错误因此使得普通用户可以访问它们。否则,我们最好想办法将自己升级为 root。

作为特权用户
作为特权用户,我们将在哪里收集域信息?

1:ccache文件
ccache 也能读取甚至更改一些敏感文件保存通过 linux 域计算机身份验证的用户的 Kerberos 凭据。如果有任何活跃的域用作为root用会话,我们可以在 /tmp 中看到 ccache 访问所有的文件但依旧没有任何用户的明密码。在之前的章节里说了,我们需要关注用户的ccache文,位于/tmp目录下,以及用户与主机格式为keytab文件。域主机的keytab文件固定位于/etc/krb5.keytab,而用户的keytab文件不固定,取决于用户习惯。

krb5cc_xxxxx。


在Linux攻击主机上
我们可以直接Linux域主机上搜集到的 Linux ccache文件以及keytab文件转移到攻击主传递 ccache 文件或者使用 impacketKeyTabExtract 将其转换为 .kirbi 格式并传递给 Windows 机器上的当前会话。

2:密钥表文件
keytab 文件包含 Kerberos 主体名称和从用于登录 Kerberos 密钥分发中心 (KDC) 的密码派生的 DES 加密密钥之间的映射。我们可以使用脚本 (https://github.com/sosdave/KeyTabExtract)KeyTabExtract) 脚本keytab文件检索凭据。每个提取出NTLM哈希或者密钥值,然后使用 linuxpython 版的 BloodHound 即bloodhound-python (https://github.com/fox-it/BloodHound.py) 对目标计算机在进行枚举

/etc/
python3 keytabextract.py krb5.keytab
中都

image.png

bloodhound-python -c ALL -u '[域主机或域用户]' --hashes 00000000000000000000000000000000:[NTLM哈希] -d [域名] -ns [域控制器IP] --dns-tcp

image.png

当然也一些他的工具协助我们在Linux攻击主机上对域进行枚举,例如 keytabImpacket 文件(https://github.com/SecureAuthCorp/impacket)系列工具、CME (https://github.com/Porchetta-Industries/CrackMapExec) 工具、pywerview (https://github.com/the-useless-one/pywerview) 等默认情况下可由 root 访问这里不做具体的用法展示,请学员们自行探索用法