You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求可向Windows内部票据存储注入Kerberos票据与认证器的WINAPI

向Windows Kerberos存储注入自定义票据的WINAPI方案

1. 首选API:CredWrite(结合KERB_CREDENTIAL结构)

Windows凭据管理器提供的CredWrite API支持将Kerberos凭据注入系统存储,你需要构造符合Kerberos协议的KERB_CREDENTIAL结构体,填入已获取的票据和认证信息:

核心步骤

  • 初始化KERB_CREDENTIAL结构:
    • 指定版本为KERB_CREDENTIAL_V5
    • 设置Flags(例如KERB_CREDENTIAL_FLAGS_INITIAL表示初始票据)
    • 将加密的Client-to-server ticket填入Ticket字段
    • 补充Session Key、Authenticator等相关字段的内容
  • 构造上层CREDENTIAL结构,指定类型为CRED_TYPE_KERBEROS,将KERB_CREDENTIAL作为CredentialBlob传入
  • 调用CredWrite完成凭据注入

示例代码片段:

#include <windows.h>
#include <wincred.h>
#include <ntsecapi.h>

BOOL InjectKerberosCred() {
    KERB_CREDENTIAL kerbCred = {0};
    kerbCred.Version = KERB_CREDENTIAL_V5;
    kerbCred.Flags = KERB_CREDENTIAL_FLAGS_INITIAL;
    
    // 填充Ticket字段:传入你已获取的加密Client-to-server ticket
    kerbCred.Ticket.Length = YOUR_TICKET_LENGTH;
    kerbCred.Ticket.MaximumLength = YOUR_TICKET_LENGTH;
    kerbCred.Ticket.Buffer = (PWSTR)YOUR_TICKET_DATA;
    
    // 填充SessionKey、Authenticator等其他必要字段
    // ...

    CREDENTIAL cred = {0};
    cred.Type = CRED_TYPE_KERBEROS;
    cred.TargetName = L"YOUR_RESOURCE_SPN"; // 资源的服务主体名称
    cred.CredentialBlobSize = sizeof(KERB_CREDENTIAL);
    cred.CredentialBlob = (LPBYTE)&kerbCred;
    cred.Persist = CRED_PERSIST_SESSION; // 仅当前会话有效,可选其他持久化级别

    return CredWrite(&cred, 0);
}

2. 底层控制方案:LsaCallAuthenticationPackage

如果需要更精细的Kerberos凭据管理,可以通过LSA(本地安全授权)API直接调用Kerberos认证包:

核心步骤

  • 调用LsaRegisterLogonProcess获取LSA会话句柄
  • 构造KERB_ADD_CREDENTIALS_REQUEST结构,填入你的票据和认证信息
  • 通过LsaCallAuthenticationPackage发送KerbAddCredentialsMessage类型的请求,完成凭据注入

此方法需要对LSA API和Kerberos协议有更深入的了解,适合需要自定义凭据生命周期的场景。

关于返回的加密时间戳

资源返回的加密时间戳(用Client/Server Session Key加密的Authenticator时间戳)主要用于Kerberos会话的有效性验证,不需要存入系统凭据存储。系统在后续与资源通信时,会自动处理Kerberos的会话校验逻辑。

验证与注意事项

  • 调用上述API需要管理员权限或对应的凭据访问权限
  • 必须确保KERB_CREDENTIAL结构的字段完全符合Kerberos V5协议规范,否则注入的凭据无法被系统识别
  • 可以使用系统命令klist get <资源SPN>查看注入的票据,验证是否成功

内容的提问来源于stack exchange,提问作者Zohar81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:07:37