Az - Pass the PRT
Ni nini PRT
pageAz - Primary Refresh Token (PRT)Angalia ikiwa una PRT
Katika sehemu ya Hali ya SSO, unapaswa kuona AzureAdPrt
imewekwa kuwa NDIYO.
Katika matokeo hayo hiyo unaweza pia kuona ikiwa kifaa kimejiunga na Azure (katika uga wa AzureAdJoined
):
Kuki ya PRT
Kuki ya PRT kimsingi inaitwa x-ms-RefreshTokenCredential
na ni JSON Web Token (JWT). JWT ina sehemu 3, kichwa, mzigo na sahihi, zilizogawanywa na .
na zote zimekodishwa kwa msingi wa base64 wa url. Kuki ya kawaida ya PRT ina kichwa na mwili ufuatao:
PRT ya Primary Refresh Token (PRT) halisi imefungwa ndani ya refresh_token
, ambayo imefichwa kwa kutumia ufunguo chini ya udhibiti wa Azure AD, ikifanya maudhui yake kuwa haijulikani na isiyoweza kufunguliwa kwetu. Uga wa is_primary
unamaanisha kufungwa kwa primary refresh token ndani ya token huu. Ili kuhakikisha kuwa kuki inabaki imefungwa kwenye kikao cha kuingia kilichokusudiwa, request_nonce
inatumwa kutoka ukurasa wa logon.microsoftonline.com
.
Mzunguko wa Kuki ya PRT ukitumia TPM
Mchakato wa LSASS utatuma kwa TPM muktadha wa KDF, na TPM itatumia ufunguo wa kikao (ulipatikana wakati kifaa kiliposajiliwa katika AzureAD na kuhifadhiwa kwenye TPM) na muktadha uliopita kwa kutengeneza ufunguo, na huu ufunguo uliotengenezwa hutumiwa kusaini kuki ya PRT (JWT).
Muktadha wa KDF ni ncha kutoka AzureAD na PRT inayounda JWT iliyochanganywa na muktadha (baiti za nasibu).
Hivyo, hata kama PTR haiwezi kuchimbuliwa kwa sababu iko ndani ya TPM, niwezekanavyo kudhuru LSASS kwa kuomba ufunguo uliotengenezwa kutoka muktadha mpya na kutumia ufunguo uliotengenezwa kusaini Kuki.
Mifano ya Uvunjaji wa PRT
Kama mtumiaji wa kawaida niwezekanavyo kuomba matumizi ya PRT kwa kuuliza LSASS kwa data ya SSO. Hii inaweza kufanywa kama programu za asili ambazo huiomba tokens kutoka kwa Meneja wa Akaunti ya Wavuti (mshughulikiaji wa token). WAM inapitisha ombi kwa LSASS, ambayo huiuliza tokens kwa kutumia uthibitisho wa PRT uliosainiwa. Au inaweza kufanywa na mifumo ya mtandao (wavuti) ambapo kuki ya PRT hutumiwa kama kichwa cha kuthibitisha maombi kwenye kurasa za kuingia za Azure AS.
Kama SYSTEM unaweza kuiba PRT ikiwa haijalindwa na TPM au kutumia ufunguo wa PRT katika LSASS kwa kutumia APIs za kriptografia.
Mifano ya Mashambulizi ya Kupitisha-PRT
Shambulio - ROADtoken
Kwa habari zaidi kuhusu njia hii angalia chapisho hili. ROADtoken itaendesha BrowserCore.exe
kutoka kwenye saraka sahihi na kutumia hiyo kwa kupata kuki ya PRT. Kuki hii inaweza kutumika kwa ROADtools kuthibitisha na kupata kibali cha kudumu cha upya.
Ili kutengeneza kuki sahihi ya PRT, jambo la kwanza unahitaji ni ncha. Unaweza kupata hii kwa:
Au kutumia roadrecon:
Kisha unaweza kutumia roadtoken kupata PRT mpya (endesha zana kutoka kwa mchakato wa mtumiaji kushambulia):
Kama oneliner:
Kisha unaweza kutumia kuki iliyozalishwa kuzalisha vitambulisho kuingia kwa kutumia Azure AD Graph au Microsoft Graph:
Shambulizi - Kutumia roadrecon
Shambulizi - Kutumia AADInternals na PTR iliyovuja
Get-AADIntUserPRTToken
inapata tokeni ya PRT ya mtumiaji kutoka kwa kompyuta iliyounganishwa na Azure AD au iliyounganishwa kwa njia ya hibridi. Inatumia BrowserCore.exe
kupata tokeni ya PRT.
Au ikiwa una thamani kutoka kwa Mimikatz unaweza pia kutumia AADInternals kuzalisha token:
Nenda kwa https://login.microsoftonline.com, futa mikate yote kwa login.microsoftonline.com na ingiza kikapu kipya.
Kisha endelea https://portal.azure.com
Sehemu nyingine zitabaki kama ilivyo. Hakikisha unaweza kusasisha ukurasa na kuki isipotee, ikiwa itapotea, labda umefanya kosa na unahitaji kufuata mchakato huo tena. Ikiwa haitapotea, basi utakuwa umefanikiwa.
Shambulio - Mimikatz
Hatua
PRT (Primary Refresh Token) inachimbwa kutoka LSASS (Local Security Authority Subsystem Service) na kuhifadhiwa kwa matumizi ya baadaye.
Muhtasari wa Kikao unachimbwa kisha. Kwa kuwa funguo hii kwanza hutolewa na kisha kufanyiwa upya kwa kifaa cha ndani, inahitaji kufunguliwa kwa kutumia muhtasari wa DPAPI. Maelezo kamili kuhusu DPAPI (Data Protection API) yanaweza kupatikana katika rasilimali hizi: HackTricks na kwa uelewa wa matumizi yake, tazama Shambulio la kusafirisha kuki.
Baada ya kufungua muhtasari wa Kikao, muhtasari uliopatikana na muktadha kwa PRT unapokelewa. Hizi ni muhimu kwa ujenzi wa kuki ya PRT. Hasa, muhtasari uliopatikana unatumika kusaini JWT (JSON Web Token) ambayo inajumuisha kuki. Maelezo kamili ya mchakato huu yametolewa na Dirk-jan, yanapatikana hapa.
Tafadhali kumbuka kwamba ikiwa PRT iko ndani ya TPM na sio ndani ya lsass
mimikatz haitaweza kuichimbua.
Hata hivyo, itakuwa inawezekana kupata funguo kutoka kwa muhtasari uliopatikana kutoka kwa muktadha kutoka kwa TPM na kutumia kusaini kuki (angalia chaguo 3).
Unaweza kupata maelezo ya kina ya mchakato uliofanywa kuchimba maelezo haya hapa: https://dirkjanm.io/digging-further-into-the-primary-refresh-token/
Hii haitafanya kazi hasa baada ya marekebisho ya Agosti 2021 ya kupata PRT za watumiaji wengine kwani mtumiaji pekee ndiye anaweza kupata PRT yake (msimamizi wa ndani hawezi kupata PRT za watumiaji wengine), lakini anaweza kupata yake.
Unaweza kutumia mimikatz kuchimba PRT:
Nakili sehemu iliyoandikwa Prt na iihifadhi.
Chukua pia ufunguo wa kikao (KeyValue
ya uga wa ProofOfPossesionKey
) ambao unaweza kuona umewekwa alama hapa chini. Hii imefichwa na tutahitaji kutumia DPAPI masterkeys yetu kuifichua.
Ikiwa hauoni data yoyote ya PRT inaweza kuwa kwamba huna PRTs kwa sababu kifaa chako hakijajiunga na Azure AD au inaweza kuwa unatumia toleo la zamani la Windows 10.
Kufichua ufunguo wa kikao unahitaji kuinua mamlaka yako hadi SYSTEM ili uweze kufanya kazi chini ya muktadha wa kompyuta ili kutumia DPAPI masterkey kuifichua. Unaweza kutumia amri zifuatazo kufanya hivyo:
Chaguo 1 - Mimikatz Kamili
Sasa unataka kunakili thamani zote za Muktadha:
Na thamani iliyopatikana ya ufunguo:
Hatimaye unaweza kutumia habari hii yote kuzalisha vidakuzi vya PRT:
Nenda kwenye https://login.microsoftonline.com, futa vidakuzi vyote kwa login.microsoftonline.com na ingiza kidakuzi kipya.
Kisha endelea https://portal.azure.com
Sehemu nyingine ziwe za msingi. Hakikisha unaweza kusasisha ukurasa na kuki isipotee, ikiwa itapotea, unaweza kuwa umefanya kosa na unahitaji kufuata mchakato huo tena. Ikiwa haitapotea, basi utakuwa umefanikiwa.
Chaguo 2 - roadrecon kutumia PTR
Fanyia upya PRT kwanza, ambayo itahifadhiwa kwenye
roadtx.prt
:
Sasa tunaweza kuomba vibali kwa kutumia kivinjari cha mwingiliano na
roadtx browserprtauth
. Ikiwa tutatumia amri yaroadtx describe
, tunaona kibali cha ufikiaji kina jumla ya MFA kwa sababu PRT niliyotumia katika kesi hii pia ilikuwa na kibali cha MFA.
Chaguo 3 - roadrecon kutumia funguo zilizopatikana
Ukiwa na muktadha na funguo zilizopatikana zilizochukuliwa na mimikatz, niwezekanavyo kutumia roadrecon kuzalisha kuki mpya iliyosainiwa na:
Marejeo
Last updated