Открыть сервисСервис

Mimikatz

Mimikatz — это свободно распространяемая утилита с открытым исходным кодом, предназначенная для извлечения учётных данных (паролей, хешей, билетов Kerberos и ключей) из памяти операционных систем семейства Microsoft Windows. Разработанная французским специалистом по информационной безопасности Бенжаменом Дельпи (известным под псевдонимом Gentil Kiwi), программа стала одним из наиболее известных инструментов в области тестирования на проникновение (пентеста) и одновременно — популярным средством в арсенале злоумышленников.

История

Разработка Mimikatz началась в 2007 году как хобби-проект Бенжамена Дельпи. Первоначальная цель заключалась в демонстрации уязвимости механизмов хранения паролей в операционной системе Windows. Первая публичная версия была выпущена в 2011 году и вызвала значительный резонанс в сообществе специалистов по информационной безопасности, поскольку продемонстрировала возможность извлечения паролей в открытом виде из памяти процесса lsass.exe (Local Security Authority Subsystem Service).

В 2012 году проект привлёк внимание Microsoft. Корпорация признала существование проблемы и начала работу над исправлениями, однако полностью устранить возможность извлечения учётных данных из памяти не удалось из-за архитектурных особенностей Windows. В последующие годы Mimikatz активно развивался: были добавлены модули для работы с билетами Kerberos, дампами памяти, а также для атак типа Pass-the-Hash и Pass-the-Ticket.

К 2020-м годам Mimikatz стал неотъемлемой частью многих фреймворков для тестирования на проникновение, таких как Metasploit и Empire. Исходный код проекта доступен на GitHub, что способствовало его широкому распространению и модификации.

Архитектура и принцип работы

Mimikatz представляет собой консольное приложение, работающее в интерактивном режиме. Утилита состоит из набора модулей, каждый из которых отвечает за определённый тип атаки или извлечения данных. Основные компоненты включают:

  • sekurlsa — модуль для доступа к памяти процесса lsass.exe и извлечения хранящихся там учётных данных.
  • kerberos — модуль для работы с билетами Kerberos, включая их создание, модификацию и инъекцию.
  • crypto — модуль для работы с криптографическими операциями, включая расшифровку хешей.
  • privilege — модуль для управления привилегиями процесса.
  • lsadump — модуль для дампа данных из локальной базы Security Account Manager (SAM) и Active Directory.

Извлечение паролей из памяти

Основной функцией Mimikatz является чтение памяти процесса lsass.exe, который отвечает за аутентификацию пользователей в Windows. В этой памяти Windows хранит пароли в открытом виде для поддержки таких функций, как Single Sign-On (SSO) и смена паролей. Mimikatz использует системные вызовы для получения доступа к этой памяти и последующего парсинга структур данных для извлечения учётных данных.

Атаки на основе хешей

Mimikatz поддерживает несколько классических атак на аутентификацию Windows:

  • Pass-the-Hash — атака, при которой злоумышленник использует извлечённый хеш пароля (NTLM-хеш) для аутентификации на удалённых системах без необходимости знать сам пароль.
  • Pass-the-Ticket — атака, при которой используется билет Kerberos (Ticket Granting Ticket, TGT) для получения доступа к ресурсам домена.
  • Overpass-the-Hash — атака, при которой NTLM-хеш преобразуется в билет Kerberos для последующей аутентификации.

Работа с Kerberos

Модуль kerberos позволяет создавать «золотые» (Golden Ticket) и «серебряные» (Silver Ticket) билеты Kerberos. Золотой билет даёт неограниченный доступ ко всем ресурсам домена, если злоумышленник знает хеш учётной записи KRBTGT. Серебряный билет предоставляет доступ к конкретному сервису.

Применение

Тестирование на проникновение

Mimikatz широко используется специалистами по информационной безопасности для проверки защищённости корпоративных сетей. С его помощью можно выявить слабые места в конфигурации безопасности Windows, такие как хранение паролей в открытом виде в памяти, отсутствие ограничений на использование атак Pass-the-Hash и недостаточную защиту контроллеров домена.

Исследования в области безопасности

Утилита служит инструментом для изучения механизмов аутентификации Windows и поиска новых уязвимостей. Исследователи безопасности используют Mimikatz для анализа изменений в архитектуре безопасности новых версий Windows.

Злонамеренное использование

Mimikatz стал одним из самых распространённых инструментов в атаках программ-вымогателей (ransomware), таких как NotPetya и Ryuk. Злоумышленники используют Mimikatz для повышения привилегий в скомпрометированной сети и получения доступа к учётным записям администраторов домена. Программа также применяется в рамках advanced persistent threat (APT) атак для закрепления в сети и кражи учётных данных.

Защита от Mimikatz

Microsoft и сообщество специалистов по безопасности разработали ряд мер для снижения эффективности Mimikatz:

  • Включение Credential Guard — функция Windows Defender Credential Guard изолирует процесс lsass.exe в виртуализированной среде, что затрудняет доступ к его памяти из пользовательского режима.
  • Отключение хранения паролей в открытом виде — настройка групповых политик для запрета хранения паролей в памяти (например, политика «Не разрешать сохранение паролей»).
  • Ограничение привилегий — минимизация количества учётных записей с правами администратора домена.
  • Использование LAPS (Local Administrator Password Solution) — решение Microsoft для управления паролями локальных администраторов, которое регулярно меняет их и хранит в Active Directory.
  • Мониторинг событий безопасности — настройка систем обнаружения вторжений (IDS) и систем управления информацией и событиями безопасности (SIEM) для выявления характерных признаков работы Mimikatz (например, событий с кодом 4672 или 4624).
  • Обновление операционной системы — установка последних обновлений безопасности, которые могут закрывать отдельные векторы атак, используемые Mimikatz.

Критика и ограничения

Mimikatz критикуется за то, что его широкое распространение и простота использования облегчают проведение атак даже неопытным злоумышленникам. С другой стороны, сторонники открытого кода утверждают, что доступность инструмента способствует повышению общей безопасности, так как вынуждает разработчиков и администраторов активнее внедрять защитные меры.

Основные ограничения утилиты включают:

  • Необходимость наличия прав администратора на целевой системе для доступа к памяти lsass.exe.
  • Невозможность работы в системах с включённым Credential Guard (хотя существуют методы обхода, например, использование драйверов ядра).
  • Зависимость от версии Windows и установленных обновлений — некоторые функции могут быть заблокированы или изменены в новых версиях ОС.

Интересные факты

  • Название «Mimikatz» происходит от французского «mimi» (уменьшительное от «милый») и «katz» (немецкое «кошка»), что можно перевести как «милая кошечка».
  • Бенжамен Дельпи создал Mimikatz в качестве демонстрации, не предполагая, что инструмент станет настолько популярным в криминальной среде.
  • В 2017 году атака с использованием Mimikatz стала ключевым элементом эпидемии программы-вымогателя NotPetya, которая нанесла ущерб на миллиарды долларов по всему миру.
  • Microsoft неоднократно пыталась ограничить функциональность Mimikatz, выпуская обновления безопасности, но полностью устранить возможность извлечения учётных данных из памяти не удалось из-за фундаментальных архитектурных решений Windows.

Источники

  • Benjamin Delpy. Mimikatz: A Little Tool to Play with Windows Security. — 2011.
  • Microsoft Security Response Center. Guidance on Credential Guard. — 2015.
  • Sean Metcalf. Active Directory Security: Mimikatz and Pass-the-Hash. — 2016.
  • National Institute of Standards and Technology (NIST). Guide to Securing Windows. — 2018.
  • CrowdStrike. NotPetya Technical Analysis Report. — 2017.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru