FreeIPA Pentesting
Taarifa Msingi
FreeIPA ni mbadala wa chanzo wazi wa Microsoft Windows Active Directory, hasa kwa mazingira ya Unix. Inachanganya directory ya LDAP kamili na Kituo cha Usambazaji cha Kufungua Kichwa cha MIT kwa usimamizi kama Active Directory. Kwa kutumia Mfumo wa Cheti wa Dogtag kwa usimamizi wa vyeti vya CA & RA, inasaidia uthibitishaji wa hatua nyingi, ikiwa ni pamoja na kadi za akili. SSSD imeingizwa kwa mchakato wa uthibitishaji wa Unix.
Alama za Vidole
Faili & Mazingira ya Mazingira
Faili katika
/etc/krb5.conf
ndio mahali ambapo habari ya mteja wa Kerberos, inayohitajika kwa usajili kwenye kikoa, imehifadhiwa. Hii ni pamoja na maeneo ya KDC na watumishi wa admin, mipangilio ya msingi, na ramani.Vipimo vya mfumo kwa wateja na watumishi wa IPA vimeset katika faili iliyoko katika
/etc/ipa/default.conf
.Wenyewe ndani ya kikoa lazima wawe na faili ya
krb5.keytab
katika/etc/krb5.keytab
kwa mchakato wa uthibitishaji.Mazingira mbalimbali ya mazingira (
KRB5CCNAME
,KRB5_KTNAME
,KRB5_CONFIG
,KRB5_KDC_PROFILE
,KRB5RCACHETYPE
,KRB5RCACHEDIR
,KRB5_TRACE
,KRB5_CLIENT_KTNAME
,KPROP_PORT
) hutumiwa kuashiria faili na mipangilio maalum inayohusiana na uthibitishaji wa Kerberos.
Programu za Binary
Zana kama vile ipa
, kdestroy
, kinit
, klist
, kpasswd
, ksu
, kswitch
, na kvno
ni muhimu katika kusimamia uwanja wa FreeIPA, kushughulikia tiketi za Kerberos, kubadilisha nywila, na kupata tiketi za huduma, miongoni mwa utendaji mwingine.
Mtandao
Mchoro unatolewa kuonyesha usanidi wa kawaida wa seva ya FreeIPA.
Uthibitishaji
Uthibitishaji katika FreeIPA, ukitumia Kerberos, unafanana na ule katika Active Directory. Upatikanaji wa rasilimali za kikoa unahitaji tiketi sahihi ya Kerberos, ambayo inaweza kuhifadhiwa katika maeneo mbalimbali kulingana na usanidi wa uwanja wa FreeIPA.
Faili za Tiketi za CCACHE
Faili za CCACHE, zilizohifadhiwa kawaida katika /tmp
na ruhusa za 600, ni muundo wa binary wa kuhifadhi siri za Kerberos, muhimu kwa uthibitishaji bila nywila ya wazi ya mtumiaji kutokana na uhamishaji wao. Kupasua tiketi ya CCACHE inaweza kufanywa kwa kutumia amri ya klist
, na kutumia tena Tiketi sahihi ya CCACHE kunahusisha kuuza nje KRB5CCNAME
kwa njia ya faili ya tiketi.
Unix Keyring
Kwa upande mwingine, Tiketi za CCACHE zinaweza kuhifadhiwa kwenye keyring ya Linux, ikitoa udhibiti zaidi juu ya usimamizi wa tiketi. Upeo wa uhifadhi wa tiketi hutofautiana (KEYRING:jina
, KEYRING:process:jina
, KEYRING:thread:jina
, KEYRING:kikao:jina
, KEYRING:endelevu:uidnumber
), na klist
inaweza kufasiri habari hii kwa mtumiaji. Hata hivyo, kutumia tena Tiketi ya CCACHE kutoka kwenye keyring ya Unix kunaweza kuleta changamoto, na zana kama Tickey inapatikana kwa kuchimba tiketi za Kerberos.
Keytab
Faili za Keytab, zenye mabwana ya Kerberos na funguo zilizofichwa, ni muhimu kwa kupata tiketi sahihi za kutoa ruhusa (TGT) bila kuhitaji nywila ya bwana. Kupasua na kutumia upya siri kutoka kwenye faili za keytab kunaweza kufanywa kwa urahisi na zana kama klist
na hati kama KeytabParser.
Karatasi ya Udanganyifu
Unaweza kupata maelezo zaidi kuhusu jinsi ya kutumia tiketi katika linux kwenye kiungo kifuatacho:
pageLinux Active DirectoryUchambuzi
Unaweza kufanya uchambuzi kupitia ldap na zana nyingine za binary, au kuunganisha kwenye ukurasa wa wavuti kwenye bandari 443 ya seva ya FreeIPA.
Wenyewe, Watumiaji, na Vikundi
Inawezekana kuunda wenyewe, watumiaji na vikundi. Wenyewe na watumiaji wamepangwa katika vyombo vinavyoitwa "Vikundi vya Wenyeji" na "Vikundi vya Watumiaji" mtawalia. Haya ni sawa na Vipengele vya Shirika (OU).
Kwa chaguo-msingi katika FreeIPA, seva ya LDAP inaruhusu kufunga kwa siri, na seti kubwa ya data inaweza kuchambuliwa bila kuthibitishwa. Hii inaweza kuchambua data yote inayopatikana bila kuthibitishwa:
Ili kupata maji zaidi, unahitaji kutumia kikao kilichothibitishwa (angalia sehemu ya Uthibitishaji kujifunza jinsi ya kuandaa kikao kilichothibitishwa).
Kutoka kwenye mashine iliyoshirikishwa kwenye kikoa utaweza kutumia faili za binary zilizosakinishwa kuchambua kikoa:
Mtumiaji wa admin wa FreeIPA ni sawa na domain admins kutoka AD.
Hashes
Mtumiaji wa root kutoka kwenye IPA server ana ufikivu wa hashes za nywila.
Hash ya nywila ya mtumiaji imehifadhiwa kama base64 kwenye sifa ya "userPassword". Hash hii inaweza kuwa SSHA512 (toleo za zamani za FreeIPA) au PBKDF2_SHA256.
Nthash ya nywila imehifadhiwa kama base64 kwenye “ipaNTHash” ikiwa mfumo una integration na AD.
Ku-crack hizi hashes:
Ikiwa freeIPA imeunganishwa na AD, ipaNTHash ni rahisi ku-crack: Unapaswa decode base64 -> encode tena kama ASCII hex -> John The Ripper au hashcat wanaweza kukusaidia ku-crack haraka
Ikiwa toleo la zamani la FreeIPA limetumika, basi SSHA512 hutumika: Unapaswa kudecode base64 -> pata SSHA512 hash -> John The Ripper au hashcat wanaweza kukusaidia ku-crack
Ikiwa toleo jipya la FreeIPA limetumika, basi PBKDF2_SHA256 hutumika: Unapaswa kudecode base64 -> pata PBKDF2_SHA256 -> urefu wake ni 256 byte. John anaweza kufanya kazi na bits 256 (32 byte) -> SHA-265 hutumika kama function ya pseudo-random, ukubwa wa block ni 32 byte -> unaweza kutumia tu biti za kwanza 256 za hash yetu ya PBKDF2_SHA256 -> John The Ripper au hashcat wanaweza kukusaidia ku-crack
Kuondoa hashes unahitaji kuwa root kwenye server ya FreeIPA, hapo unaweza kutumia chombo dbscan
kuzitoa:
HBAC-Rules
Hizi ni sheria zinazotoa ruhusa maalum kwa watumiaji au mwenyeji juu ya rasilimali (wenyeji, huduma, vikundi vya huduma...).
Sera za Sudo
FreeIPA inawezesha udhibiti uliojumuishwa wa ruhusa za sudo kupitia sera za sudo. Sera hizi huruhusu au kuzuia utekelezaji wa amri za sudo kwenye mwenyeji ndani ya kikoa. Mshambuliaji anaweza kwa uwezekano kutambua mwenyeji husika, watumiaji, na amri zilizoruhusiwa kwa kuchunguza seti hizi za sera.
Kudhibiti Upatikanaji kulingana na Majukumu
Jukumu linaundwa na madaraka mbalimbali, kila moja ikijumuisha mkusanyiko wa ruhusa. Majukumu haya yanaweza kupewa Watumiaji, Vikundi vya Watumiaji, Mwenyeji, Vikundi vya Wenyeji, na Huduma. Kwa mfano, fikiria jukumu la "Msimamizi wa Mtumiaji" katika FreeIPA kuonyesha muundo huu.
Jukumu la Msimamizi wa Mtumiaji
lina madaraka haya:
Msimamizi wa Watumiaji
Msimamizi wa Vikundi
Msimamizi wa Hatua za Mtumiaji
Kwa kutumia amri zifuatazo, ni rahisi kuchunguza majukumu, madaraka, na ruhusa:
Mfano wa Skenario ya Shambulizi
Katika https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e unaweza kupata mfano rahisi wa jinsi ya kutumia baadhi ya ruhusa kudhoofisha uwanja.
Linikatz/LinikatzV2
Privesc
Uundaji wa mtumiaji wa mizizi
Ikiwa unaweza kuunda mtumiaji mpya kwa jina root
, unaweza kujifanya kuwa yeye na utaweza kuingia kwa SSH kwenye mashine yoyote kama mizizi.
HII IMESASISHWA.
Unaweza kuangalia maelezo ya kina katika https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b
Marejeo
Last updated