• Re: Kerberos protocol transition with unconstrained delegation (i.e. TGT impersonation)

    From Jonathan Calmels@jcalmels@nvidia.com to Jeffrey Hutzelman on Thu Nov 9 09:05:19 2023
    From Newsgroup: comp.protocols.kerberos

    I finally had some time to implement this so here is the link if someone's interested: https://github.com/NVIDIA/sybil
    This is a PoC which essentially does what was suggested in this thread. The service can forge TGTs or cross-realm TGTs, although I found the latter less useful since most tool can't deal with those on their own.
    I'm sure this can be improved further, but it seems to do the job for the scenario I described initially.
    Hopefully, somebody finds it useful. Also, contributions are welcomed if somebody has a slightly different use case in mind.
    ________________________________
    From: Jeffrey Hutzelman <jhutz@cmu.edu>
    Sent: Friday, October 28, 2022 5:30:41 AM
    To: Greg Hudson <ghudson@mit.edu>
    Cc: Russ Allbery <eagle@eyrie.org>; Jonathan Calmels via Kerberos <kerberos@mit.edu>; Jonathan Calmels <jcalmels@nvidia.com>
    Subject: Re: Kerberos protocol transition with unconstrained delegation (i.e. TGT impersonation)
    External email: Use caution opening links or attachments
    Ah, I didn't realize MIT Kerberos had grown the "KDB" keytab method. That's similar to Jonathan's idea of using the kadmin libraries to extract the client's key from the kdb, but didn't require wiring custom code. It does require colocating with a KDC, but I agree with Russ; it's probably best to do that anyway.
    -- Jeff
    On Fri, Oct 28, 2022, 00:06 Greg Hudson <ghudson@mit.edu<mailto:ghudson@mit.edu>> wrote:
    On 10/27/22 12:36, Jeffrey Hutzelman wrote:
    You don't need libkadm5 for any of this -- all you need to print a service ticket (even a TGT) is the service's key. Heimdal comes with a program, kimpersonate, which does this and could easily be used as a basis for your impersonation service.
    MIT krb5 has a sort-of equivalent: "kinit -k -t KDB: username". The KDC
    is still in the loop, but no password or keytab for the user is
    required. (Add "-S krbtgt/OTHERREALM" for a cross-realm TGT.)
    --- Synchronet 3.21d-Linux NewsLink 1.2