森林信任工具(Forest Trust Tools) 使用指南
本指南旨在帮助您了解并开始使用 dirkjanm
开发的森林信任工具集,这是一个专为AD森林信任和跨域Kerberos票据操作设计的实验性工具包。下面我们将详细介绍其目录结构、启动文件以及配置方法。
1. 项目目录结构及介绍
森林信任工具的目录布局简洁明了,便于开发者快速定位相关组件:
├── LICENSE # 许可证文件,遵循MIT协议
├── README.md # 项目主读我文件,提供了简要说明和使用指引
├── frida_intercept.py # Frida脚本,用于交互式替换LSASS中的SID当NetrGetForestTrustInformation被调用时
├── ftinfo.py # 将从ADUC或ADSI编辑获取的FOREST_TRUST_INFO结构转换成可读格式
├── getftST.py # 用于读取TGT或修改后的TGS,并请求指定SPN的ST
├── getlocalsid.py # 查询主机的本地域SID,通过NETBIOS域名到SID的转换
├── gettrustinfo.py # 查询特定森林中作为部分的信任SIDs,利用NetrGetForestTrustInformation RPC调用
├── keytab.py # 支持写入AES/RC4密钥至keytab文件,便于Wireshark解密Kerberos交换的加密部分
├── kerberosv5.patch # 需要应用到本地impacket安装上的补丁,以支持某些功能
├── ptinfo.py # (误列,实际文档未提及此文件)
└── getlocalsid.py # (重复条目,可能是文档错误)
2. 项目的启动文件介绍
主要的启动脚本或交互点是那些直接执行特定任务的Python脚本,如getftST.py
和frida_intercept.py
。使用这些脚本之前,通常需要进行必要的配置(如修改源代码内的NT哈希或Kerberos密钥)。例如,运行getftST.py
之前,您可能需要按照文档指示应用kerberosv5.patch
到您的impacket环境,并在脚本中设置正确的凭据信息。
示例启动步骤(以getftST.py为例):
- 准备环境:确保已安装Python及其依赖项,尤其是
impacket
库,并应用补丁。 - 编辑配置:打开
getftST.py
,根据注释指示配置NT Hash或Kerberos键。 - 执行命令:通过终端或命令提示符运行脚本,提供必要的参数,比如目标SPN和DC。
3. 项目的配置文件介绍
这个项目与众不同之处在于,它并不直接依赖于一个集中式的配置文件。配置主要是通过修改各Python脚本内部的变量来实现,尤其是在需要特定凭据或服务器信息的地方。例如,在使用getftST.py
时,您需手动在脚本内设定安全敏感信息,这种方式虽然不够灵活但保证了每个使用场景的定制化。
对于更复杂或长期运行的部署,建议外部化这些设置,比如使用环境变量或外部配置文件管理这些敏感数据,但这超出了项目本身提供的标准流程,需要用户自己实现。
请注意,使用此类工具涉及高级网络和安全操作,不当使用可能导致严重的安全风险。务必在理解所有潜在影响后并在受控环境中进行测试。