Active Directory Methodology
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Active Directory inatumika kama teknolojia ya msingi, ikiwasaidia wasimamizi wa mtandao kuunda na kusimamia kwa ufanisi doma, watumiaji, na vitu ndani ya mtandao. Imeundwa ili kupanuka, ikirahisisha kupanga idadi kubwa ya watumiaji katika makundi na subgroups yanayoweza kudhibitiwa, huku ikidhibiti haki za ufikiaji katika ngazi mbalimbali.
Muundo wa Active Directory unajumuisha tabaka tatu kuu: doma, miti, na misitu. Doma inajumuisha mkusanyiko wa vitu, kama vile watumiaji au vifaa, vinavyoshiriki hifadhidata ya pamoja. Miti ni makundi ya hizi doma zilizounganishwa na muundo wa pamoja, na msitu unawakilisha mkusanyiko wa miti kadhaa, zilizounganishwa kupitia uhusiano wa kuaminiana, zikiforma tabaka la juu zaidi la muundo wa shirika. Haki maalum za ufikiaji na mawasiliano zinaweza kutolewa katika kila moja ya ngazi hizi.
Mifano muhimu ndani ya Active Directory ni pamoja na:
Directory – Inahifadhi taarifa zote zinazohusiana na vitu vya Active Directory.
Object – Inamaanisha viumbe ndani ya directory, ikiwa ni pamoja na watumiaji, makundi, au folda za pamoja.
Domain – Inatumika kama chombo cha vitu vya directory, ikiwa na uwezo wa doma nyingi kuishi pamoja ndani ya msitu, kila moja ikihifadhi mkusanyiko wake wa vitu.
Tree – Kundi la doma zinazoshiriki domain ya mzizi wa pamoja.
Forest – Kilele cha muundo wa shirika katika Active Directory, kinachojumuisha miti kadhaa zikiwa na uaminifu kati yao.
Active Directory Domain Services (AD DS) inajumuisha huduma mbalimbali muhimu kwa usimamizi wa kati na mawasiliano ndani ya mtandao. Huduma hizi zinajumuisha:
Domain Services – Inakusanya uhifadhi wa data na kusimamia mwingiliano kati ya watumiaji na doma, ikiwa ni pamoja na uthibitishaji na utafutaji.
Certificate Services – Inasimamia uundaji, usambazaji, na usimamizi wa vyeti vya dijitali salama.
Lightweight Directory Services – Inasaidia programu zinazotumia directory kupitia protokali ya LDAP.
Directory Federation Services – Inatoa uwezo wa kuingia mara moja kuthibitisha watumiaji katika programu nyingi za wavuti katika kikao kimoja.
Rights Management – Inasaidia kulinda mali ya hakimiliki kwa kudhibiti usambazaji na matumizi yake yasiyoidhinishwa.
DNS Service – Muhimu kwa kutatua majina ya doma.
Kwa maelezo zaidi, angalia: TechTerms - Active Directory Definition
Ili kujifunza jinsi ya kushambulia AD unahitaji kuelewa vizuri mchakato wa uthibitishaji wa Kerberos. Soma ukurasa huu ikiwa bado hujui jinsi inavyofanya kazi.
Unaweza kutembelea https://wadcoms.github.io/ kupata muonekano wa haraka wa amri ambazo unaweza kukimbia ili kuhesabu/kutumia AD.
Ikiwa una ufikiaji tu wa mazingira ya AD lakini huna akidi/nikundi zozote unaweza:
Pentest mtandao:
Fanya skana ya mtandao, pata mashine na bandari wazi na jaribu kutumia udhaifu au kuchota akidi kutoka kwao (kwa mfano, printa zinaweza kuwa malengo ya kuvutia sana.
Kuangalia DNS kunaweza kutoa taarifa kuhusu seva muhimu katika domain kama wavuti, printa, sehemu, vpn, media, nk.
gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt
Angalia Pentesting Methodology kwa maelezo zaidi kuhusu jinsi ya kufanya hivi.
Angalia ufikiaji wa null na Guest kwenye huduma za smb (hii haitafanya kazi kwenye toleo la kisasa la Windows):
enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>
smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>
smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //
Mwongozo wa kina zaidi juu ya jinsi ya kuhesabu seva ya SMB unaweza kupatikana hapa:
Hesabu Ldap
nmap -n -sV --script "ldap* and not brute" -p 389 <DC IP>
Mwongozo wa kina zaidi juu ya jinsi ya kuhesabu LDAP unaweza kupatikana hapa (zingatia ufikiaji wa siri):
Poison mtandao
Kusanya akidi ukijifanya huduma kwa Responder
Fikia mwenyeji kwa kudhulumu shambulio la relay
Kusanya akidi ukifichua huduma za UPnP za uongo na evil-SSDP
Toa majina ya watumiaji/majina kutoka kwa nyaraka za ndani, mitandao ya kijamii, huduma (hasa wavuti) ndani ya mazingira ya domain na pia kutoka kwa yaliyopo hadharani.
Ikiwa unapata majina kamili ya wafanyakazi wa kampuni, unaweza kujaribu kanuni tofauti za majina ya mtumiaji wa AD (**soma hii). Kanuni maarufu ni: NameSurname, Name.Surname, NamSur (herufi 3 za kila moja), Nam.Sur, NSurname, N.Surname, SurnameName, Surname.Name, SurnameN, Surname.N, herufi 3 za nasibu na nambari 3 za nasibu (abc123).
Zana:
Anonymous SMB/LDAP enum: Angalia pentesting SMB na pentesting LDAP kurasa.
Kerbrute enum: Wakati jina la mtumiaji lisilo sahihi linapohitajika seva itajibu kwa kutumia kodi ya kosa la Kerberos KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN, ikituruhusu kubaini kwamba jina la mtumiaji halikuwa sahihi. Majina ya watumiaji sahihi yatatoa ama TGT katika AS-REP jibu au kosa KRB5KDC_ERR_PREAUTH_REQUIRED, ikionyesha kwamba mtumiaji anahitajika kufanya uthibitishaji wa awali.
OWA (Outlook Web Access) Server
Ikiwa umepata moja ya seva hizi katika mtandao unaweza pia kufanya user enumeration dhidi yake. Kwa mfano, unaweza kutumia chombo MailSniper:
Unaweza kupata orodha za majina ya watumiaji katika hii github repo **** na hii nyingine (statistically-likely-usernames).
Hata hivyo, unapaswa kuwa na jina la watu wanaofanya kazi katika kampuni kutoka hatua ya recon ambayo unapaswa kuwa umefanya kabla ya hii. Kwa jina na jina la ukoo unaweza kutumia script namemash.py kuunda majina ya watumiaji halali yanayoweza kuwa.
Sawa, hivyo unajua tayari una jina halali la mtumiaji lakini hakuna nywila... Kisha jaribu:
ASREPRoast: Ikiwa mtumiaji hana sifa DONT_REQ_PREAUTH unaweza kuomba ujumbe wa AS_REP kwa mtumiaji huyo ambao utakuwa na data fulani iliyosimbwa kwa derivation ya nywila ya mtumiaji.
Password Spraying: Jaribu nywila za kawaida zaidi na kila mmoja wa watumiaji uliozipata, labda mtumiaji fulani anatumia nywila mbaya (kumbuka sera ya nywila!).
Kumbuka kwamba unaweza pia spray OWA servers kujaribu kupata ufikiaji wa seva za barua za watumiaji.
Unaweza kuwa na uwezo wa kupata baadhi ya changamoto hashes ili kufungua kuharibu baadhi ya protokali za mtandao:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay AttacksIkiwa umeweza kuorodhesha active directory utakuwa na barua pepe zaidi na ufahamu bora wa mtandao. Unaweza kuwa na uwezo wa kulazimisha NTML relay attacks **** kupata ufikiaji wa mazingira ya AD.
Ikiwa unaweza kufikia kompyuta nyingine au sehemu na mtumiaji wa null au mgeni unaweza kweka faili (kama faili ya SCF) ambayo ikiwa kwa namna fulani itafikiwa it trigger an NTML authentication against you ili uweze kuiba NTLM challenge ili kuifungua:
Places to steal NTLM credsKwa hatua hii unahitaji kuwa umevunjika nywila au sessio ya akaunti halali ya domain. Ikiwa una nywila halali au shell kama mtumiaji wa domain, unapaswa kukumbuka kwamba chaguzi zilizotolewa hapo awali bado ni chaguzi za kuvunja watumiaji wengine.
Kabla ya kuanza kuorodhesha kwa uthibitisho unapaswa kujua ni nini Kerberos double hop problem.
Kerberos Double Hop ProblemKuwa na akaunti iliyovunjika ni hatua kubwa kuanza kuvunja domain nzima, kwa sababu utaweza kuanza Kuorodhesha Active Directory:
Kuhusu ASREPRoast sasa unaweza kupata kila mtumiaji anayeweza kuwa hatarini, na kuhusu Password Spraying unaweza kupata orodha ya majina yote ya watumiaji na kujaribu nywila ya akaunti iliyovunjika, nywila tupu na nywila mpya zinazowezekana.
Unaweza kutumia CMD kufanya recon ya msingi
Unaweza pia kutumia powershell kwa recon ambayo itakuwa ya siri zaidi
Unaweza pia kutumia powerview kutoa taarifa za kina zaidi
Zana nyingine nzuri kwa ajili ya recon katika active directory ni BloodHound. Si ya siri sana (kulingana na mbinu za ukusanyaji unazotumia), lakini ikiwa hujali kuhusu hilo, unapaswa kujaribu kabisa. Pata mahali ambapo watumiaji wanaweza RDP, pata njia za makundi mengine, nk.
Zana nyingine za kuorodhesha AD za kiotomatiki ni: AD Explorer, ADRecon, Group3r, PingCastle.
Rekodi za DNS za AD kwani zinaweza kuwa na taarifa za kuvutia.
Zana iliyokuwa na GUI ambayo unaweza kutumia kuorodhesha directory ni AdExplorer.exe kutoka SysInternal Suite.
Unaweza pia kutafuta katika database ya LDAP kwa ldapsearch kutafuta nywila katika maeneo userPassword & unixUserPassword, au hata kwa Description. cf. Nywila katika AD User comment on PayloadsAllTheThings kwa mbinu nyingine.
Ikiwa unatumia Linux, unaweza pia kuorodhesha domain kwa kutumia pywerview.
Unaweza pia kujaribu zana za kiotomatiki kama:
Kutoa majina yote ya watumiaji wa domain
Ni rahisi sana kupata majina yote ya watumiaji wa domain kutoka Windows (net user /domain
,Get-DomainUser
au wmic useraccount get name,sid
). Katika Linux, unaweza kutumia: GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username
au enum4linux -a -u "user" -p "password" <DC IP>
Hata kama sehemu hii ya Kuorodhesha inaonekana ndogo hii ndiyo sehemu muhimu zaidi ya yote. Fikia viungo (hasa ile ya cmd, powershell, powerview na BloodHound), jifunze jinsi ya kuorodhesha domain na fanya mazoezi hadi ujisikie vizuri. Wakati wa tathmini, hii itakuwa wakati muhimu wa kupata njia yako hadi DA au kuamua kwamba hakuna kinachoweza kufanywa.
Kerberoasting inahusisha kupata TGS tickets zinazotumiwa na huduma zinazohusishwa na akaunti za watumiaji na kufungua usimbaji wao—ambao unategemea nywila za watumiaji—offline.
Zaidi kuhusu hii katika:
KerberoastMara tu unapopata nywila fulani unaweza kuangalia ikiwa una ufikiaji wa kompyuta yoyote. Kwa jambo hilo, unaweza kutumia CrackMapExec kujaribu kuungana kwenye seva kadhaa kwa kutumia protokali tofauti, kulingana na skana zako za port.
Ikiwa umevunjika nywila au sessio kama mtumiaji wa kawaida wa domain na una ufikiaji na mtumiaji huyu kwa kompyuta yoyote katika domain unapaswa kujaribu kupata njia yako ya kuinua mamlaka kwa ndani na kutafuta nywila. Hii ni kwa sababu ni tu kwa mamlaka ya msimamizi wa ndani utaweza dump hashes za watumiaji wengine katika kumbukumbu (LSASS) na kwa ndani (SAM).
Kuna ukurasa kamili katika kitabu hiki kuhusu kuinua mamlaka ya ndani katika Windows na orodha ya ukaguzi. Pia, usisahau kutumia WinPEAS.
Ni ngumu sana kwamba utapata tiketi katika mtumiaji wa sasa ukikupa ruhusa ya kufikia rasilimali zisizotarajiwa, lakini unaweza kuangalia:
Ikiwa umeweza kuorodhesha active directory utakuwa na barua pepe zaidi na ufahamu bora wa mtandao. Unaweza kuwa na uwezo wa kulazimisha NTML relay attacks.
Sasa kwamba una baadhi ya akidi za msingi unapaswa kuangalia kama unaweza kupata faili za kuvutia zinazoshirikiwa ndani ya AD. Unaweza kufanya hivyo kwa mikono lakini ni kazi ya kuchosha na ya kurudiwa (na zaidi ikiwa unapata mamia ya hati unahitaji kuangalia).
Fuata kiungo hiki kujifunza kuhusu zana unazoweza kutumia.
Ikiwa unaweza kufikia PCs nyingine au shares unaweza kweka faili (kama faili la SCF) ambayo ikiwa kwa namna fulani itafikiwa it sababisha uthibitisho wa NTML dhidi yako ili uweze kuiba changamoto ya NTLM ili kuifungua:
Places to steal NTLM credsUthibitisho huu uliruhusu mtumiaji yeyote aliyeidhinishwa kudhoofisha kidhibiti cha eneo.
PrintNightmareKwa mbinu zifuatazo mtumiaji wa kawaida wa eneo si wa kutosha, unahitaji baadhi ya haki/akidi maalum ili kutekeleza mashambulizi haya.
Tuna matumaini umeweza kudhoofisha akaunti ya msimamizi wa ndani kwa kutumia AsRepRoast, Password Spraying, Kerberoast, Responder ikiwa ni pamoja na relaying, EvilSSDP, kuinua haki za ndani. Basi, ni wakati wa kutupa hash zote kwenye kumbukumbu na ndani. Soma ukurasa huu kuhusu njia tofauti za kupata hash.
Mara tu unapo kuwa na hash ya mtumiaji, unaweza kuitumia kujifanya kuwa yeye. Unahitaji kutumia chombo ambacho kitafanya uthibitisho wa NTLM kwa kutumia hiyo hash, au unaweza kuunda sessionlogon mpya na kuingiza hiyo hash ndani ya LSASS, hivyo wakati uthibitisho wowote wa NTLM unafanywa, hiyo hash itatumika. Chaguo la mwisho ndilo ambalo mimikatz hufanya. Soma ukurasa huu kwa maelezo zaidi.
Shambulizi hili linakusudia kutumia hash ya mtumiaji wa NTLM kuomba tiketi za Kerberos, kama mbadala wa kawaida wa Pass The Hash juu ya itifaki ya NTLM. Hivyo, hii inaweza kuwa hasa faida katika mitandao ambapo itifaki ya NTLM imezimwa na tu Kerberos inaruhusiwa kama itifaki ya uthibitisho.
Over Pass the Hash/Pass the KeyKatika mbinu ya shambulizi ya Pass The Ticket (PTT), washambuliaji wanaiba tiketi ya uthibitisho ya mtumiaji badala ya nenosiri lao au thamani za hash. Tiketi hii iliyibwa inatumika kisha kujifanya kuwa mtumiaji, ikipata ufikiaji usioidhinishwa kwa rasilimali na huduma ndani ya mtandao.
Pass the TicketIkiwa una hash au nenosiri la msimamizi wa ndani unapaswa kujaribu kuingia ndani kwenye PC nyingine kwa kutumia hiyo.
Kumbuka kwamba hii ni kelele na LAPS itapunguza.
Ikiwa mtumiaji ana mamlaka ya kufikia mifano ya MSSQL, anaweza kuweza kuitumia kutekeleza amri kwenye mwenyeji wa MSSQL (ikiwa inafanya kazi kama SA), kuiba NetNTLM hash au hata kufanya shambulio la relay. Pia, ikiwa mfano wa MSSQL unakubaliwa (kiungo cha database) na mfano mwingine wa MSSQL. Ikiwa mtumiaji ana mamlaka juu ya database iliyoaminika, atakuwa na uwezo wa kutumia uhusiano wa kuaminiana kutekeleza maswali pia kwenye mfano mwingine. Hizi kuaminiana zinaweza kuunganishwa na wakati fulani mtumiaji anaweza kupata database iliyo na makosa ambapo anaweza kutekeleza amri. Viungo kati ya databases vinafanya kazi hata katika kuaminiana kwa msitu.
MSSQL AD AbuseIkiwa unapata kitu chochote cha Kompyuta chenye sifa ADS_UF_TRUSTED_FOR_DELEGATION na una mamlaka ya eneo kwenye kompyuta, utaweza kutoa TGTs kutoka kwenye kumbukumbu ya kila mtumiaji anayeingia kwenye kompyuta. Hivyo, ikiwa Msimamizi wa Eneo anaingia kwenye kompyuta, utaweza kutoa TGT yake na kumwakilisha kwa kutumia Pass the Ticket. Shukrani kwa uwakilishi ulio na mipaka unaweza hata kudhoofisha Server ya Print (tunatumai itakuwa DC).
Unconstrained DelegationIkiwa mtumiaji au kompyuta inaruhusiwa kwa "Uwakilishi Ulio na Mipaka" itakuwa na uwezo wa kumwakilisha mtumiaji yeyote ili kufikia huduma fulani kwenye kompyuta. Kisha, ikiwa unadhoofisha hash ya mtumiaji/hii kompyuta utaweza kumwakilisha mtumiaji yeyote (hata wasimamizi wa eneo) ili kufikia huduma fulani.
Constrained DelegationKuwa na mamlaka ya ANDIKA kwenye kitu cha Active Directory cha kompyuta ya mbali kunaruhusu kupata utekelezaji wa msimbo na mamlaka ya juu:
Resource-based Constrained DelegationMtumiaji aliyeathiriwa anaweza kuwa na mamlaka ya kuvutia juu ya baadhi ya vitu vya eneo ambavyo vinaweza kukuruhusu kuhamasisha kwa upande/kuinua mamlaka.
Abusing Active Directory ACLs/ACEsKugundua huduma ya Spool inayosikiliza ndani ya eneo inaweza kudhulumiwa ili kupata akidi mpya na kuinua mamlaka.
Force NTLM Privileged AuthenticationIkiwa watumiaji wengine wanapata mashine iliyoathiriwa, inawezekana kukusanya akidi kutoka kwenye kumbukumbu na hata kuingiza beacons katika michakato yao ili kuwawakilisha. Kawaida watumiaji wataingia kwenye mfumo kupitia RDP, hivyo hapa kuna jinsi ya kufanya mashambulizi kadhaa juu ya vikao vya RDP vya wahusika wengine:
RDP Sessions AbuseLAPS inatoa mfumo wa kusimamia neno la siri la Msimamizi wa ndani kwenye kompyuta zilizounganishwa na eneo, kuhakikisha kuwa ni ya nasibu, ya kipekee, na mara kwa mara inabadilishwa. Maneno haya ya siri yanahifadhiwa katika Active Directory na ufikiaji unadhibitiwa kupitia ACLs kwa watumiaji walioidhinishwa tu. Kwa ruhusa ya kutosha ya kufikia maneno haya ya siri, kuhamasisha kwa kompyuta nyingine kunakuwa na uwezekano.
LAPSKukusanya vyeti kutoka kwenye mashine iliathiriwa kunaweza kuwa njia ya kuinua mamlaka ndani ya mazingira:
AD CS Certificate TheftIkiwa mipango dhaifu imewekwa inawezekana kuzitumia ili kuinua mamlaka:
AD CS Domain EscalationMara tu unapopata Msimamizi wa Eneo au hata bora Msimamizi wa Biashara, unaweza kutupa database ya eneo: ntds.dit.
Taarifa zaidi kuhusu shambulio la DCSync inaweza kupatikana hapa.
Taarifa zaidi kuhusu jinsi ya kuiba NTDS.dit inaweza kupatikana hapa
Baadhi ya mbinu zilizozungumziwa hapo awali zinaweza kutumika kwa uendelevu. Kwa mfano unaweza:
Kuwaweka watumiaji katika hatari ya Kerberoast
Kuwaweka watumiaji katika hatari ya ASREPRoast
Kutoa DCSync mamlaka kwa mtumiaji
Shambulio la Tiketi ya Fedha linaunda tiketi halali ya Huduma ya Kutoa Tiketi (TGS) kwa huduma maalum kwa kutumia hash ya NTLM (kwa mfano, hash ya akaunti ya PC). Njia hii inatumika ili kufikia mamlaka ya huduma.
Silver TicketShambulio la Tiketi ya Dhahabu linahusisha mshambuliaji kupata ufikiaji wa hash ya NTLM ya akaunti ya krbtgt katika mazingira ya Active Directory (AD). Akaunti hii ni maalum kwa sababu inatumika kusaini Tiketi za Kutoa Tiketi (TGTs), ambazo ni muhimu kwa uthibitishaji ndani ya mtandao wa AD.
Mara mshambuliaji anapata hash hii, anaweza kuunda TGTs kwa akaunti yoyote anayoichagua (shambulio la tiketi ya fedha).
Golden TicketHizi ni kama tiketi za dhahabu zilizoforgiwa kwa njia ambayo inasababisha kupita mifumo ya kawaida ya kugundua tiketi za dhahabu.
Diamond TicketKuwa na vyeti vya akaunti au kuwa na uwezo wa kuviomba ni njia nzuri ya kuwa na uwezo wa kuendelea katika akaunti za watumiaji (hata kama anabadilisha nenosiri):
AD CS Account PersistenceKutumia vyeti pia kunawezekana kuendelea na mamlaka ya juu ndani ya eneo:
AD CS Domain PersistenceKitu cha AdminSDHolder katika Active Directory kinahakikisha usalama wa vikundi vyenye mamlaka (kama Wasimamizi wa Eneo na Wasimamizi wa Biashara) kwa kutumia Orodha ya Udhibiti wa Ufikiaji (ACL) ya kawaida kati ya vikundi hivi ili kuzuia mabadiliko yasiyoidhinishwa. Hata hivyo, kipengele hiki kinaweza kudhulumiwa; ikiwa mshambuliaji atabadilisha ACL ya AdminSDHolder ili kutoa ufikiaji kamili kwa mtumiaji wa kawaida, mtumiaji huyo anapata udhibiti mkubwa juu ya vikundi vyote vyenye mamlaka. Kipimo hiki cha usalama, kilichokusudiwa kulinda, kinaweza hivyo kurudi nyuma, kuruhusu ufikiaji usiofaa isipokuwa ufuatiliwe kwa karibu.
Taarifa zaidi kuhusu Kundi la AdminDSHolder hapa.
Ndani ya kila Msimamizi wa Eneo (DC), akaunti ya msimamizi wa ndani inapatikana. Kwa kupata haki za usimamizi kwenye mashine kama hiyo, hash ya Msimamizi wa ndani inaweza kutolewa kwa kutumia mimikatz. Baada ya hii, mabadiliko ya rejista yanahitajika ili kuwezesha matumizi ya nenosiri hili, kuruhusu ufikiaji wa mbali kwa akaunti ya Msimamizi wa ndani.
DSRM CredentialsUnaweza kutoa baadhi ya mamlaka maalum kwa mtumiaji juu ya baadhi ya vitu maalum vya eneo ambavyo vitamruhusu mtumiaji kuinua mamlaka katika siku zijazo.
Abusing Active Directory ACLs/ACEsMaelezo ya usalama yanatumika kuhifadhi mamlaka ambayo kitu kina juu ya kitu. Ikiwa unaweza tu kufanya mabadiliko madogo katika maelezo ya usalama ya kitu, unaweza kupata mamlaka ya kuvutia juu ya kitu hicho bila kuhitaji kuwa mwanachama wa kundi lenye mamlaka.
Security DescriptorsBadilisha LSASS katika kumbukumbu ili kuanzisha neno la siri la ulimwengu, linalotoa ufikiaji kwa akaunti zote za eneo.
Skeleton KeyJifunze nini SSP (Mtoa Msaada wa Usalama) hapa. Unaweza kuunda SSP yako mwenyewe ili kukamata kwa maandishi wazi akidi zinazotumika kufikia mashine.\
Custom SSPInasajili Msimamizi mpya wa Eneo katika AD na kuitumia kushinikiza sifa (SIDHistory, SPNs...) kwenye vitu vilivyotajwa bila kuacha kumbukumbu kuhusu mabadiliko. Unahitaji ruhusa za DA na uwe ndani ya eneo la mzizi. Kumbuka kwamba ikiwa utatumia data mbaya, kumbukumbu mbaya sana zitaonekana.
DCShadowKabla tulijadili jinsi ya kuinua mamlaka ikiwa una ruhusa ya kutosha kusoma maneno ya siri ya LAPS. Hata hivyo, maneno haya ya siri yanaweza pia kutumika kuhifadhi uendelevu. Angalia:
LAPSMicrosoft inaona Msitu kama mpaka wa usalama. Hii inamaanisha kwamba kuathiri eneo moja kunaweza kusababisha msitu mzima kuathiriwa.
kuaminiana kwa eneo ni mekanismu ya usalama inayowezesha mtumiaji kutoka eneo moja kufikia rasilimali katika eneo lingine. Kimsingi inaunda uhusiano kati ya mifumo ya uthibitishaji ya maeneo mawili, ikiruhusu uthibitishaji kuhamasika bila shida. Wakati maeneo yanapoweka uhusiano wa kuaminiana, wanabadilishana na kuhifadhi funguo maalum ndani ya Msimamizi wao wa Eneo (DCs), ambazo ni muhimu kwa uaminifu wa uhusiano huo.
Katika hali ya kawaida, ikiwa mtumiaji anataka kufikia huduma katika eneo lililoaminika, lazima kwanza aombe tiketi maalum inayojulikana kama TGT ya kati kutoka DC ya eneo lake mwenyewe. TGT hii inashikiliwa kwa funguo ya pamoja ambayo maeneo yote mawili yamekubaliana. Mtumiaji kisha anawasilisha TGT hii kwa DC ya eneo lililoaminika ili kupata tiketi ya huduma (TGS). Baada ya kuthibitishwa kwa mafanikio kwa TGT ya kati na DC ya eneo lililoaminika, inatoa TGS, ikimpa mtumiaji ufikiaji wa huduma.
Hatua:
Kompyuta ya mteja katika Eneo 1 inaanza mchakato kwa kutumia hash ya NTLM kuomba Tiketi ya Kutoa Tiketi (TGT) kutoka kwa Msimamizi wake wa Eneo (DC1).
DC1 inatoa TGT mpya ikiwa mteja amethibitishwa kwa mafanikio.
Mteja kisha anaomba TGT ya kati kutoka DC1, ambayo inahitajika kufikia rasilimali katika Eneo 2.
TGT ya kati inashikiliwa kwa funguo ya kuaminiana iliyoshirikiwa kati ya DC1 na DC2 kama sehemu ya uhusiano wa kuaminiana wa pande mbili.
Mteja anachukua TGT ya kati kwa Msimamizi wa Eneo 2 (DC2).
DC2 inathibitisha TGT ya kati kwa kutumia funguo yake ya kuaminiana iliyoshirikiwa na, ikiwa ni halali, inatoa Huduma ya Kutoa Tiketi (TGS) kwa seva katika Eneo 2 ambayo mteja anataka kufikia.
Hatimaye, mteja anawasilisha TGS hii kwa seva, ambayo inashikiliwa kwa hash ya akaunti ya seva, ili kupata ufikiaji wa huduma katika Eneo 2.
Ni muhimu kutambua kwamba uaminifu unaweza kuwa wa njia 1 au njia 2. Katika chaguo la njia 2, maeneo yote mawili yatakuwa na uaminifu kwa kila mmoja, lakini katika uhusiano wa njia 1 moja ya maeneo itakuwa ya kuaminika na nyingine itakuwa ya kuamini. Katika kesi ya mwisho, utaweza tu kufikia rasilimali ndani ya eneo la kuamini kutoka eneo lililoaminika.
Ikiwa Eneo A linakuamini Eneo B, A ni eneo la kuamini na B ni eneo lililoaminika. Zaidi ya hayo, katika Eneo A, hii itakuwa uaminifu wa nje; na katika Eneo B, hii itakuwa uaminifu wa ndani.
Uhusiano tofauti wa kuamini
Uaminifu wa Mzazi-Mwana: Hii ni mipangilio ya kawaida ndani ya msitu mmoja, ambapo eneo la mtoto moja kwa moja lina uaminifu wa pande mbili na eneo lake la mzazi. Kimsingi, hii inamaanisha kwamba maombi ya uthibitishaji yanaweza kuhamasika bila shida kati ya mzazi na mtoto.
Uaminifu wa Msalaba: Inajulikana kama "uaminifu wa mkato," hizi zimeanzishwa kati ya maeneo ya watoto ili kuharakisha michakato ya rufaa. Katika misitu ngumu, rufaa za uthibitishaji kawaida zinahitaji kusafiri hadi mzizi wa msitu na kisha kushuka hadi eneo lengwa. Kwa kuunda viungo vya msalaba, safari inafupishwa, ambayo ni faida hasa katika mazingira yaliyosambazwa kijiografia.
Uaminifu wa Nje: Hizi zimeanzishwa kati ya maeneo tofauti, yasiyo na uhusiano na ni zisizo za kupitisha kwa asili. Kulingana na nyaraka za Microsoft, uaminifu wa nje ni muhimu kwa kufikia rasilimali katika eneo nje ya msitu wa sasa ambao haujaunganishwa na uaminifu wa msitu. Usalama unaboreshwa kupitia kuchuja SID na uaminifu wa nje.
Uaminifu wa Mti-Mzizi: Uaminifu huu huanzishwa moja kwa moja kati ya eneo la mzizi wa msitu na mzizi mpya wa mti ulioongezwa. Ingawa si kawaida kukutana, uaminifu wa mti-mzizi ni muhimu kwa kuongeza miti mipya ya eneo kwenye msitu, ikiruhusu kudumisha jina la kipekee la eneo na kuhakikisha kupitisha kwa pande mbili. Taarifa zaidi zinaweza kupatikana katika mwongozo wa Microsoft.
Uaminifu wa Msitu: Aina hii ya uaminifu ni uaminifu wa pande mbili wa kupitisha kati ya maeneo mawili ya mzizi wa msitu, pia ikilazimisha kuchuja SID ili kuboresha hatua za usalama.
Uaminifu wa MIT: Hizi zimeanzishwa na maeneo ya Kerberos yasiyo ya Windows, RFC4120-inayokubalika. Uaminifu wa MIT ni maalum zaidi na unalenga mazingira yanayohitaji ushirikiano na mifumo ya Kerberos nje ya mfumo wa Windows.
Uhusiano wa kuamini unaweza pia kuwa wa kupitisha (A inakuamini B, B inakuamini C, kisha A inakuamini C) au usio wa kupitisha.
Uhusiano wa kuamini unaweza kuwekwa kama uaminifu wa pande mbili (zote zinakuamini) au kama uaminifu wa njia moja (moja tu inakuamini nyingine).
Tathmini uhusiano wa kuamini
Angalia ikiwa kiongozi wa usalama (mtumiaji/kundi/kompyuta) ana ufikiaji wa rasilimali za eneo lingine, labda kwa njia ya entries za ACE au kwa kuwa katika vikundi vya eneo lingine. Angalia uhusiano kati ya maeneo (uaminifu ulianzishwa kwa hili labda).
kerberoast katika kesi hii inaweza kuwa chaguo lingine.
Dhulumu akaunti ambazo zinaweza kuhamasisha kupitia maeneo.
Kuna funguo 2 za kuaminika, moja kwa Mtoto --> Mzazi na nyingine kwa Mzazi --> Mtoto. Unaweza kutumia ile inayotumika na eneo la sasa kwa:
Pandisha kama msimamizi wa Enterprise kwa kutumia uaminifu na SID-History injection:
SID-History InjectionKuelewa jinsi Configuration Naming Context (NC) inavyoweza kutumika ni muhimu. Configuration NC inatumika kama hazina kuu ya data za usanidi katika msitu wa mazingira ya Active Directory (AD). Data hii inakopwa kwa kila Domain Controller (DC) ndani ya msitu, huku DC zenye uwezo wa kuandika zikihifadhi nakala inayoweza kuandikwa ya Configuration NC. Ili kutumia hili, mtu lazima awe na privileges za SYSTEM kwenye DC, bora iwe DC ya mtoto.
Link GPO to root DC site
Konteina ya Sites ya Configuration NC inajumuisha taarifa kuhusu tovuti za kompyuta zote zilizounganishwa na domain ndani ya msitu wa AD. Kwa kufanya kazi na privileges za SYSTEM kwenye DC yoyote, washambuliaji wanaweza kuunganisha GPOs kwenye tovuti za root DC. Kitendo hiki kinaweza kuathiri domain ya mzizi kwa kubadilisha sera zinazotumika kwenye tovuti hizi.
Kwa taarifa za kina, mtu anaweza kuchunguza utafiti kuhusu Bypassing SID Filtering.
Compromise any gMSA in the forest
Njia ya shambulio inahusisha kulenga gMSAs zenye mamlaka ndani ya domain. Funguo ya KDS Root, muhimu kwa kuhesabu nywila za gMSAs, inahifadhiwa ndani ya Configuration NC. Kwa kuwa na privileges za SYSTEM kwenye DC yoyote, inawezekana kufikia funguo ya KDS Root na kuhesabu nywila za gMSA yoyote ndani ya msitu.
Uchambuzi wa kina unaweza kupatikana katika majadiliano kuhusu Golden gMSA Trust Attacks.
Schema change attack
Njia hii inahitaji uvumilivu, ikisubiri kuundwa kwa vitu vipya vya AD vyenye mamlaka. Kwa kuwa na privileges za SYSTEM, mshambuliaji anaweza kubadilisha Schema ya AD ili kumpa mtumiaji yeyote udhibiti kamili juu ya makundi yote. Hii inaweza kusababisha ufikiaji usioidhinishwa na udhibiti wa vitu vipya vya AD vilivyoundwa.
Kusoma zaidi kunaweza kupatikana kwenye Schema Change Trust Attacks.
From DA to EA with ADCS ESC5
Ukatili wa ADCS ESC5 unalenga udhibiti wa vitu vya Public Key Infrastructure (PKI) ili kuunda kiolezo cha cheti kinachowezesha uthibitisho kama mtumiaji yeyote ndani ya msitu. Kwa kuwa vitu vya PKI vinapatikana ndani ya Configuration NC, kuathiri DC ya mtoto yenye uwezo wa kuandika kunaruhusu utekelezaji wa mashambulizi ya ESC5.
Maelezo zaidi kuhusu hili yanaweza kusomwa katika From DA to EA with ESC5. Katika hali ambazo hazina ADCS, mshambuliaji ana uwezo wa kuanzisha vipengele muhimu, kama ilivyojadiliwa katika Escalating from Child Domain Admins to Enterprise Admins.
Katika hali hii domeni yako inatambuliwa na nyingine ya nje ikikupa idhini zisizojulikana juu yake. Utahitaji kutafuta ni wakuu gani wa domeni yako wana ufikiaji gani juu ya domeni ya nje na kisha jaribu kuifanyia kazi:
External Forest Domain - OneWay (Inbound) or bidirectionalKatika hali hii domeni yako in amini baadhi ya mamlaka kwa kiongozi kutoka domeni tofauti.
Hata hivyo, wakati domeni inayoaminika na domeni inayooamini, domeni inayooaminika inaunda mtumiaji mwenye jina linaloweza kutabiriwa ambalo linatumia kama nenosiri nenosiri lililoaminika. Hii ina maana kwamba inawezekana kufikia mtumiaji kutoka kwenye domeni inayooamini ili kuingia kwenye ile inayooaminika ili kuhesabu na kujaribu kupandisha mamlaka zaidi:
External Forest Domain - One-Way (Outbound)Njia nyingine ya kuathiri domeni inayooaminika ni kutafuta kiungo cha SQL kilichoaminika kilichoundwa katika mwelekeo kinyume cha uaminifu wa domeni (ambayo si ya kawaida sana).
Njia nyingine ya kuathiri domeni inayooaminika ni kusubiri kwenye mashine ambapo mtumiaji kutoka kwenye domeni inayooaminika anaweza kufikia kuingia kupitia RDP. Kisha, mshambuliaji anaweza kuingiza msimbo katika mchakato wa kikao cha RDP na kufikia domeni ya asili ya mwathirika kutoka pale. Zaidi ya hayo, ikiwa mwathirika ameunganisha diski yake ngumu, kutoka kwenye mchakato wa kikao cha RDP mshambuliaji anaweza kuhifadhi backdoors kwenye kabrasha la kuanzisha la diski ngumu. Mbinu hii inaitwa RDPInception.
RDP Sessions AbuseHatari ya mashambulizi yanayotumia sifa ya historia ya SID katika uaminifu wa misitu inapunguziliwa mbali na SID Filtering, ambayo imewezeshwa kwa chaguo-msingi kwenye uaminifu wote wa kati ya misitu. Hii inategemea dhana kwamba uaminifu wa ndani ya misitu ni salama, ikizingatia msitu, badala ya domeni, kama mpaka wa usalama kulingana na msimamo wa Microsoft.
Hata hivyo, kuna mtego: filtering ya SID inaweza kuharibu programu na ufikiaji wa watumiaji, na kusababisha kuondolewa kwake mara kwa mara.
Kwa uaminifu wa kati ya misitu, kutumia Uthibitishaji wa Chaguo kunahakikisha kwamba watumiaji kutoka kwenye misitu miwili hawathibitishwi kiotomatiki. Badala yake, ruhusa maalum zinahitajika kwa watumiaji kufikia domeni na seva ndani ya domeni au msitu unaoamini.
Ni muhimu kutambua kwamba hatua hizi hazilindi dhidi ya matumizi mabaya ya Muktadha wa Jina la Configuration (NC) unaoweza kuandikwa au mashambulizi kwenye akaunti ya uaminifu.
Taarifa zaidi kuhusu uaminifu wa domeni katika ired.team.
Jifunze zaidi kuhusu jinsi ya kulinda hati hapa.\
Vikwazo vya Wasimamizi wa Domeni: Inapendekezwa kwamba Wasimamizi wa Domeni wanapaswa kuruhusiwa kuingia tu kwenye Wasimamizi wa Domeni, wakiepuka matumizi yao kwenye mwenyeji wengine.
Mamlaka ya Akaunti ya Huduma: Huduma hazipaswi kuendeshwa kwa mamlaka ya Wasimamizi wa Domeni (DA) ili kudumisha usalama.
Kikomo cha Mamlaka ya Muda: Kwa kazi zinazohitaji mamlaka ya DA, muda wao unapaswa kuwa mdogo. Hii inaweza kufanywa kwa: Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)
Kutekeleza udanganyifu kunahusisha kuweka mitego, kama vile watumiaji wa udanganyifu au kompyuta, zikiwa na sifa kama vile nenosiri ambazo hazitaisha au zimewekwa kama Zinazoaminika kwa Delegation. Njia ya kina inajumuisha kuunda watumiaji wenye haki maalum au kuwatia kwenye vikundi vya mamlaka ya juu.
Mfano wa vitendo unahusisha kutumia zana kama: Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
Zaidi kuhusu kutekeleza mbinu za udanganyifu zinaweza kupatikana kwenye Deploy-Deception kwenye GitHub.
Kwa Vitu vya Mtumiaji: Viashiria vya kutatanisha ni pamoja na ObjectSID isiyo ya kawaida, kuingia mara chache, tarehe za uundaji, na idadi ndogo ya nenosiri mbaya.
Viashiria vya Jumla: Kulinganisha sifa za vitu vya udanganyifu vinavyowezekana na zile za halali kunaweza kufichua kutokuelewana. Zana kama HoneypotBuster zinaweza kusaidia katika kutambua udanganyifu kama huo.
Kupita Ugunduzi wa Microsoft ATA:
Uhesabuji wa Watumiaji: Kuepuka uhesabuji wa kikao kwenye Wasimamizi wa Domeni ili kuzuia ugunduzi wa ATA.
Uigaji wa Tiketi: Kutumia funguo za aes kwa ajili ya uundaji wa tiketi husaidia kuepuka ugunduzi kwa kutokushuka hadi NTLM.
Mashambulizi ya DCSync: Kutekeleza kutoka kwa Wasimamizi wa Domeni sio pendekezo, kwani kutekeleza moja kwa moja kutoka kwa Wasimamizi wa Domeni kutasababisha arifa.
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)