trustedsec/Titanis

GitHub: trustedsec/Titanis

一款用 C# 编写的跨平台 Windows 协议实现库,从规范层面覆盖 SMB、Kerberos、NTLM、RPC、LDAP 等核心协议,面向安全研究、渗透测试和系统管理场景。

Stars: 789 | Forks: 81

# 简介 Titanis 是一个用 C# 编写的协议实现和命令行工具库,用于与 Windows 环境进行交互。它使用 .NET 8 并且是跨平台的(Windows 和 Linux)。已实现的部分协议包括: * SMB2 ([MS-SMB2](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-SMB2/%5bMS-SMB2%5d.pdf)) * SMB 2.x 和 3.x,最高至 3.1.1 * 消息安全特性,例如签名和加密 * 包含对文件系统控制代码 ([MS-FSCC](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-FSCC/%5bMS-FSCC%5d.pdf)) 的支持 * DFS 链接 ([MS-DFSC](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-DFSC/%5bMS-DFSC%5d.pdf)) * MSRPC ([MS-RPCE](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-RPCE/%5bMS-RPCE%5d.pdf)) * 端点映射器 (Endpoint mapper) * DCOM ([MS-DCOM](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-DCOM/%5bMS-DCOM%5d.pdf)) * EFS ([MS-EFSR](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-EFSR/%5bMS-EFSR%5d.pdf)) * LSA ([MS-LSAD](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-LSAD/%5bMS-LSAD%5d.pdf) 和 [MS-LSAT](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-LSAT/%5bMS-LSAT%5d.pdf)) * 远程注册表 (Remote Registry) ([MS-RRP](https://winprotocoldoc.z19.web.core.windows.net/MS-RRP/%5bMS-RRP%5d.pdf)) * 包含对备份语义的支持 * 包含 SAM 转储功能 * 安全账户管理器 (Security Accounts Manager) ([MS-SAMR](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-SAMR/%5bMS-SAMR%5d.pdf)) * 服务控制管理器 (Service Control Manager) ([MS-SCMR](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-SCMR/%5bMS-SCMR%5d.pdf)) * 服务器服务 (Server service) ([MS-SRVS](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-SRVS/%5bMS-SRVS%5d.pdf)) * WMI ([MS-WMI](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-WMI/%5bMS-WMI%5d.pdf) 和 [MS-WMIO](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-WMIO/%5bMS-WMIO%5d.pdf)) * 目录复制 (Directory replication) ([MS-DRSR]https://winprotocoldoc.z19.web.core.windows.net/MS-DRSR/%5bMS-DRSR%5d.pdf)) * LDAP ([RFC 4511](https://datatracker.ietf.org/doc/html/rfc4511) 和部分 [MS-ADTS](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-ADTS/%5bMS-ADTS%5d.pdf)) * 安全 * NTLM ([MS-NLMP](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-NLMP/%5bMS-NLMP%5d.pdf)) * Kerberos ([RFC4120](https://datatracker.ietf.org/doc/html/rfc4120) 和 [MS-KILE](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-KILE/%5bMS-KILE%5d.pdf)) * 跨领域引用 (Inter-realm referrals) * PKINIT ([MS-PKCA](https://winprotocoldoc.z19.web.core.windows.net/MS-PKCA/%5bMS-PKCA%5d.pdf) 和 [RFC 4556](https://datatracker.ietf.org/doc/html/rfc4556)) * S4U ([MS-SFU](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-WMI/%5bMS-WMI%5d.pdf)) * S4U2self * S4U2proxy * 加密配置文件 * DES CBC MD5 ([RFC3961](https://datatracker.ietf.org/doc/html/rfc3961)) (仅限 AS) * RC4-HMAC ([RFC4757](https://datatracker.ietf.org/doc/html/rfc4757)) * AES 128/256 ([RFC3962](https://datatracker.ietf.org/doc/html/rfc3962)) * 支持 .kirbi 和 [ccache](https://web.mit.edu/kerberos/krb5-1.21/doc/formats/ccache_file_format.html) 文件 * 支持 [keytab](https://web.mit.edu/kerberos/krb5-devel/doc/formats/keytab_file_format.html) 文件 * 更改/设置密码 ([RFC3244](https://datatracker.ietf.org/doc/html/rfc3244)) * SP-NEGO ([MS-SPNG](https://winprotocoldocs-bhdugrdyduf5h2e4.b02.azurefd.net/MS-SPNG/%5bMS-SPNG%5d.pdf)) * 集成 SOCKS 5 支持 (`-Socks5` 参数) ([RFC1928](https://datatracker.ietf.org/doc/html/rfc1928)) 有关最近的更改,请参见[更新日志](CHANGELOG.md) 有关支持的身份验证场景的概述,请参见[身份验证](doc/UserGuide/syntax-auth.md) - 描述如何使用参数控制身份验证 该工具集实现了回调和日志记录功能,以便集成到您的操作环境中。 有关命令行工具及您可以使用它们执行的任务列表,请查阅[工具索引](doc/UserGuide/tools/index.md) # 目标受众 * **安全研究人员** - 研究 Windows 如何对各种类型的请求做出反应 * **渗透测试人员** - 执行操作并测试缓解措施是否已启用且正常运行 * **系统管理员** - 执行管理任务 # 入门指南 [构建说明](BUILD.md) 如果您是用户,请参阅[用户指南](doc/UserGuide/index.md)以获取命令行实用程序列表及其使用方法。 如果您是开发人员,请参阅[开发人员指南](doc/DevGuide/index.md)以获取有关如何增强代码库的信息。 # 计划中的增强功能 * 任务计划程序支持 (Task Scheduler support) ([MS-TSCH](https://winprotocoldoc.z19.web.core.windows.net/MS-TSCH/[MS-TSCH].pdf)) * 简化的凭据管理 * 集成 SOCKS 4a # 项目组织 * **doc/** - 项目文档 * **src/** - 协议实现的源代码 * **test/** - 单元测试 * **tools/** - 独立的命令行工具 * **samples/** - 演示如何使用这些库的示例代码 在 Titanis.sln 中,项目被分组到以下几个功能区域: * **Base** - 其他组件使用的实用工具 * **Crypto** - 加密算法的实现 * **Formats** - 用于读取和写入各种格式(例如 ASN.1)的实现 * **Protocols** - 网络协议实现 * **Security** - 安全协议实现,例如 NTLM 和 Kerberos * **Test** - 单元测试 * **Tools** - 独立的命令行工具 * **_Build** - 与构建过程相关的文件。 有几个项目包含一个名为 `References.txt` 的文件,该文件引用了在开发期间参考的规范。源代码中包含对这些规范的引用,通常还附有相关的章节号。
标签:Checkov, DCOM, DFS, DRSR, EFS, HTTP, HTTP工具, LSA, MSRPC, .NET 8, RPC, SAMR, SAM转储, SMB, SMB2, SMB3, Windows协议库, WMI, 二进制发布, 凭证转储, 协议实现, 域渗透, 安全账户管理器, 开源工具, 开源软件, 数据展示, 服务控制管理器, 活动目录, 电子数据取证, 目录复制, 红队, 网络安全, 远程注册表, 错误配置检测, 隐私保护