Windows Local Privilege Escalation
Zana Bora ya Kutafuta Vekta za Kupandisha Mamlaka ya Kipekee kwenye Windows: WinPEAS
Nadharia ya Awali ya Windows
Vitambulisho vya Kufikia
Ikiwa haujui ni nini Vitambulisho vya Kufikia vya Windows, soma ukurasa ufuatao kabla ya kuendelea:
pageAccess TokensACLs - DACLs/SACLs/ACEs
Angalia ukurasa ufuatao kwa maelezo zaidi kuhusu ACLs - DACLs/SACLs/ACEs:
pageACLs - DACLs/SACLs/ACEsViwango vya Uadilifu
Ikiwa haujui ni nini viwango vya uadilifu katika Windows unapaswa kusoma ukurasa ufuatao kabla ya kuendelea:
pageIntegrity LevelsUdhibiti wa Usalama wa Windows
Kuna mambo tofauti katika Windows ambayo yanaweza kukuzuia kuchambua mfumo, kutekeleza programu za kutekelezeka au hata kugundua shughuli zako. Unapaswa kusoma ukurasa ufuatao na kuchambua mifumo hii yote ya ulinzi kabla ya kuanza uchambuzi wa kupandisha mamlaka ya kipekee:
pageWindows Security ControlsTaarifa za Mfumo
Uchambuzi wa Taarifa za Toleo
Angalia kama toleo la Windows lina kasoro yoyote inayojulikana (angalia pia visasa vilivyotekelezwa).
Mashambulizi ya Toleo
Hii tovuti ni muhimu kwa kutafuta habari za kina kuhusu udhaifu wa usalama wa Microsoft. Hii database ina zaidi ya udhaifu wa usalama 4,700, ikionyesha eneo kubwa la mashambulizi ambalo mazingira ya Windows yanatoa.
Kwenye mfumo
post/windows/gather/enum_patches
post/multi/recon/local_exploit_suggester
winpeas (Winpeas ina watson iliyowekwa)
Kwa habari za mfumo kwa ndani
Makusanyo ya Github ya mashambulizi:
Mazingira
Je, kuna siri yoyote/taarifa muhimu iliyohifadhiwa kwenye mazingira ya mazingira?
Historia ya PowerShell
Faili za Uandishi wa PowerShell
Unaweza kujifunza jinsi ya kuwasha hii kwenye https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/
Kupachika Moduli wa PowerShell
Maelezo ya utekelezaji wa mfuatano wa PowerShell yanarekodiwa, yakijumuisha amri zilizotekelezwa, mwaliko wa amri, na sehemu za hati. Walakini, maelezo kamili ya utekelezaji na matokeo ya pato huenda yakawa hayajachukuliwa.
Ili kuwezesha hili, fuata maagizo katika sehemu ya "Faili za Nakala" ya nyaraka, ukipendelea "Kupachika Moduli" badala ya "Nakala ya PowerShell".
Ili kuona matukio 15 ya mwisho kutoka kwenye magogo ya Powershell unaweza kutekeleza:
Kumbukumbu ya Kuzuia Bloki ya Script
Shughuli kamili na rekodi kamili ya yale yanayotekelezwa na script inakamatwa, ikahakikisha kuwa kila bloki ya nambari inadokumentiwa wakati inatekelezwa. Mchakato huu unahifadhi reli kamili ya ukaguzi wa kila shughuli, muhimu kwa uchunguzi wa kisayansi na uchambuzi wa tabia mbaya. Kwa kudokumenti shughuli zote wakati wa utekelezaji, ufahamu wa kina kuhusu mchakato unatolewa.
Kumbukumbu za matukio kwa Block ya Script zinaweza kupatikana ndani ya Mwangalizi wa Matukio ya Windows kwenye njia: Vitendo na Huduma za Kumbukumbu > Microsoft > Windows > PowerShell > Uendeshaji. Kuona matukio 20 ya mwisho unaweza kutumia:
Mipangilio ya Mtandao
Madereva
WSUS
Unaweza kudukua mfumo ikiwa visasisho havijaulizwa kutumia httpS bali http.
Anza kwa kuangalia ikiwa mtandao unatumia sasisho la WSUS lisilotumia SSL kwa kukimbia amri ifuatayo:
Ikiwa unapata jibu kama hili:
Na ikiwa HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer
ni sawa na 1
.
Kisha, inaweza kutumiwa kwa faida. Ikiwa usajili wa mwisho ni sawa na 0, basi, kuingia kwa WSUS itapuuzwa.
Ili kutumia udhaifu huu unaweza kutumia zana kama: Wsuxploit, pyWSUS - Hizi ni hati za kudukua zilizotumiwa kama silaha za MiTM kuingiza sasisho za 'bandia' katika trafiki ya WSUS isiyo ya SSL.
Soma utafiti hapa:
WSUS CVE-2020-1013
Soma ripoti kamili hapa. Kimsingi, hii ndio kasoro ambayo kosa hili linatumia:
Ikiwa tuna uwezo wa kurekebisha proksi yetu ya mtumiaji wa ndani, na Sasisho za Windows hutumia proksi iliyoconfigure katika mipangilio ya Internet Explorer, kwa hivyo tuna uwezo wa kutekeleza PyWSUS kwa usalama kuingilia trafiki yetu wenyewe na kutekeleza nambari kama mtumiaji aliyeinuliwa kwenye mali yetu.
Zaidi ya hayo, tangu huduma ya WSUS hutumia mipangilio ya mtumiaji wa sasa, itatumia pia hifadhi yake ya vyeti. Ikiwa tunazalisha cheti cha kujisaini kwa jina la mwenyeji wa WSUS na kuongeza cheti hiki kwenye hifadhi ya vyeti ya mtumiaji wa sasa, tutaweza kuingilia trafiki ya WSUS ya HTTP na HTTPS. WSUS haitumii mbinu kama HSTS kutekeleza uthibitisho wa aina ya kuamini kwa matumizi ya kwanza kwenye cheti. Ikiwa cheti kilichowasilishwa kinaaminika na mtumiaji na kina jina la mwenyeji sahihi, kitakubaliwa na huduma.
Unaweza kutumia udhaifu huu kwa kutumia zana WSUSpicious (baada ya kutolewa).
KrbRelayUp
Kuna udhaifu wa kupandisha hadhi kwa eneo la ndani katika mazingira ya uwanja wa Windows chini ya hali maalum. Hali hizi ni pamoja na mazingira ambapo saini ya LDAP haijaamriwa, watumiaji wanamiliki haki za kujiconfigure Uteuzi wa Kizuizi Uliopatikana kwa Rasilimali (RBCD), na uwezo wa watumiaji kuunda kompyuta ndani ya uwanja. Ni muhimu kutambua kuwa mahitaji haya yanakidhiwa kwa kutumia mipangilio ya msingi.
Pata udukuzi katika https://github.com/Dec0ne/KrbRelayUp
Kwa habari zaidi kuhusu mchakato wa shambulio angalia https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/
AlwaysInstallElevated
Ikiwa hizi 2 hujisajili zime wezeshwa (thamani ni 0x1), basi watumiaji wa aina yoyote ya haki wanaweza kusanikisha (kutekeleza) faili za *.msi
kama NT AUTHORITY\SYSTEM.
Malipo ya Metasploit
Ikiwa una kikao cha meterpreter unaweza kiotomatisha mbinu hii kwa kutumia moduli exploit/windows/local/always_install_elevated
PowerUP
Tumia amri Write-UserAddMSI
kutoka kwa power-up ili kuunda ndani ya saraka ya sasa faili ya Windows MSI ili kuinua mamlaka. Skripti hii hutoa mshughulikaji wa MSI uliopangwa mapema ambao unauliza kuongeza mtumiaji/kikundi (hivyo utahitaji ufikivu wa GIU):
Kifanye Utekelezaji wa MSI
Ili kutekeleza ufungaji wa faili ya .msi
yenye nia mbaya kwa nyuma:
Kutumia udhaifu huu unaweza kutumia: exploit/windows/local/always_install_elevated
Programu ya Kupambana na Virusi na Detectors
Mipangilio ya Ukaguzi
Mipangilio hii inaamua ni nini kinachopigwa kumbukumbu, hivyo unapaswa kutilia maanani
WEF
Windows Event Forwarding, ni ya kuvutia kujua wapi zinapelekwa kumbukumbu.
LAPS
LAPS imeundwa kwa usimamizi wa nywila za Wasimamizi wa Mitaa, ikuhakikisha kuwa kila nywila ni ya kipekee, imechanganywa, na updated mara kwa mara kwenye kompyuta zilizounganishwa kwenye kikoa. Nywila hizi zimehifadhiwa kwa usalama ndani ya Active Directory na zinaweza kupatikana tu na watumiaji ambao wamepewa ruhusa za kutosha kupitia ACLs, kuwaruhusu kuona nywila za wasimamizi wa mitaa ikiwa wameruhusiwa.
pageLAPSWDigest
Ikiwa imeanzishwa, nywila za maandishi wazi zimehifadhiwa kwenye LSASS (Local Security Authority Subsystem Service). Maelezo zaidi kuhusu WDigest kwenye ukurasa huu.
Kinga ya LSA
Kuanzia Windows 8.1, Microsoft iliingiza kinga iliyoboreshwa kwa Mamlaka ya Usalama wa Ndani (LSA) ili kuzuia jaribio la michakato isiyosadikika kusoma kumbukumbu yake au kuingiza namna ya kanuni, ikilinda mfumo zaidi. Maelezo zaidi kuhusu Kinga ya LSA hapa.
Mlinzi wa Vyeti
Mlinzi wa Vyeti uliingizwa katika Windows 10. Lengo lake ni kulinda vyeti vilivyohifadhiwa kwenye kifaa dhidi ya vitisho kama mashambulizi ya pass-the-hash.| Maelezo zaidi kuhusu Mlinzi wa Vyeti hapa.
Maelezo ya Mipokezi Iliyohifadhiwa
Mipokezi ya kikoa huthibitishwa na Mamlaka ya Usalama wa Ndani (LSA) na hutumiwa na vipengele vya mfumo wa uendeshaji. Wakati data ya kuingia ya mtumiaji inathibitishwa na pakiti ya usalama iliyosajiliwa, kawaida mipokezi ya kikoa kwa mtumiaji huanzishwa. Maelezo zaidi kuhusu Mipokezi Iliyohifadhiwa hapa.
Watumiaji & Vikundi
Kuchunguza Watumiaji & Vikundi
Unapaswa kuangalia ikiwa kuna kikundi chochote ambacho unahusika nacho kina ruhusa za kuvutia
Vikundi vya haki za juu
Ikiwa unaingia katika kundi la haki za juu unaweza kuinua haki za upendeleo. Jifunze kuhusu vikundi vya haki za juu na jinsi ya kuzitumia vibaya kuinua haki za upendeleo hapa:
pagePrivileged GroupsUjanja wa Token
Jifunze zaidi kuhusu ni nini token katika ukurasa huu: Windows Tokens. Angalia ukurasa ufuatao kujifunza kuhusu token za kuvutia na jinsi ya kuzitumia vibaya:
pageAbusing TokensWatumiaji waliingia / Vikao
Vyeo vya Nyumbani
Sera ya Nywila
Pata maudhui ya ubao wa kunakili
Mchakato wa Kufanya Kazi
Mamlaka ya Faili na Folda
Kwanza kabisa, orodhesha mchakato angalia nywila ndani ya mstari wa amri ya mchakato. Angalia kama unaweza kubadilisha baadhi ya faili za kutekelezwa zinazoendeshwa au kama una ruhusa ya kuandika kwenye folda ya faili za kutekelezwa kutumia mashambulizi ya DLL Hijacking:
Hakikisha kila wakati kuna wadukuzi wa electron/cef/chromium wanaofanya kazi, unaweza kuitumia kwa faida ya kuinua mamlaka.
Kuangalia ruhusa za mchakato wa faili za binary
Kuangalia ruhusa za folda za mchakato wa binaries (DLL Hijacking)
Kuchimba Nywila za Kumbukumbu
Unaweza kuunda kumbukumbu ya mchakato unaoendelea kutumia procdump kutoka kwa sysinternals. Huduma kama FTP ina nywila wazi kwenye kumbukumbu, jaribu kuchimba kumbukumbu na kusoma nywila.
Programu za GUI zisizo salama
Programu zinazoendeshwa kama SYSTEM zinaweza kuruhusu mtumiaji kuanzisha CMD, au kutazama directories.
Mfano: "Msaada na Usaidizi wa Windows" (Windows + F1), tafuta "amri ya amri", bofya "Bonyeza kufungua Amri ya Amri"
Huduma
Pata orodha ya huduma:
Ruhusa
Unaweza kutumia sc kupata habari ya huduma
Ni vyema kuwa na binary accesschk kutoka Sysinternals ili kuangalia kiwango cha ruhusa kinachohitajika kwa kila huduma.
Ni vyema kuchunguza ikiwa "Watumiaji Waliothibitishwa" wanaweza kurekebisha huduma yoyote:
Unaweza kupakua accesschk.exe kwa XP hapa
Wezesha huduma
Ikiwa una kosa hili (kwa mfano na SSDPSRV):
Kosa la mfumo 1058 limetokea. Huduma haiwezi kuanzishwa, ama kwa sababu imelemazwa au kwa sababu haina vifaa vilivyowezeshwa vinavyohusiana nayo.
Unaweza kuwezesha kwa kutumia
Chukua kufahamu kwamba huduma ya upnphost inategemea SSDPSRV kufanya kazi (kwa XP SP1)
Mbinu nyingine ya tatizo hili ni kukimbia:
Badilisha njia ya binary ya huduma
Katika hali ambapo kikundi cha "Watumiaji waliothibitishwa" wanamiliki SERVICE_ALL_ACCESS kwenye huduma, ubadilishaji wa binary ya kutekelezeka ya huduma ni wa kufanyika. Ili kubadilisha na kutekeleza sc:
Anza tena huduma
Upendeleo unaweza kuongezeka kupitia idhini mbalimbali:
SERVICE_CHANGE_CONFIG: Inaruhusu upya usanidi wa faili ya huduma.
WRITE_DAC: Inawezesha upya idhini, ikiongoza kwa uwezo wa kubadilisha usanidi wa huduma.
WRITE_OWNER: Inaruhusu kupata umiliki na upya wa idhini.
GENERIC_WRITE: Inarithi uwezo wa kubadilisha usanidi wa huduma.
GENERIC_ALL: Pia inarithi uwezo wa kubadilisha usanidi wa huduma.
Kwa kugundua na kutumia udhaifu huu, exploit/windows/local/service_permissions inaweza kutumika.
Mchanganyiko dhaifu wa idhini za faili za huduma
Angalia ikiwa unaweza kuhariri faili ya binari inayotekelezwa na huduma au ikiwa una idhini za kuandika kwenye folda ambapo binari hiyo iko (DLL Hijacking). Unaweza kupata kila faili ya binari inayotekelezwa na huduma kwa kutumia wmic (siyo katika system32) na angalia idhini zako kwa kutumia icacls:
Unaweza pia kutumia sc na icacls:
Vibali vya Kubadilisha Usajili wa Huduma
Unapaswa kuangalia ikiwa unaweza kubadilisha usajili wa huduma yoyote. Unaweza kuangalia vibali vyako juu ya usajili wa huduma kwa kufanya:
Ili kuhakikisha ikiwa Watumiaji Waliothibitishwa au NT AUTHORITY\INTERACTIVE wanamiliki ruhusa za FullControl
. Ikiwa ndivyo, faili ya binary inayotekelezwa na huduma inaweza kubadilishwa.
Kubadilisha Njia ya faili ya binary inayotekelezwa:
Huduma za ruhusa ya Usajili wa AppendData/AddSubdirectory
Ikiwa una ruhusa hii juu ya usajili hii inamaanisha unaweza kuunda usajili wa chini kutoka kwa huu. Kwa huduma za Windows hii ni ya kutosha kutekeleza nambari ya kupindukia:
pageAppendData/AddSubdirectory permission over service registryNjia za Huduma zisizo na Alama
Ikiwa njia ya kutekelezwa haipo ndani ya alama, Windows itajaribu kutekeleza kila mwisho kabla ya nafasi.
Kwa mfano, kwa njia C:\Program Files\Some Folder\Service.exe Windows itajaribu kutekeleza:
Orodhesha njia zote za huduma ambazo hazijatajwa, isipokuwa zile zinazomilikiwa na huduma za Windows zilizojengwa:
Unaweza kugundua na kutumia hitilafu hii kwa metasploit: exploit/windows/local/trusted\_service\_path
Unaweza kuunda kiwango cha huduma kwa mikono na metasploit:
Hatua za Kurejesha
Windows inaruhusu watumiaji kuteua hatua zitakazochukuliwa ikiwa huduma itashindwa. Kipengele hiki kinaweza kusanidiwa kuashiria kwenye faili ya binary. Ikiwa faili hii ya binary inaweza kubadilishwa, inawezekana kwa mchakato wa kupandisha mamlaka. Maelezo zaidi yanaweza kupatikana katika hati rasmi.
Matumizi
Matumizi Yaliyosakinishwa
Angalia ruhusa za faili za binary (labda unaweza kuzibadilisha moja na kupandisha mamlaka) na folda (Udukuzi wa DLL).
Uandishi wa ruhusa
Angalia ikiwa unaweza kuhariri faili ya usanidi ili kusoma faili maalum au ikiwa unaweza kuhariri faili fulani ya binary ambayo itatekelezwa na akaunti ya Msimamizi (schedtasks).
Njia ya kupata ruhusa dhaifu za folda/faili katika mfumo ni kufanya:
Kukimbia wakati wa kuanza
Angalia ikiwa unaweza kubadilisha usajili au faili fulani ambayo itatekelezwa na mtumiaji tofauti. Soma ukurasa ifuatayo ili kujifunza zaidi kuhusu maeneo ya autoruns ya kuvuka mamlaka:
pagePrivilege Escalation with AutorunsMadereva
Tafuta madereva ya tatu ya ajabu/hatarishi yanayowezekana
PATH DLL Hijacking
Ikiwa una ruhusa ya kuandika ndani ya folda iliyopo kwenye PATH unaweza kuweza kuteka DLL inayopakiwa na mchakato na kupandisha vyeo.
Angalia ruhusa za folda zote kwenye PATH:
Kwa habari zaidi kuhusu jinsi ya kutumia ukaguzi huu:
pageWritable Sys Path +Dll Hijacking PrivescMtandao
Hisa
faili za mwenyeji
Angalia kompyuta nyingine zinazojulikana zilizowekwa kwa nguvu kwenye faili za mwenyeji
Vifaa vya Mtandao & DNS
Viokelea Wazi
Angalia huduma zilizozuiwa kutoka nje
Jedwali la Uelekezaji
Jedwali la ARP
Mipangilio ya Kizuizi cha Moto
Angalia ukurasa huu kwa amri zinazohusiana na Kizuizi cha Moto (orodha ya sheria, unda sheria, zima, zima...)
Zaidi amri za uchambuzi wa mtandao hapa
Windows Subsystem for Linux (wsl)
Binary bash.exe
inaweza pia kupatikana katika C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe
Ikiwa unapata mtumiaji wa mzizi unaweza kusikiliza kwenye bandari yoyote (wakati wa kwanza unapotumia nc.exe
kusikiliza kwenye bandari itauliza kupitia GUI ikiwa nc
inapaswa kuruhusiwa na firewall).
Kuanza bash kama root kwa urahisi, unaweza jaribu --default-user root
Unaweza kuchunguza mfumo wa faili wa WSL
kwenye folda C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Sifa za Windows
Sifa za Winlogon
Meneja wa Vyeti / Ghala la Windows
Kutoka https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault Ghala la Windows hifadhi vyeo vya mtumiaji kwa ajili ya seva, tovuti na programu nyingine ambazo Windows inaweza kuingia kiotomatiki kwa niaba ya watumiaji. Kwa mara ya kwanza, hii inaweza kuonekana kama watumiaji wanaweza kuhifadhi vyeo vyao vya Facebook, Twitter, Gmail n.k., ili kuingia kiotomatiki kupitia vivinjari. Lakini sivyo ilivyo.
Ghala la Windows hifadhi vyeo ambavyo Windows inaweza kuingia kiotomatiki kwa niaba ya watumiaji, hii inamaanisha kwamba programu yoyote ya Windows inayohitaji vyeo kufikia rasilimali (seva au tovuti) inaweza kutumia Meneja wa Vyeti & Ghala la Windows na kutumia vyeo vilivyotolewa badala ya watumiaji kuingiza jina la mtumiaji na nywila kila wakati.
Isipokuwa programu zinashirikiana na Meneja wa Vyeti, nadhani haiwezekani kwao kutumia vyeo kwa rasilimali iliyotolewa. Kwa hivyo, ikiwa programu yako inataka kutumia ghala, inapaswa kwa njia fulani kuwasiliana na meneja wa vyeti na kuomba vyeo kwa rasilimali hiyo kutoka kwenye ghala la kuhifadhi la msingi.
Tumia cmdkey
kuorodhesha vyeo vilivyohifadhiwa kwenye mashine.
Kisha unaweza kutumia runas
na chaguo la /savecred
ili kutumia sifa zilizohifadhiwa. Mfano ufuatao unaita faili ya mbali kupitia sehemu ya SMB.
Kutumia runas
na seti ya mibofyo iliyotolewa.
Tafadhali kumbuka kwamba mimikatz, lazagne, credentialfileview, VaultPasswordView, au kutoka Moduli ya Empire Powershells.
DPAPI
Kiolesura cha Programu ya Ulinzi wa Data (DPAPI) hutoa njia ya kifungashaji wa data kwa kutumia encryption ya symmetric, inayotumiwa sana ndani ya mfumo wa uendeshaji wa Windows kwa encryption ya symmetric ya funguo za faragha za asymmetric. Encryption hii hutumia siri ya mtumiaji au mfumo kuchangia kwa kiasi kikubwa kwa entropy.
DPAPI inawezesha encryption ya funguo kupitia funguo ya symmetric inayotokana na siri za kuingia za mtumiaji. Katika mazingira yanayohusisha encryption ya mfumo, inatumia siri za uthibitishaji wa kikoa cha mfumo.
Funguo za RSA za mtumiaji zilizo encryptwa, kwa kutumia DPAPI, hifadhiwa katika saraka %APPDATA%\Microsoft\Protect\{SID}
, ambapo {SID}
inawakilisha Kitambulisho cha Usalama cha mtumiaji. Funguo ya DPAPI, iliyoko pamoja na funguo kuu inayolinda funguo za faragha za mtumiaji katika faili moja, kwa kawaida inajumuisha 64 bytes za data ya nasibu. (Ni muhimu kutambua kwamba upatikanaji wa saraka hii umefungwa, ikizuia orodha ya maudhui yake kupitia amri ya dir
katika CMD, ingawa inaweza kuorodheshwa kupitia PowerShell).
Unaweza kutumia moduli ya mimikatz dpapi::masterkey
pamoja na hoja sahihi (/pvk
au /rpc
) kuidondoa.
Faili za siri zilizolindwa na nenosiri kuu kawaida zipo katika:
Unaweza kutumia moduli ya mimikatz dpapi::cred
na /masterkey
sahihi kufichua.
Unaweza kuchimbua DPAPI nyingi masterkeys kutoka kumbukumbu kwa kutumia moduli ya sekurlsa::dpapi
(ikiwa wewe ni root).
Sifa za PowerShell
Sifa za PowerShell mara nyingi hutumiwa kwa scripting na kazi za kiotomatiki kama njia ya kuhifadhi sifa zilizofichwa kwa urahisi. Sifa hizo zinalindwa kwa kutumia DPAPI, ambayo kwa kawaida inamaanisha zinaweza kufichuliwa tu na mtumiaji huyo huyo kwenye kompyuta ile ile zilizoundwa.
Kufichua sifa za PS kutoka kwenye faili inayozihifadhi unaweza kufanya hivi:
Wifi
Umeokoa Mawasiliano ya RDP
Unaweza kuzipata kwenye HKEY_USERS\<SID>\Software\Microsoft\Terminal Server Client\Servers\
na kwenye HKCU\Software\Microsoft\Terminal Server Client\Servers\
Amri Zilizotekelezwa Hivi Karibuni
Meneja wa Vitambulisho vya Kijijini cha Daktari
Tumia moduli ya Mimikatz dpapi::rdg
na /masterkey
sahihi kwa kudecrypt faili za .rdg
Unaweza kutoa masterkeys nyingi za DPAPI kutoka kumbukumbu na moduli ya Mimikatz sekurlsa::dpapi
Noti za Kukumbuka
Watoto mara nyingi hutumia programu ya StickyNotes kwenye vituo vya kazi vya Windows kuokoa manenosiri na habari nyingine, bila kufahamu kuwa ni faili ya database. Faili hii iko kwenye C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
na ni vyema kuitafuta na kuichunguza.
AppCmd.exe
Tafadhali kumbuka kuwa ili kupata nywila kutoka kwa AppCmd.exe unahitaji kuwa Msimamizi na kukimbia chini ya kiwango cha Uadilifu cha Juu.
AppCmd.exe iko katika saraka ya %systemroot%\system32\inetsrv\
.
Ikiwa faili hii ipo, basi kuna uwezekano kwamba baadhi ya siri zimeundwa na zinaweza kupatikana.
Msimbo huu ulichimbuliwa kutoka kwenye PowerUP:
SCClient / SCCM
Angalia kama C:\Windows\CCM\SCClient.exe
ipo.
Wakati wa kufunga, zinaendeshwa kwa mamlaka ya SYSTEM, wengi wao ni dhaifu kwa DLL Sideloading (Maelezo kutoka https://github.com/enjoiz/Privesc).
Faili na Usajili (Siri)
Putty Creds
Funguo za Mwenyeji wa SSH za Putty
Vipuli vya SSH kwenye rejista
Vipuli vya kibinafsi vya SSH vinaweza kuhifadhiwa ndani ya ufunguo wa rejista HKCU\Software\OpenSSH\Agent\Keys
hivyo unapaswa kuangalia kama kuna kitu chochote cha kuvutia humo:
If you find any entry inside that path it will probably be a saved SSH key. It is stored encrypted but can be easily decrypted using https://github.com/ropnop/windows_sshagent_extract. Maelezo zaidi kuhusu mbinu hii hapa: https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/
If ssh-agent
service is not running and you want it to automatically start on boot run:
Inaonekana kama mbinu hii sio halali tena. Nilijaribu kuunda baadhi ya funguo za ssh, kuziweka kwa kutumia ssh-add
na kuingia kupitia ssh kwenye mashine. Usajili wa HKCU\Software\OpenSSH\Agent\Keys haupo na procmon haikubaini matumizi ya dpapi.dll
wakati wa uwakilishi wa funguo usio wa usawa.
Faili zisizohitaji kuingiliwa
Unaweza pia kutafuta faili hizi kwa kutumia metasploit: post/windows/gather/enum_unattend
Mfano wa maudhui:
Nakala za SAM & SYSTEM
Vyeti vya Wingu
McAfee SiteList.xml
Tafuta faili inayoitwa SiteList.xml
Cached GPP Password
Kipengele kilikuwepo hapo awali ambacho kiliruhusu kupeleka akaunti za wasimamizi wa mitaa kwenye kikundi cha mashine kupitia Mapendeleo ya Sera ya Kikundi (GPP). Hata hivyo, njia hii ilikuwa na dosari kubwa za usalama. Kwanza, Vitu vya Sera ya Kikundi (GPOs), vilivyohifadhiwa kama faili za XML katika SYSVOL, vilikuwa vinaweza kufikiwa na mtumiaji yeyote wa kikoa. Pili, nywila ndani ya hizi GPPs, zilizofichwa kwa AES256 kwa kutumia ufunguo wa chaguo-msingi ulioelezewa hadharani, zingeweza kufichuliwa na mtumiaji yeyote aliyeidhinishwa. Hii ilileta hatari kubwa, kwani ingeweza kuruhusu watumiaji kupata mamlaka ya juu.
Ili kupunguza hatari hii, kazi ilibuniwa ili kutafuta faili za GPP zilizohifadhiwa kienyeji zikiwa na uga wa "cpassword" usio tupu. Kwa kupata faili kama hiyo, kazi hufichua nywila na kurudisha kitu cha PowerShell cha desturi. Kitu hiki kinajumuisha maelezo kuhusu GPP na eneo la faili, kusaidia katika kutambua na kurekebisha dosari hii ya usalama.
Tafuta katika C:\ProgramData\Microsoft\Group Policy\history
au katika C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history (kabla ya W Vista) kwa faili hizi:
Groups.xml
Services.xml
Scheduledtasks.xml
DataSources.xml
Printers.xml
Drives.xml
Kufichua cPassword:
Kutumia crackmapexec kupata nywila:
Mipangilio ya Wavuti ya IIS
Mfano wa web.config na siri:
Maelezo ya OpenVPN
Kumbukumbu
Uliza kwa siri za kibali
Unaweza kuomba mtumiaji aweke siri zake au hata siri za mtumiaji mwingine ikiwa unadhani anaweza kuzijua (tambua kwamba kuuliza moja kwa moja kwa mteja kuhusu siri ni hatari sana):
Jina la faili linalowezekana lenye siri
Faili zinazojulikana ambazo kwa wakati fulani zilikuwa na maneno ya siri kwa maandishi wazi au Base64
Tafuta faili zote zilizopendekezwa:
Vitambulisho katika RecycleBin
Unapaswa pia kuangalia Bin kutafuta vitambulisho ndani yake.
Kwa kupata nywila zilizohifadhiwa na programu kadhaa unaweza kutumia: http://www.nirsoft.net/password_recovery_tools.html
Ndani ya rejista
Vitufe vingine vya rejista vinavyowezekana na vitambulisho
Chimbua funguo za openssh kutoka kwenye usajili.
Historia ya Vivinjari
Unapaswa kuangalia kwenye dbs ambapo nywila kutoka Chrome au Firefox zimehifadhiwa. Pia angalia historia, alamisho na vipendwa vya vivinjari ili labda baadhi ya nywila zimehifadhiwa hapo.
Vyombo vya kuchimbua nywila kutoka kwenye vivinjari:
Mimikatz:
dpapi::chrome
Uwekaji wa COM DLL
Modeli ya Vitu vya Component (COM) ni teknolojia iliyojengwa ndani ya mfumo wa uendeshaji wa Windows inayoruhusu mawasiliano kati ya vipengele vya programu za lugha tofauti. Kila kipengele cha COM kina tambulisho kupitia ID ya darasa (CLSID) na kila kipengele hufunua utendaji kupitia moja au zaidi ya viunganishi, vilivyotambuliwa kupitia viambatanishi vya kitambulisho (IIDs).
Darasa za COM na viunganishi hutajwa kwenye usajili chini ya HKEY_CLASSES_ROOT\CLSID na HKEY_CLASSES_ROOT\Interface mtawalia. Usajili huu unajengwa kwa kuunganisha HKEY_LOCAL_MACHINE\Software\Classes + HKEY_CURRENT_USER\Software\Classes = HKEY_CLASSES_ROOT.
Ndani ya CLSIDs ya usajili huu, unaweza kupata usajili wa watoto InProcServer32 ambao una thamani ya msingi inayoashiria kwenye DLL na thamani inayoitwa ThreadingModel inayoweza kuwa Apartment (Thread Moja), Free (Thread nyingi), Both (Moja au Nyingi) au Neutral (Thread Neutral).
Kimsingi, ikiwa unaweza kuweka juu ya DLLs yoyote ambayo itatekelezwa, unaweza kupandisha vyeo ikiwa DLL hiyo itatekelezwa na mtumiaji tofauti.
Ili kujifunza jinsi wadukuzi wanavyotumia Utekelezaji wa COM kama mbinu ya uthabiti angalia:
pageCOM HijackingUtafutaji wa Jumla wa Nywila kwenye faili na usajili
Tafuta maudhui ya faili
Tafuta faili yenye jina fulani
Tafuta usajili kwa majina ya funguo na nywila
Zana zinazotafuta nywila
Zana ya MSF-Credentials Plugin ni programu-jalizi ya msf ambayo nimeunda programu-jalizi hii ili kutekeleza moja kwa moja kila moduli ya metasploit POST inayotafuta nywila ndani ya mhanga. Zana ya Winpeas inatafuta moja kwa moja faili zote zinazoendelea nywila zilizotajwa kwenye ukurasa huu. Zana ya Lazagne ni zana nyingine nzuri ya kuchimbua nywila kutoka kwenye mfumo.
Zana ya SessionGopher inatafuta vikao, majina ya watumiaji na nywila za zana kadhaa ambazo hifadhi data hii kwa maandishi wazi (PuTTY, WinSCP, FileZilla, SuperPuTTY, na RDP)
Mabano Yaliyovuja
Fikiria kwamba mchakato unaoendeshwa kama SYSTEM unafungua mchakato mpya (OpenProcess()
) ukiwa na upatikanaji kamili. Mchakato huo huo pia huanzisha mchakato mpya (CreateProcess()
) ukiwa na mamlaka madogo lakini ukiurithi mabano yote yaliyofunguliwa ya mchakato kuu. Kisha, ukikua na upatikanaji kamili wa mchakato uliopewa mamlaka madogo, unaweza kunasa mabano yaliyofunguliwa ya mchakato uliopewa mamlaka ulioanzishwa kwa kutumia OpenProcess()
na kuingiza shellcode.
Soma mfano huu kwa maelezo zaidi kuhusu jinsi ya kugundua na kutumia udhaifu huu.
Soma chapisho lingine hapa kwa maelezo kamili zaidi kuhusu jinsi ya kujaribu na kutumia mabano zaidi ya mchakato na nyuzi zilizorithiwa na viwango tofauti vya ruhusa (siyo upatikanaji kamili pekee).
Uigaji wa Mteja wa Mabomba Yaliyopewa Majina
Vipande vya kumbukumbu vilivyoshirikishwa, vinavyojulikana kama mabomba, huwezesha mawasiliano ya mchakato na uhamishaji wa data.
Windows hutoa kipengele kinachoitwa Mabomba Yaliyopewa Majina, kuruhusu mchakato usiohusiana kushiriki data, hata juu ya mitandao tofauti. Hii inafanana na muundo wa mteja/mhudumu, na majukumu yaliyofafanuliwa kama mhudumu wa mabomba yaliyopewa majina na mteja wa mabomba yaliyopewa majina.
Wakati data inatumwa kupitia bomba na mteja, mhudumu aliyeanzisha bomba ana uwezo wa kuchukua utambulisho wa mteja, ikizingatiwa kuwa una haki za SeImpersonate zinazohitajika. Kutambua mchakato uliopewa mamlaka unaozungumza kupitia bomba unaweza kumudu kunasua nafasi ya kupata mamlaka ya juu kwa kuchukua utambulisho wa mchakato huo mara unaposhirikiana na bomba uliloanzisha. Kwa maelekezo ya kutekeleza shambulio kama hilo, mwongozo mzuri unaweza kupatikana hapa na hapa.
Pia zana ifuatayo inaruhusu kukamata mawasiliano ya bomba lililopewa jina kwa kutumia zana kama burp: https://github.com/gabriel-sztejnworcel/pipe-intercept na zana hii inaruhusu kuorodhesha na kuona mabomba yote ili kupata privescs https://github.com/cyberark/PipeViewer
Mambo Mengine
Kufuatilia Mistari ya Amri kwa Manenosiri
Ukipata kabati kama mtumiaji, kunaweza kuwa na kazi zilizopangwa au michakato mingine inayotekelezwa ambayo inapitisha siri kwenye mstari wa amri. Skripti iliyo chini inakamata mistari ya amri ya michakato kila sekunde mbili na kulinganisha hali ya sasa na ile ya awali, ikitoa tofauti zozote.
Kuiba nywila kutoka kwa michakato
Kutoka kwa Mtumiaji wa Low Priv hadi NT\AUTHORITY SYSTEM (CVE-2019-1388) / Kupuuza UAC
Ikiwa una ufikiaji wa kiolesura cha picha (kupitia konsoli au RDP) na UAC imewezeshwa, katika baadhi ya toleo za Microsoft Windows inawezekana kuzindua terminal au michakato mingine kama "NT\AUTHORITY SYSTEM" kutoka kwa mtumiaji asiye na mamlaka.
Hii inawezesha kuinua mamlaka na kupuuza UAC wakati huo huo kwa kutumia kasoro hiyo hiyo. Aidha, hakuna haja ya kusakinisha kitu chochote na faili inayotumiwa wakati wa mchakato huo, imehakikiwa na kutolewa na Microsoft.
Baadhi ya mifumo iliyoathiriwa ni kama ifuatavyo:
Kutumia udhaifu huu, ni lazima ufanye hatua zifuatazo:
Unayo faili zote muhimu na habari katika hifadhi ya GitHub ifuatayo:
https://github.com/jas502n/CVE-2019-1388
Kutoka kwa Msimamizi wa Kati hadi Msimamizi wa Juu wa Uadilifu / Kizuizi cha UAC
Soma hii kujifunza kuhusu Viwango vya Uadilifu:
pageIntegrity LevelsKisha soma hii kujifunza kuhusu UAC na njia za kukiuka UAC:
pageUAC - User Account ControlKutoka kwa Uadilifu wa Juu hadi Mfumo
Huduma Mpya
Ikiwa tayari unatekelezwa kwenye mchakato wa Uadilifu wa Juu, njia ya kufikia SYSTEM inaweza kuwa rahisi tu kwa kuunda na kutekeleza huduma mpya:
AlwaysInstallElevated
Kutoka kwa mchakato wa High Integrity unaweza jaribu kuwezesha kuingiza kila wakati kwa kuingiza kila wakati na kufunga kifurushi cha .msi kutumia kifuniko cha .msi. Zaidi kuhusu funguo za usajili zinazohusika na jinsi ya kufunga kifurushi cha .msi hapa.
High + SeImpersonate uwezo wa System
Unaweza pata kanuni hapa.
Kutoka SeDebug + SeImpersonate hadi mamlaka kamili ya Token
Ikiwa una mamlaka ya token hizo (labda utapata hii katika mchakato tayari wa High Integrity), utaweza kufungua karibu mchakato wowote (sio mchakato uliolindwa) na mamlaka ya SeDebug, nakala ya token ya mchakato, na kuunda mchakato wa kupindukia na token hiyo. Kutumia mbinu hii kawaida huchagua mchakato wowote unaofanya kazi kama SYSTEM na mamlaka yote ya token (ndiyo, unaweza kupata mchakato wa SYSTEM bila mamlaka yote ya token). Unaweza kupata mfano wa kanuni inayotekeleza mbinu iliyopendekezwa hapa.
Pipes Zilizopewa Majina
Mbinu hii hutumiwa na meterpreter kwa kukuza getsystem
. Mbinu hii inajumuisha kuunda bomba kisha kuunda/kutumia huduma ya kuandika kwenye bomba hilo. Kisha, server ambayo iliunda bomba kwa kutumia mamlaka ya SeImpersonate
itaweza kuiga token ya mteja wa bomba (huduma) kupata mamlaka ya SYSTEM.
Ikiwa unataka kujifunza zaidi kuhusu mabomba yaliyopewa majina unapaswa kusoma hii.
Ikiwa unataka kusoma mfano wa jinsi ya kwenda kutoka kwa uadilifu wa juu hadi System kwa kutumia mabomba yaliyopewa majina unapaswa kusoma hii.
Dll Hijacking
Ikiwa unafanikiwa kuteka dll inayotumiwa na mchakato unaofanya kazi kama SYSTEM utaweza kutekeleza kanuni ya kupindukia na mamlaka hayo. Kwa hivyo Dll Hijacking pia ni muhimu kwa aina hii ya kukuza mamlaka, na, zaidi ya hayo, ni rahisi zaidi kufikia kutoka kwa mchakato wa uadilifu wa juu kwani itakuwa na ruhusa za kuandika kwenye folda zinazotumiwa kusoma dlls. Unaweza jifunze zaidi kuhusu Dll hijacking hapa.
Kutoka kwa Msimamizi au Huduma ya Mtandao hadi System
Kutoka KWA HUDUMA YA LOKALI au HUDUMA YA MTANDAO hadi mamlaka kamili
Soma: https://github.com/itm4n/FullPowers
Msaada Zaidi
Vyombo Vya Kufaa
Zana bora ya kutafuta vekta za kukuza mamlaka za ndani za Windows: WinPEAS
PS
PrivescCheck
PowerSploit-Privesc(PowerUP) -- Angalia kwa misconfigurations na faili nyeti (angalia hapa). Imegunduliwa.
JAWS -- Angalia kwa baadhi ya misconfigurations inayowezekana na kukusanya habari (angalia hapa).
privesc -- Angalia kwa misconfigurations
SessionGopher -- Inachambua habari za kikao kilichohifadhiwa cha PuTTY, WinSCP, SuperPuTTY, FileZilla, na RDP. Tumia -Thorough kwa ndani.
Invoke-WCMDump -- Inachambua siri kutoka kwa Meneja wa Sifa. Imegunduliwa.
DomainPasswordSpray -- Panya nywila zilizokusanywa kote kwenye kikoa
Inveigh -- Inveigh ni zana ya PowerShell ADIDNS/LLMNR/mDNS/NBNS spoofer na zana ya kati.
WindowsEnum -- Uchunguzi wa msingi wa Windows wa privesc
Sherlock ~~~~ -- Tafuta mapungufu yaliyojulikana ya privesc (IMEACHWA kwa Watson)
WINspect -- Uchunguzi wa ndani (Inahitaji Haki za Msimamizi)
Exe
Watson -- Tafuta mapungufu yaliyojulikana ya privesc (inahitaji kuchakatwa kwa kutumia VisualStudio) (iliyochakatwa mapema)
SeatBelt -- Inahesabu mwenyeji kutafuta misconfigurations (zana ya kukusanya habari zaidi kuliko privesc) (inahitaji kuchakatwa) (iliyochakatwa mapema)
LaZagne -- Inachambua siri kutoka kwa programu nyingi (exe iliyochakatwa mapema kwenye github)
SharpUP -- Bandari ya PowerUp kwenda C#
Beroot ~~~~ -- Angalia kwa misconfigurations (exe iliyochakatwa mapema kwenye github). Haipendekezi. Haiwezi kufanya kazi vizuri kwenye Win10.
Windows-Privesc-Check -- Angalia kwa misconfigurations inayowezekana (exe kutoka python). Haipendekezi. Haiwezi kufanya kazi vizuri kwenye Win10.
Bat
winPEASbat -- Zana iliyoundwa kulingana na chapisho hili (haina haja ya accesschk kufanya kazi vizuri lakini inaweza kutumia).
Local
Windows-Exploit-Suggester -- Inasoma matokeo ya systeminfo na kupendekeza mbinu za kufanya kazi (python ya ndani) Windows Exploit Suggester Next Generation -- Inasoma matokeo ya systeminfo na kupendekeza mbinu za kufanya kazi (python ya ndani)
Meterpreter
multi/recon/local_exploit_suggestor
Unapaswa kuchakata mradi kwa kutumia toleo sahihi la .NET (ona hii). Ili kuona toleo lililowekwa la .NET kwenye mwenyeji wa mwathiriwa unaweza kufanya:
Marejeo
Last updated