Am doi utilizatori, să zicem utilizatorA
și utilizatorB
. utilizatorA
se poate folosi un keytab cu aes
dar nu rc4
și utilizatorB
se poate folosi un keytab cu rc4
dar nu aes
.
Acesta este fragmentul care realizează tastatura de taste, o testează și o pune la loc:
#!/bin/sh
PRINCIPAL="xxxxx"
# METHOD="rc4-hmac"
# METHOD="aes256-cts-hmac-sha1-96"
METODA="rc4-hmac-exp"
KEYTAB="/tmp/$PRINCIPAL.keytab.$METHOD"
PAROLA='xxxxx'
setați -x
umask 0007
KEYTAB_TMP=$(mktemp "/tmp/$KEYTAB.XXXXXXXXXXXXXXXXXX")
function cleanup {
rm -f „$KEYTAB_TMP”
}
curățare capcană EXIT
așteaptă << EOF
setați timeout 10
spawn /usr/bin/ktutil
așteaptă {
"ktutil: " { trimite "addent -parola -p [email protected] -k 1 -e $METODA\r" }
timeout { pune „Timeout în așteptarea promptului ktutil.”; ieșirea 1; }
}
așteaptă {
-re "Parola pentru \S+: " { trimite "$PAROLA\r" }
timeout { pune „Timeout în așteptarea solicitării parolei.”; ieșirea 1; }
}
așteaptă {
"ktutil: " { trimite "wkt $KEYTAB_TMP\r" }
}
așteaptă {
"ktutil: " { trimite "q\r" }
}
EOF
chown „$PRINCIPAL”:rădăcină „$KEYTAB_TMP”
chmod ug=rw,o= "$KEYTAB_TMP"
dacă [ -s „$KEYTAB_TMP” ]
atunci
dacă /usr/bin/klist -e -k -t -K „$KEYTAB_TMP”
atunci
if su "$PRINCIPAL" -c "env KRB5_TRACE=/tmp/krb5_trace.$PRINCIPAL.$METHOD /usr/bin/kinit [email protected] -V -k -t $KEYTAB_TMP"
cel
mv -f „$KEYTAB_TMP” „$KEYTAB”
fi
fi
fi
Iată următorul utilizatorB folosind aes:
[28458] 1625700358.740403: Obținerea acreditărilor inițiale pentru [email protected]
[28458] 1625700358.740404: S-au căutat etypes în keytab: aes256-cts
[28458] 1625700358.740406: Trimiterea cererii neautentificate
[28458] 1625700358.740407: Trimiterea cererii (185 de octeți) către FOO.COM
[28458] 1625700358.740408: Se inițiază conexiunea TCP la fluxul 10.128.65.6:88
[28458] 1625700358.740409: Trimiterea cererii TCP la fluxul 10.128.65.6:88
[28458] 1625700358.740410: Răspuns primit (185 octeți) din fluxul 10.128.65.6:88
[28458] 1625700358.740411: Terminarea conexiunii TCP la fluxul 10.128.65.6:88
[28458] 1625700358.740412: Răspunsul a fost de la master KDC
[28458] 1625700358.740413: Eroare primită de la KDC: -1765328359/Este necesară o pre-autentificare suplimentară
[28458] 1625700358.740416: Preautentificare folosind datele metodei KDC
[28458] 1625700358.740417: Prelucrarea tipurilor de preautentificare: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-TIMESTAMP (2)
[28458] 1625700358.740418: Informații etype selectate: etype rc4-hmac, sare "", parametri ""
[28458] 1625700358.740419: Se preia [email protected] din FILE:/tmp/userB.keytab.aes256-cts-hmac-sha1-96.a148ff3d6c5ccc05f4644a2cdab. intrare găsită pentru [email protected]
[28458] 1625700358.740420: Modulul Preauth encrypted_timestamp (2) (real) a returnat: -1765328203/Nu a fost găsită nicio intrare în tabelul de chei pentru [email protected]
Aici folosește rc4:
[28706] 1625700362.799792: Obținerea acreditărilor inițiale pentru [email protected]
[28706] 1625700362.799793: S-au căutat etypes în keytab: rc4-hmac-exp
[28706] 1625700362.799795: Trimiterea cererii neautentificate
[28706] 1625700362.799796: Trimiterea cererii (185 de octeți) către FOO.COM
[28706] 1625700362.799797: se inițiază conexiunea TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799798: Trimiterea cererii TCP la transmiterea în flux 10.128.65.6:88
[28706] 1625700362.799799: Răspuns primit (185 octeți) din fluxul 10.128.65.6:88
[28706] 1625700362.799800: Terminarea conexiunii TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799801: Răspunsul a fost de la master KDC
[28706] 1625700362.799802: Eroare primită de la KDC: -1765328359/Este necesară o pre-autentificare suplimentară
[28706] 1625700362.799805: Preautentificare folosind datele metodei KDC
[28706] 1625700362.799806: Prelucrarea tipurilor de preautentificare: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-TIMESTAMP (2)
[28706] 1625700362.799807: Informații etype selectate: etype rc4-hmac, sare "", parametri ""
[28706] 1625700362.799808: Recuperare [email protected] din FILE:/tmp/userB.keytab.rc4-hmac-exp.3ddbc476378a57f4a7f4dbb700af6316 (vno 0, enc0maccce result with 04, enc00378a57f4a7f4dbb700af6316)
[28706] 1625700362.799809: cheie AS obținută pentru marcajul temporal criptat: rc4-hmac/B9A0
[28706] 1625700362.799811: Encrypted timestamp (for 1625700362.799810): plain 301AA011180F32303231303730373233323630325AA10502030C3442, encrypted 88F8E7E775BC3B93D0F392D9967E061B36246899F942A33EC123103A531DB6D2FB580A3C96FA97E24A74A844A41B532506F54F4C
[28706] 1625700362.799812: Modulul Preauth encrypted_timestamp (2) (real) a returnat: 0/Succes
[28706] 1625700362.799813: Preautentificare produsă pentru următoarea solicitare: PA-ENC-TIMESTAMP (2)
[28706] 1625700362.799814: Trimiterea cererii (260 de octeți) către FOO.COM
[28706] 1625700362.799815: Se inițiază conexiunea TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799816: Trimiterea cererii TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799817: Răspuns primit (1774 de octeți) din fluxul 10.128.65.6:88
[28706] 1625700362.799818: Terminarea conexiunii TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799819: Răspunsul a fost de la master KDC
[28706] 1625700362.799820: Sare derivată de la principal: FOO.COMuserB
[28706] 1625700362.799821: cheie AS determinată de preauth: rc4-hmac/B9A0
[28706] 1625700362.799822: Răspuns AS decriptat; cheia de sesiune este: aes256-cts/F217
[28706] 1625700362.799823: Negociere RAPIDĂ: indisponibilă
[28706] 1625700362.799824: Se inițializează KEYRING:persistent:207:207 cu princ implicit [email protected]
[28706] 1625700362.799825: Stocarea [email protected] -> krbtgt/[email protected] în KEYRING:persistent:207:207
[28706] 1625700362.799826: Stocarea configurației în KEYRING:persistent:207:207 pentru krbtgt/[email protected]: pa_type: 2
[28706] 1625700362.799827: Stocarea [email protected] -> krb5_ccache_conf_data/pa_type/krbtgt\/FOO.COM\@FOO.COM@X-CACHECONF: în KEYRING:persistent:207:207
Iată un eșantion de ieșiri ale scriptului pentru userB:
+ așteptați
spawn /usr/bin/ktutil
ktutil: addent -parola -p [email protected] -k 1 -e aes256-cts-hmac-sha1-96
Parola pentru [email protected]:
ktutil: wkt /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
ktutil: + chown userB:root /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
+ chmod ug=rw,o= /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
+ '[' -s /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb ']'
+ /usr/bin/klist -e -k -t -K /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
Nume tasta de taste: FILE:/tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
Principalul marcaj de timp KVNO
---- ------------------- --------------------------- ---------------------------
1 07.09.2021 10:24:05 [email protected] (aes256-cts-hmac-sha1-96) (0xdecff4a27a46a16267567a080311195e4e33d29caf3c4a2edc78b25d20edc78b)
+ su userB -c 'env KRB5_TRACE=/tmp/krb5_trace.userB.aes256-cts-hmac-sha1-96 /usr/bin/kinit [email protected] -V -k -t /tmp/userB.keytab.aes256 -cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb'
Folosind memoria cache existentă: persistent:207:207
Utilizarea principalului: [email protected]
Folosind keytab: /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
kinit: Autentificarea prealabilă a eșuat: Nu a fost găsită nicio intrare în tabelul de chei pentru [email protected] în timpul obținerii acreditărilor inițiale
+ așteptați
spawn /usr/bin/ktutil
ktutil: addent -parola -p [email protected] -k 1 -e rc4-hmac-exp
Parola pentru [email protected]:
ktutil: wkt /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
ktutil: + chown userB:root /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
+ chmod ug=rw,o= /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
+ '[' -s /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9 ']'
+ /usr/bin/klist -e -k -t -K /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Nume tastatură: FILE:/tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Principalul marcaj de timp KVNO
---- ------------------- --------------------------- ---------------------------
1 07.09.2021 10:24:30 [email protected] (arcfour-hmac-exp) (0xd6ed7055f216ab755e1827f582b35e24)
+ su userB -c 'env KRB5_TRACE=/tmp/krb5_trace.userB.rc4-hmac-exp /usr/bin/kinit [email protected] -V -k -t /tmp/userB.keytab.rc4-hmac-exp .0db811bfd7e10197146bcca944b942d9'
Folosind memoria cache existentă: persistent:207:207
Utilizarea principalului: [email protected]
Folosind keytab: /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Autentificat la Kerberos v5
Rețineți că ambele urme au ..
Informații etype selectate: etype rc4-hmac, sare "", parametrii ""X
Dar userA ajunge să aibă în ambele jurnale, care eșuează invers:
Informații etype selectate: etype aes256-cts...
Lucrez cu administratorii Kerberos -- este AD. Cei doi utilizatori sunt în OU-uri diferite -- pot exista politici diferite bazate pe OU? Există ceva la care ar trebui să-i pun pe administratori să se uite?