AD CS Certificate Theft
Hii ni muhtasari mdogo wa sura za Wizi kutoka kwenye utafiti mzuri kutoka https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf
Ninaweza kufanya nini na cheti
Kabla ya kuangalia jinsi ya kuiba vyeti, hapa kuna habari kuhusu jinsi ya kugundua matumizi ya cheti:
Uchukuzi wa Vyeti kwa Kutumia API za Crypto - WIVU1
Katika kikao cha desktop cha kuingiliana, kuchukua cheti cha mtumiaji au mashine, pamoja na ufunguo wa kibinafsi, inaweza kufanywa kwa urahisi, haswa ikiwa ufunguo wa kibinafsi unaweza kusafirishwa. Hii inaweza kufanikiwa kwa kuelekea kwenye cheti katika certmgr.msc
, kubonyeza kulia juu yake, na kuchagua All Tasks → Export
ili kuzalisha faili ya .pfx iliyo na ulinzi wa nenosiri.
Kwa njia ya programu, zana kama cmdlet ya PowerShell ExportPfxCertificate
au miradi kama Miradi ya C# ya CertStealer ya TheWover inapatikana. Hizi hutumia Microsoft CryptoAPI (CAPI) au Cryptography API: Kizazi Kijacho (CNG) kuingiliana na hifadhi ya vyeti. API hizi hutoa huduma mbalimbali za kriptografia, ikiwa ni pamoja na zile zinazohitajika kwa uhifadhi na uwakilishi wa vyeti.
Hata hivyo, ikiwa ufunguo wa kibinafsi umewekwa kama usiosafirishwa, CAPI na CNG kwa kawaida zitazuia uchukuzi wa vyeti kama hivyo. Ili kuepuka kizuizi hiki, zana kama Mimikatz zinaweza kutumika. Mimikatz inatoa amri za crypto::capi
na crypto::cng
kufanya marekebisho kwenye API husika, kuruhusu uchukuzi wa ufunguo wa kibinafsi. Kwa usahihi, crypto::capi
inafanya marekebisho kwenye CAPI ndani ya mchakato wa sasa, wakati crypto::cng
inalenga kumbukumbu ya lsass.exe kwa ajili ya marekebisho.
Wizi wa Cheti cha Mtumiaji kupitia DPAPI - WIVU2
Maelezo zaidi kuhusu DPAPI katika:
pageDPAPI - Extracting PasswordsKatika Windows, ufunguo wa kibinafsi wa vyeti unalindwa na DPAPI. Ni muhimu kutambua kuwa eneo la kuhifadhi ufunguo wa kibinafsi wa mtumiaji na mashine ni tofauti, na muundo wa faili unatofautiana kulingana na API ya kriptografia inayotumiwa na mfumo wa uendeshaji. SharpDPAPI ni zana ambayo inaweza kusafiri tofauti hizi kiotomatiki wakati wa kufuta blobs za DPAPI.
Vyeti vya mtumiaji kwa kawaida hufanywa katika usajili chini ya HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates
, lakini baadhi yanaweza kupatikana pia katika saraka %APPDATA%\Microsoft\SystemCertificates\My\Certificates
. Ufunguo wa kibinafsi unaofanana na vyeti hivi kwa kawaida huhifadhiwa katika %APPDATA%\Microsoft\Crypto\RSA\User SID\
kwa ufunguo wa CAPI na %APPDATA%\Microsoft\Crypto\Keys\
kwa ufunguo wa CNG.
Kwa kuchukua cheti na ufunguo wake wa kibinafsi unaohusiana, mchakato unahusisha:
Kuchagua cheti lengwa kutoka kwenye hifadhi ya mtumiaji na kupata jina la hifadhi ya ufunguo wake.
Kutafuta DPAPI masterkey inayohitajika ili kuweza kufuta ufunguo wa kibinafsi unaohusiana.
Kufuta ufunguo wa kibinafsi kwa kutumia DPAPI masterkey ya maandishi wazi.
Kwa kupata DPAPI masterkey ya maandishi wazi, njia zifuatazo zinaweza kutumika:
Ili kuongeza ufanisi wa kufichua faili za masterkey na faili za ufunguo binafsi, amri ya certificates
kutoka SharpDPAPI ina faida. Inakubali /pvk
, /mkfile
, /password
, au {GUID}:KEY
kama hoja za kufichua ufunguo binafsi na vyeti vilivyohusishwa, na hatimaye kuzalisha faili ya .pem
.
Wizi wa Cheti cha Mashine kupitia DPAPI - THEFT3
Vyeti vya mashine vilivyohifadhiwa na Windows kwenye usajili kwenye HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates
na funguo binafsi zinazohusiana zilizopo kwenye %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\RSA\MachineKeys
(kwa CAPI) na %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys
(kwa CNG) zimefichwa kwa kutumia funguo za DPAPI za mashine. Funguo hizi haziwezi kufichuliwa kwa kutumia funguo za DPAPI za nakala za akiba za kikoa; badala yake, inahitajika siri ya DPAPI_SYSTEM LSA, ambayo inaweza kufikiwa tu na mtumiaji wa SYSTEM.
Ufichuzi wa mwongozo unaweza kufanikiwa kwa kutekeleza amri ya lsadump::secrets
katika Mimikatz ili kuchimbua siri ya DPAPI_SYSTEM LSA, na kisha kutumia funguo hii kufichua funguo za msingi za mashine. Kwa njia mbadala, amri ya crypto::certificates /export /systemstore:LOCAL_MACHINE
ya Mimikatz inaweza kutumika baada ya kufanya marekebisho kwenye CAPI/CNG kama ilivyoelezwa hapo awali.
SharpDPAPI inatoa njia iliyorahisishwa zaidi na amri yake ya vyeti. Wakati bendera ya /machine
inatumika na ruhusa zilizoinuliwa, inapanda hadi SYSTEM, inachukua siri ya DPAPI_SYSTEM LSA, inaitumia kufichua funguo za msingi za DPAPI za mashine, na kisha inatumia funguo hizi za maandishi wazi kama meza ya kutafuta kufichua funguo binafsi za vyeti vya mashine.
Kupata Faili za Cheti - THEFT4
Vyeti mara nyingi hupatikana moja kwa moja kwenye mfumo wa faili, kama vile kwenye sehemu za kugawana faili au folda ya Upakuaji. Aina za faili za cheti zinazokutwa mara kwa mara kwenye mazingira ya Windows ni faili za .pfx
na .p12
. Ingawa kwa nadra, faili zenye ugani wa .pkcs12
na .pem
pia zinatokea. Ugani wa faili zinazohusiana na vyeti unajumuisha:
.key
kwa funguo binafsi,.crt
/.cer
kwa vyeti pekee,.csr
kwa Maombi ya Kusaini Cheti, ambayo hayana vyeti wala funguo binafsi,.jks
/.keystore
/.keys
kwa Hifadhi za Java, ambazo zinaweza kushikilia vyeti pamoja na funguo binafsi zinazotumiwa na programu za Java.
Faili hizi zinaweza kutafutwa kwa kutumia PowerShell au dirisha la amri kwa kutafuta ugani uliotajwa.
Katika kesi ambapo faili ya cheti ya PKCS#12 inapatikana na imekingwa na nenosiri, inawezekana kuchimbua hash kwa kutumia pfx2john.py
, inayopatikana kwenye fossies.org. Kwa kuongezea, JohnTheRipper inaweza kutumika kujaribu kuvunja nenosiri.
Wizi wa Vitambulisho vya NTLM kupitia PKINIT - WIZI5
Yaliyomo yaliyotolewa yanafafanua njia ya wizi wa vitambulisho vya NTLM kupitia PKINIT, haswa kupitia njia ya wizi inayoitwa WIZI5. Hapa kuna ufafanuzi tena kwa mtindo wa sauti ya kisitiri, na yaliyomo yamefichwa na kusisitizwa pale inapofaa:
Kuunga mkono uwakilishi wa NTLM [MS-NLMP] kwa programu ambazo haziruhusu uwakilishi wa Kerberos, KDC imeundwa kurudisha kazi ya njia moja ya NTLM ya mtumiaji (OWF) ndani ya cheti cha sifa cha haki (PAC), haswa katika kifurushi cha PAC_CREDENTIAL_INFO
, wakati PKCA inatumika. Kwa hivyo, ikiwa akaunti inathibitisha na kusimamia Tiketi ya Kutoa Tiketi (TGT) kupitia PKINIT, kuna utaratibu uliopo ambao unawezesha mwenyeji wa sasa kuchukua hash ya NTLM kutoka kwa TGT ili kudumisha itifaki za uwakilishi za zamani. Mchakato huu unahusisha kufichua muundo wa PAC_CREDENTIAL_DATA
, ambao kimsingi ni taswira iliyosimbwa ya maandishi wazi ya NTLM.
Zana ya Kekeo, inayopatikana kwenye https://github.com/gentilkiwi/kekeo, inatajwa kuwa na uwezo wa kuomba TGT inayojumuisha data maalum hii, hivyo kurahisisha upatikanaji wa NTLM ya mtumiaji. Amri inayotumiwa kwa kusudi hili ni kama ifuatavyo:
Kwa kuongezea, imebainika kuwa Kekeo inaweza kusindika vyeti vilivyolindwa na kadi za akili, ikitoa kwamba pin inaweza kupatikana, kwa kurejelea https://github.com/CCob/PinSwipe. Uwezo sawa unadaiwa kusaidiwa na Rubeus, inapatikana kwenye https://github.com/GhostPack/Rubeus.
Maelezo haya yanajumuisha mchakato na zana zinazohusika katika wizi wa kitambulisho cha NTLM kupitia PKINIT, kuzingatia upatikanaji wa hash za NTLM kupitia TGT iliyopatikana kwa kutumia PKINIT, na programu zinazowezesha mchakato huu.
Last updated