Mimikatz: история одного зловреда
Пять лет назад Беньямин Делпи вошел в свою комнату в гостинице «Президент» в Москве и обнаружил человека, одетого в темный костюм, который что-то делал в его ноутбуке.
Всего несколько минут назад, тогдашний 25-летний французский программист совершил быструю поездку на стойку регистрации, чтобы пожаловаться на интернет-соединение в комнате. Он приехал за два дня до того, как он должен был выступить на конференции по безопасности, и обнаружил, что Wi-Fi в гостинице нет, а гнездо Ethernet не работает. Внизу один из сотрудников отеля настаивал, чтобы он подождал, пока к нему не отправят техника, чтобы исправить неполадки. Дельпи отказалась, и вместо этого вернулся к себе в номер.
Открыв дверь номера, он увидел незнакомца, стоящего у стола комнаты с маленьким черным чемоданом, его пальцы поспешно что-то набирали на клавиатуре ноутбука Делпи, хотя на экране по-прежнему отображался заблокированный экран входа в Windows.
Человек пробормотал извинения на английском языке о своей карточке, работающей в неправильной комнате, проскочил мимо Делпи и вышел за дверь, прежде чем Делпи мог даже отреагировать. «Это было очень странно для меня, — говорит Делпи сегодня. «Как в шпионском фильме».
Cyberattack Series: Mimikatz
Делпи долго не мог понять, почему его ноутбук был целью человека в костюме. В нем содержалась тема его выступления на московской конференции — ранняя версия программы, которую он написал под названием «Mimikatz». Этот тонкий мощный инструмент взлома был разработан для того, чтобы отфильтровать пароль пользователя Windows из памяти компьютера, чтобы потом его можно было использовать для получения повторного доступа к этому компьютеру или к любым другим, доступным для учетной записи жертвы в той же сети. Русские, как и хакеры по всему миру, хотели получить исходный код Делпи.
За прошедшие годы Делпи выпустила этот код для публики, и Mimikatz стал вездесущим инструментом во всех хакерских проникновениях, позволяя злоумышленникам быстро перескакивать с одного подключенного компьютера в сети на следующий, как только они получают начальную точка опоры.
Совсем недавно он попал в центр внимания как компонент двух червей вымогателей, которые раздирали Украину и распространились по всей Европе, России и США: как NotPetya, так и прошлые месяцы BadRabbit вытеснили Mimikatz с пропущенными инструментами взлома NSA для создания автоматических атак чьи инфекции быстро насыщаются сетями с катастрофическими последствиями. Только NotPetya привела к параличу тысяч компьютеров в таких компаниях, как Maersk, Merck и FedEx, и, как полагают, причинила ущерб более чем на миллиард долларов.
ИТ-менеджер французского правительственного учреждения, которого он отказывается назвать, Делпи говорит, что он первоначально построил Mimikatz в качестве побочного проекта, чтобы узнать больше о безопасности Windows и языке программирования C, а также доказать Microsoft, что Windows содержит серьезную проблему безопасности в его обработке паролей.
Лекция о mimikatz
Его доказательная концепция достигла своего предполагаемого эффекта: в более поздних версиях Windows компания изменила свою систему аутентификации, чтобы сделать атаки, подобные Mimikatz, значительно сложнее. Но не раньше, чем инструмент Делпи вошел в арсенал каждого находчивого хакера на планете.
«Мимикац вовсе не был предназначен для нападавших, но это им помогло, — говорит Делпи. «Когда вы создаете что-то подобное, вы осознаете, что этот инструмент может использоваться и для темных делишек».
Даже сегодня, несмотря на попытки Microsoft исправить уязвимость, Mimikatz остается слишком полезным инструментом хакера, говорит Джейк Уильямс, тестировщик проникновения и основатель охранной фирмы Rendition Infosec. «Когда я прочитал отчет об угрозе безопасности, в котором говорится, что кто-то использовал Мимикац, я говорю: «Расскажите мне об одном, который этого не делает», — говорит Уильямс. «Каждый использует его, потому что он работает».
Секреты принятия
Mimikatz впервые стал ключевым хакерским активом благодаря своей способности использовать неясную функцию Windows под названием WDigest. Эта функция призвана сделать ее более удобным для корпоративных и государственных пользователей Windows, чтобы доказать свою идентичность различным приложениям в своей сети или в Интернете; он хранит свои учетные данные в памяти и автоматически повторно использует их, поэтому им нужно ввести свое имя пользователя и пароль только один раз.
Хотя Windows хранит эту копию пароля пользователя в зашифрованном виде, она также хранит копию секретного ключа, чтобы также расшифровать ее в памяти. «Это похоже на сохранение секретного пароля, защищенного паролем, в электронном письме с паролем в том же письме», — говорит Делпи.
Он сообщил об этой потенциальной уязвимости на странице поддержки Microsoft еще в 2011 году, но компания отмахнулась от этого предупреждения, ответив, что это незначительный недостаток. В конце концов, хакеру нужно будет получить глубокий доступ к машине жертвы, прежде чем он или она сможет достичь этого пароля в памяти. Microsoft эту ситуацию с Mimikatz изданию WIRED: «Важно отметить, что для развертывания этого инструмента требуется, чтобы система уже была скомпрометирована», — говорится в заявлении компании. «Чтобы помочь вам оставаться в безопасности, мы рекомендуем клиентам следовать рекомендациям по безопасности и применять последние обновления».
«Когда вы создадите что-то подобное навсегда, вы знаете, что его тоже может использовать плохая сторона».
создатель Mimikatz Бенджамин Делпи
Но Делпи увидел, что на практике система проверки подлинности Windows по-прежнему станет мощным шагом для хакеров, пытающихся расширить свою зараженность от одной машины до многих в сети. Если часть вредоносного ПО может запускаться с правами администратора, он может зачерпнуть зашифрованный пароль из памяти вместе с ключом для его расшифровки, а затем использовать их для доступа к другому компьютеру в сети. Если на этот компьютер был зарегистрирован другой пользователь, злоумышленник может запустить ту же программу на втором компьютере, чтобы украсть их пароль — и так далее.
Так что Дельпи закодировал Mimikatz, чье имя использует французский сленговый префикс «mimi», что означает «мило», таким образом, «симпатичные кошки» — способ продемонстрировать эту проблему Microsoft. Он опубликовал его публично в мае 2011 года, но в качестве закрытой исходной программы. «Так как вы не хотите исправлять это, я покажу миру, чтобы люди знали об этом», — говорит Делпи о своем отношении в то время. «Оказывается, в Microsoft требуются годы, чтобы вносить изменения в Microsoft. Плохие парни не дождались».
Вскоре Дельпи увидел китайских пользователей на форумах хакеров, обсуждающих Mimikatz, и попытался перепроектировать его. А в середине 2011 года, он впервые узнает (не говорит от кого-то), что Мимикатц использовался во вторжении в сеть иностранного правительства. «Впервые я почувствовал себя очень, очень плохо», — вспоминает он.
В сентябре этого года Мимикатц был использован в знаковых хаках DigiNotar, одного из центров сертификации, который гарантирует, что веб-сайты, использующие HTTPS, являются теми, кем они утверждают. По словам исследователей безопасности Fox-IT, это вторжение позволило неопознанным хакерам выдавать мошеннические сертификаты, которые затем использовались для наблюдения за тысячами иранцев. DigiNotar был занесен в черный список веб-браузерами и впоследствии обанкротился.
Второй русский человек в костюме
В начале 2012 года Делпи пригласили поговорить о своей работе по безопасности Windows на московской конференции Positive Hack Days. Он согласился — наивно думая, что трюки Мимикатца, должно быть, были известны большинству хакеров, спонсируемых государством. Но даже после того, как он столкнулся с незнакомцем в своем гостиничном номере у русских не было его программы. После того, как он закончил беседу с толпой хакеров в старом здании советского завода, к нему подошел другой человек в темном костюме и резко потребовал, чтобы он скопировал свои слайды для конференций и копию Мимикаца на USB-накопитель.
Делпи выполнил. Опасаясь за свою жизнь, он опубликовал исходный код на Gitub еще до того, как покинул Россию.
Когда Mimikatz стал очень популярен, Microsoft добавили возможность отключить WDigest в Windows 8.1 (в 2013 году). В Windows 10 эта функция по умолчанию отключена.
Но Уильямс из Rendition указывает, что даже сегодня Mimikatz остается эффективным почти на каждой машине Windows, с которой он сталкивается, либо потому, что эти машины используют устаревшие версии операционной системы, либо потому, что он может получить достаточные привилегии на компьютере жертвы, чтобы просто включить WDigest, даже если он отключен.
«Мое общее время на цель, чтобы избежать этого исправить составляет около 30 секунд», — говорит Уильямс.
В последние годы Мимикатц применялся в нападениях, начиная от российского взлома немецкого парламента и заканчивая многомиллионными банковскими кражами банды Карбанак. Но вспышки NotPetya и BadRabbit вымогательства использовали Mimikatz особенно изощренно: они включали атаки в самораспространяющихся червей и объединили их с инструментами взлома EternalBlue и EternalRomance NSA, просочившимися в хакерскую группу, известную как Shadow Brokers в начале этого года.
Эти инструменты позволяют распространять вредоносное ПО через протокол сообщений сервера Microsoft на любую подключенную систему, которая не настроена против этой атаки. И вместе с Mimikatz они добавили подход к команде тегов, который максимизирует эти автоматизированные инфекции. «Когда вы смешиваете эти две технологии, эффективность зловреда существенно повышается», — говорит Делпи. «Вы можете заразить компьютеры, которые не настроены против этих атак, а затем вы можете захватить пароли этих компьютеров, чтобы заразить другие компьютеры, которые были исправлены».
«Я думаю, мы должны быть честными: если бы не Мимикац, был бы другой инструмент»»
Николас Уивер, UC Беркли
Несмотря на эти атаки, Делпи не дистанцировался от Мимикаца. Напротив, он продолжал оттачивать свое творение, публично говоря об этом и даже добавляя больше возможностей на протяжении многих лет. Сегодня Mimikatz стал целым поясом утилиты аутентификации Windows, от кражи хэшированных паролей и передачи их в качестве учетных данных, для создания мошеннических «билетов», которые служат идентификационными маркерами в системе аутентификации Kerberos от Microsoft, к краже паролей из функций автоматического заполнения в браузерах Chrome и Edge. Mimikatz сегодня даже включает в себя функцию обмана в игре Windows «Сапер», вытаскивая местоположение каждой мины в игре из памяти компьютера.
Делпи говорит, что перед добавлением функции, которая использует любую серьезную новую проблему безопасности в Windows, он предупреждает Microsoft, за несколько месяцев вперед. Тем не менее, он превратился в совершенно репозиторий.
«Это мой инструментарий, где я вкладываю все свои идеи», — говорит Делпи.
Горькая защита паролем
Каждая из этих функций, включая взломанный Сапер, предназначена не для того, чтобы помогать преступникам и шпионам, а демонстрировать особенности и слабые стороны безопасности Windows как в том виде, как она построена, так и в том, как ее используют небрежные корпорации и правительства. В конце концов, Делпи говорит, что если системные администраторы ограничивают права своих пользователей, Mimikatz не может получить административный доступ, чтобы начать перескакивать на другие компьютеры и красть больше учетных данных. И утечка Shadow Brokers из NSA на самом деле показала, что у агентства была своя собственная Mimikatz-подобная программа для использования WDigest — хотя неясно, что было первым.
«Если Mimikatz используется для кражи ваших паролей, ваша главная проблема — не Мимикатц, — говорит Делпи.
Мимикатц, тем не менее, «безумно мощный», — говорит исследователь Калифорнийского университета в Беркли Николас Уивер. Но он говорит, что это не означает, что Дельпи следует обвинять в атаках, которые ей помогли. «Я думаю, мы должны быть честными: если бы не Мимикац, там был бы другой инструмент», — говорит Уивер. «Это фундаментальные проблемы, связанные с тем, как люди управляют большими группами компьютеров».
И даже когда воры и шпионы снова и снова используют Мимикатца, этот инструмент также позволил тестировщикам проникновения однозначно продемонстрировать руководителям и бюрократам их недостатки в архитектуре безопасности, утверждает «Уильямс», защищающий безопасность. И это вынудило Microsoft постепенно менять архитектуру аутентификации Windows, чтобы исправить ошибки Mimikatz. «Мимикац сделал больше для повышения безопасности, чем любой другой инструмент, о котором я могу думать», — говорит Уильямс.
Даже Microsoft, похоже, научилась ценить работу Делпи. Он выступил на двух конференциях по безопасности Blue Hat компании, и в этом году было предложено присоединиться к одному из своих советов по обзору для новых исследований. Что касается Дельпи, он не сожалеет о своей работе. Лучше быть преследуемым российскими шпионами, чем оставить уязвимую уязвимость Microsoft секретной для тех шпионов, которые можно использовать.
«Я создал это, чтобы показать Microsoft, что это не теоретическая проблема, это настоящая проблема», — говорит он. «Без реальных данных, без опасных данных, они никогда бы не сделали ничего, чтобы изменить его».
Источник: goodlucker.ru
Mimikatz предлагает сдаться
В процессе недавней атаки вируса-вымогателя Пети достаточно много внимания было уделено новому, со времён WannaCry, payload’у этого вируса. Действительно, новый зловред оперировал для захвата власти на локальных хостах не одной, а целым набором уязвимостей – касающихся не только ОС Windows, но и, к примеру, пакета Microsoft Office.
Особое внимание привлёк один из компонентов – т.н. mimikatz.
Этому модулю приписываются воистину чудодейственные возможности, заставляющие вспомнить золотые времена линукссообществ для умственно одарённых старшеклассников, с экспертным мнением вида:
любую венду кароч одним пакетом кладёт прорубает любой файервол если только не под линем работает
Реакция админствующего Windows-сообщества, исповедующего религию всё по дефолту развернуть как в MS рассказывают и пусть работает, сидим да не паримся, а если что – так всё надо просто перенакатить с нуля, или ты самый умный что ли? , впрочем, благодаря околонулевому пониманию матчасти, тоже особо не отличалась:
Мимикац предлагает сдаться?
Что есть mimikatz
Несмотря на фонетичность названия, наводящую на мысль о вороватых представителях либеральной оппозиции и котиках (хотя у оных представителей отношения с мимимишными котиками сложные, мягко выражаясь), mimikatz к перечисленным никак не относится. Это модульный инструмент для доступа к ряду API Windows-систем, разработанный Benjamin Delpy. Актуальная версия mimikatz доступна на гитхабе, а начиналось всё давно, ещё в 2007 году – с утилит kdll / kdllpipe .
Мы будем рассматривать доступную на момент написания статьи версию 2.1.1 и ограничимся в проработке вопроса именно тем функционалом, который применяет вирус Petya.A(lco). То есть не будем писать учебник по применению mimikatz.
Техническая сторона тестирования
Проверяться всё будет на Windows Server 2008 R2 с оговорками про новый функционал более старших версий ОС. Ряд мер, безусловно, будет применим и на Windows Server 2003. Для демонстрации я подниму “нулЁвый, дефолтный” лес Active Directory с одним доменом, поэтому все настройки в плане политик безопасности точно будут “по умолчанию”. Используемый бинарник mimikatz – 64х битовый, билд 20170618, доступен для загрузки из личного кабинета.
Mimikatz – захват привилегии debug
Для выполнения части своих действий mimikatz проводит “захват” привилегии debug. Благодаря этому он может получать низкоуровневый доступ к процессам, запускаемым от системных учётных записей (LocalSystem, он же SYSTEM, в NT 5.1 расщепившийся на варианты LocalService / NetworkService).
В интерфейсе это действие выполняется командой privilege::debug , в случае успешного завершения выводится Privilege ’20’ OK , в случае неудачи – Remark: ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061 .
Предотвращение возможности получения debug
По умолчанию что в локальной политике безопасности, что например в Default Domain Controllers Policy привилегия debug выдаётся группе BUILTINAdministrators . Выдаётся – это значит, что процесс, запускаемый в сеансе пользователя, в маркере которого есть SID этой группы, может запросить “хочу отладку” и получить этот бит в строку “привилегии” своего маркера доступа (в случае наличия UAC – а в классическом варианте этот бит появляется в маркере сразу после процедуры logon).
Это абсолютно вредная настройка “по умолчанию”, т.к. фактически привилегия debug обычными приложениями не используется. Более того, даже разработчикам она нужна в исключительно редких случаях – потому что даже отладку приложений, запускаемых от своей учётной записи, на платформе Windows ведут без debug privilege. То есть разработку прикладных или managed code-приложений можно без проблем проводить и без данной привилегии. Она нужна – ещё раз – только в сценарии “конкретному пользователю нужна возможность отладки системных процессов”.
Более того – даже если она нужна программисту, именно для отладки системного сервиса, но на другом узле – есть вариант kernel Secure Mode debugging, при котором программист может проводить отладку, но на системе, с которой подключается, данную привилегию не получает.
Решаем ситуацию просто – в групповой политике (если домен) или локальной (если речь о standalone-системе) добавляем свежесозданную группу, членство в которой будет обозначать, что данной явно указанной учётной записи можно пользоваться такой привилегией. Ни на какую работу никакого ПО это не повлияет в принципе – нет штатного бизнес-ПО, которое не может делать свои задачи без попутной отладки ядра NT. Зато вот администраторов – что локальных, что доменных – которым права выданы по логике “а давайте гендира сделаем enterprise adminом, а то вдруг у него что-нибудь не заработает” – достаточно.
На скриншоте – локальная политика на DC, поэтому переопределять прямо в ней я не буду, все равно параметр будет перекрыт доменной политикой. Результат будет выглядеть так:
Теперь mimikatz получить debug-привилегию не может:
При этом мы остались и локальным администратором, и участником групп Domain Admins и Enterprise Admins. Мы можем выполнять все те же самые (любые) задачи с Active Directory.
Получение debug-привилегии mimikatz – это не взлом Windows, не несанкционированный доступ – это использование default-настройки времён 1999 года, т.е. стартового релиза Windows 2000. Возможность проведения таких действий – это проблема не ОС, а квалификации администраторов и инженеров. Скажите спасибо покупным сертификациям и дампам, авторизованным курсам с лабами “последовательно по бумажке команды вводишь и кликаешь где надо”, и “экспертному коммьюнити”, которое предлагает во всех случаях поставить последнюю винду и ждать, что всё самонастроится-самоналадится, “вот-вот, наверное, скоро, того и гляди, патч выпустят”.
Mimikatz – получаем доступ к различной аутентификационной информации
В ОС Windows в целях совместимости – притом не только со старыми версиями Windows, но и со сторонними технологиями (например, чтобы подключающиеся по PPP-протоколам могли использовать классический CHAP) может храниться несколько вариантов хэша пароля пользователя.
- Plaintext – пароль в открытом виде.
- WDigest – пароль после CHAP / MD5-преобразования.
- LM-hash – хэш для старого LanManager.
- NTLM-hash – хэш для NTLM и Kerberos.
Mimikatz выгружает хэши и учётные данные из работающего lsass командой lsadump::lsa /name:Administrator /inject :
Много выгрузил, да.
Начнём с возможности, которая есть на современных ОС, и которую проще всего сразу начать использовать на домашних и standalone-системах.
Защита LSASS от подключений со стороны сторонних модулей
Начиная с Windows 8.1 и Windows Server 2012 R2, появляется дополнительная возможность для защиты. Эта защита реализуется как специальный параметр для сервиса LSASS – если включаясь LSASS увидит этот параметр, то будет разрешать прямое взаимодействие с собой (например, чтение своей памяти) не просто процессам с нужным уровнем доступа (работающим от системной учётной записи), но и обязательно подписанным со стороны Microsoft. Не просто подписанным, а как у криптографических модулей – специальной подписью вендора.
Включается этот режим просто – в ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa создаётся значение RunAsPPL типа DWORD32 и выставляется в единицу.
При успешной обработке в System-журнале от лица WinInit будет событие:
LSASS.exe was started as a protected process with level: 4
- Самописные фильтры паролей – например, для задания особых критериев сложности и проверки “чтобы в паролях не встречались логины и имена”;
- Криптомодули, нужные для обработки какой-то специфичной авторизации – например, Kerberos на гос.криптографии;
- Сторонние драйверы смарт-карт, добавляющие какой-то специфичный функционал;
Всем им после включения этого режима надо быть или подписанными Microsoft, или они не будут загружаться, а в логах будут события 3033 и 3036.
Впрочем, чаще всего расширения LSA не используются, так что данная мера является нужной и эффективной. Но действовать она, ещё раз, будет только у 8.1+ и 2012 R2+.
Теперь поговорим про то, как избавиться от факта существования ненужных хэшей.
Сокращаем число хранящихся вариантов учётных данных
LM-хэш
Про то, как избавиться от старого LM-хэша, я написал в отдельной статье про LM и NTLM, поэтому повторяться не буду.
WDigest
Если вы не используете дайджест-аутентификацию, то можно в явном виде сказать системе, чтобы она не занималась ерундой по части генерации и хранения оных.
В современных системах – Windows 8.1+ и Windows Server 2012 R2+ – это уже работает само по себе, а вот в предыдущих версиях надо предпринять определённые действия – добавить в ключ реестра HKEY_LOCAL_MACHINESystemCurrentControlSetControlSecurityProvidersWDigest значение UseLogonCredential типа DWORD32 и выставить его в нуль.
Если даже дайджест иногда и будет требоваться, то просто у пользователя будет чаще запрашиваться информация для логина – то есть данная настройка отключает именно кэширование в RAM, а не весь механизм digest. HTTP-ресурсы, которым нужен именно такой метод, продолжат быть доступны.
Если вы опасаетесь, что есть некая система, проводящая аутентификацию, последовательно согласовывая методы, и эта система может так “досогласоваться” до WDigest – то в том же ключе реестра HKEY_LOCAL_MACHINESystemCurrentControlSetControlSecurityProvidersWDigest есть значение Negotiate , тоже DWORD32 , которое можно явно выставить в нуль и тогда никакие вариации negotiate не будут при переборе методов использовать WDigest.
Обратимое шифрование
В Active Directory хранение CHAP-like данных (по сути – зашифрованных plaintext-паролей) реализуется через дополнительный атрибут у security principal’а. Можно в явном виде сказать, чтобы такое никогда не делалось – для этого есть настройка в групповой политике:
Подобная настройка есть и у каждой учётной записи пользователя, но проще выключить глобально.
Результат – сильно сокращённое “поголовье” неиспользуемых и уязвимых способов представления аутентификационной информации.
Автоочистка кэша только что ушедших учётных записей
Если security principal прекратил свой сеанс на системе, то его учётные данные живут ещё некоторое время. Это не ошибка – это надо для сценариев “запустил операцию и отключился”.
Время, на протяжении которого в оперативной памяти lsass живут учётные данные только что завершивших сеанс учётных записей, можно настраивать.
В ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa есть параметр TokenLeakDetectDelaySecs , опять же типа DWORD32 . Выставление его в малое значение (например, 10 секунд) отсечёт возможность атак класса “взломали файловый или RDP-сервер и забрали из процесса lsass все данные всех подключавшихся, а теперь можно в офлайне NTLM-хэши попробовать атаковать”.
Теперь про ошибочные предположения о mimikatz.
Mimikatz – Golden или Silver Ticket для Kerberos
Абонемент – это очень хорошо. Тут самое место для рекламы нашего абонемента на посещение онлайн-курсов и вебинаров, а также доступу к архиву всех записей – Knowledge Assurance – но вот нельзя сказать, что Knowledge Assurance предоставляет возможность добавления произвольных SID в TGT, плюс выставление огромного срока жизни у билетов.
Данному механизму подделки kerberos tickets – уже несколько лет, его детальное описание опубликовано в 2014 году.
Некоторыми “экспертами” ошибочно декларируется, что вирус Petya.A(lco) умеет “ломать домены Active Directory через дыру Golden Ticket” .
Это не так – и не дыра это, и не Active Directory, и вирус этого не делает, а mimikatz может попробовать.
- Нужно знать пароль от RID 502, учётной записи krbtgt , доступной на каком-нибудь из не-RODC (потому что на RODC у каждого свой krbtgt ).
- Нужны права локального администратора на DC.
- Должна отсутствовать преаутентификация Kerberos.
Как видите, не всё так однозначно – в частности то, зачем что-то ломать, если ты админ на контроллере домена.
Противодействие этой атаке также достаточно тривиально – дважды (именно дважды, чтобы произошла инвалидация тикетов) сделать reset password у доменного krbtgt , выставив оный на произвольный стойкий пароль, а также использовать FAST (который Kerberos Armoring, защищает фазу преаутентификации и ошибочно считается возможностью Windows Server 2012, хотя может использоваться и на Windows Server 2008). Ну и не давать права админа на DC кому попало, да.
Теперь немножко про панацеи.
Использование Protected Users
Один из показательных моментов во всей шумихе вокруг Petya.A(lco) – это быстрый поиск панацеи. Притом почему-то в расчёт не берутся действительно быстрые и простые методы – например, корректно раздавать права внутри домена и ставить критические патчи через разумное время после их выхода. Проще же ждать золотую пулю, которая решит все вопросы. На эту должность в данном случае “экспертные сообщества” спешно назначили методику “просто добавить всех пользователей в Protected Users и не париться” .
Про то, что именно делает группа Protected Users – фактически, включает целую пачку и ранее существовавших защитных технологий – есть в статье про LM и NTLM – у каждой из этих технологий есть свои плюсы и минусы, побочные действия и особенности, поэтому сам подход “разово нажать специальную кнопку Сделать Всё Хорошо” в данном случае показателен.
Ситуация в том, что суммарное время на разгребание последствий после подобных быстрых действий обычно превышает то, которое тратится на последовательное улучшение защиты домена. Безусловно понятно что те, кто не разбираются в технологиях, будут искать поверхностное решение “что там надо нажать, какой скрипт на повершелле скачать и запустить, чтобы всё норм стало” – и в этом им помогут такие же, но по факту будет затрачено больше времени и сил, а знания как отсутствовали, так и продолжат отсутствовать. Ведь от подобных методов ни понимания технологий, ни навыков – больше не становится. Отсюда и все рассказы вида “просто домен в 2012 R2 надо переключить и вопрос решён” и подобное.
Будьте умнее – изучайте технологии не поверхностно, а серьёзно. Это банально эффективнее с точки зрения затрат времени и результирующего личного комфорта.
Потому что в данном случае, например, при грамотной настройке политик (не-выдаче debug-привилегии всем админам) можно уже лет этак 18 подряд как не давать никакой возможности для описываемой атаки через mimikatz.
Источник: www.atraining.ru
Что такое Mimikatz: руководство для начинающих
Бенджамин Делпи изначально создал Mimikatz в качестве доказательства концепции, чтобы продемонстрировать Microsoft уязвимость для атак их протоколов аутентификации. Вместо этого он непреднамеренно создал один из самых широко используемых и загружаемых хакерских инструментов за последние 20 лет.
Джейк Уильямс из Rendition Infosec говорит: «Mimikatz сделал для повышения безопасности больше, чем любой другой известный мне инструмент». Если защита сетей Windows — ваша работа, важно быть в курсе последних обновлений Mimikatz, чтобы понимать методы, которые хакеры будут использовать для проникновения в ваши сети, и оставаться на шаг впереди.
Что такое Mimikatz?
Mimikatz — это приложение с открытым исходным кодом, которое позволяет пользователям просматривать и сохранять учетные данные аутентификации, такие как тикеты Kerberos. Бенджамин Делпи продолжает руководить разработкой Mimikatz, поэтому набор инструментов работает с текущей версией Windows и включает самые современные виды атак.
Злоумышленники обычно используют Mimikatz для кражи учетных данных и повышения привилегий: в большинстве случаев программное обеспечение для защиты конечных точек и антивирусные системы обнаруживают и удаляют его. И наоборот, специалисты по тестированию на проникновение используют Mimikatz для обнаружения и тестирования уязвимостей в ваших сетях, чтобы вы могли их исправить.
Возможности Mimikatz
Первоначально Mimikatz демонстрировал, как использовать одну уязвимость в системе аутентификации Windows. Теперь же этот инструмент охватывает несколько различных видов уязвимостей. Mimikatz может выполнять следующие методы сбора учетных данных:
- Pass-the-Hash (перехват хеша): ранее Windows хранил данные аутентификации в хэше NTLM. Злоумышленники используют Mimikatz для передачи точной строки хеша на целевой компьютер для входа в систему. Злоумышленникам даже не нужно взламывать пароль, им просто нужно перехватить хеш и использовать его без какой-либо обработки. Это то же самое, что найти ключ от всех дверей дома на полу. Вам нужен один ключ, чтобы открыть любую дверь.
- Pass-the-Ticket (перехват тикета): новые версии Windows хранят данные аутентификации в конструкции, называемой тикетом (Ticket). Mimikatz предоставляет пользователю возможность передать тикет Kerberos на другой компьютер и войти в систему с помощью этого тикета. В остальном это то же самое, что и перехват и передача хеша.
- Over-Pass the Hash (Pass the Key): еще одна разновидность атаки pass-the-hash, но этот метод передает уникальный ключ для выдачи себя за пользователя, данные которого можно получить от контроллера домена.
- Kerberos Golden Ticket): это вид атаки с перехватом тикета (pass-the-ticket), но в данном случае целью является конкретный тикет для скрытой учетной записи под названием KRBTGT. Эта учетная запись шифрует все остальные тикеты.«Золотой билет» дает вам учетные данные администратора домена для любого компьютера в сети без срока истечения.
- Kerberos Silver Ticket: еще одна атака типа pass-the-ticket, но «серебряный тикет»использует для своих целей функцию Windows, которая упрощает использование служб в сети. Kerberos предоставляет пользователю тикет сервера выдачи разрешений (TGS), и пользователь может использовать этот тикет для входа в любые службы в сети. Microsoft не всегда проверяет тикет сервера выдачи разрешений (TGS) после его выпуска, поэтому с его помощью можно легко обойти любые меры безопасности.
- Pass-the-Cache): единственная атака, не использующая уязвимости Windows! Атака с перехватом кэша обычно аналогична атаке с перехватом билета, но в этой атаке используются сохраненные и зашифрованные данные для входа в систему Mac/UNIX/Linux.
Как скачать Mimikatz
Вы можете скачать Mimikatz с GitHub Бенджамина Делпи. Он предлагает несколько вариантов загрузки, от исполняемого файла до исходного кода, который вам нужно будет скомпилировать с Visual Studio 2010 или более новой версии.
Как использовать Mimikatz
После запуска исполняемого файла Mimikatz появится интерактивная консоль Mimikatz, в которой вы сможете запускать команды в реальном времени.
Запустите Mimikatz от имени администратора: для полноценной работы Mimikatz выберите «Запуск от имени администратора», даже если вы используете учетную запись администратора.
Проверка версии Mimikatz
Существует 2 версии Mimikatz: 32-битная и 64-битная. Убедитесь, что вы используете версию, соответствующую разрядности вашей Windows. Выполните команду version из командной строки Mimikatz, чтобы получить информацию об исполняемом файле Mimikatz, версии Windows и о наличии каких-либо настроек Windows, которые могут помешать корректной работе Mimikatz.
Извлечение из памяти паролей в виде открытого текста
Модуль sekurlsa в Mimikatz позволяет выгружать пароли из памяти. Чтобы использовать команды в модуле sekurlsa, у вас должны быть права на уровне администратора или системы.
Сначала выполните команду:
mimikatz # privilege::debug
Вы увидите, есть ли у вас соответствующие разрешения, чтобы продолжить.
Затем запустите функции логирования, в дальнейшем этот журнал вам может понадобиться в работе:
mimikatz # log nameoflog.log
И, наконец, выведите все хранящиеся на этом компьютере пароли в виде незашифрованного текста:
mimikatz # sekurlsa::logonpasswords
Использование других модулей Mimikatz
Модуль шифрования открывает доступ к CryptoAPI в Windows, который позволяет перечислять и экспортировать сертификаты и их закрытые ключи, даже если они отмечены как неэкспортируемые.
Модуль Kerberos обращается к API Kerberos, поэтому вы можете поэкспериментировать с этой функциональностью, извлекая тикеты Kerberos и управляя ими.
Модуль служб позволяет запускать, останавливать, отключать и выполнять другие операции со службами Windows.
И, наконец, команда coffee выводит ASCII-изображение кофе, ведь кофе нужен всем.
Mimikatz способен на гораздо большее Если вы интересуетесь тестированием на проникновение или просто хотите покопаться во внутреннем устройстве проверки подлинности Windows, ознакомьтесь со ссылками ниже.
- Руководство по тестированию на проникновение в средах Active Directory
- Неофициальное руководство по Mimikatz и справочник команд
- Koadic: вредоносная программа LOL и сервер контроля и управления на Python
- Официальная энциклопедия Mimikatz
- Блог компании Varonis Systems
- Информационная безопасность
- Системное администрирование
- Системное программирование
Источник: habr.com
Скачать Mimikatz – сбор учетных данных Windows
Обзоры
Автор cryptoparty На чтение 3 мин Опубликовано 26.01.2018
Mimikatz – это инструмент для сбора учетных данных Windows, в основном это инструмент типа “швейцарский нож” сбора учетных данных Windows, который объединяет многие из наиболее полезных задач, которые вы будете выполнять на компьютере с Windows, на котором установлены привилегии SYSTEM.
Он поддерживает как 32-разрядные, так и 64-разрядные Windows и позволяет вам собирать различные типы учетных данных.
Что такое Mimikatz ?
Многие люди называют это пост-эксплуатационным инструментом, потому что вы используете его, чтобы усилить контроль над уже скомпрометированной сетью.
Он выполняет такие методы, как «Передача хэша», «Передача билета», «Переполнение хэша» («Передача ключа AKA»), «Золотой билет», «Kerberos Golden Ticket», «Серебряный билет Kerberos», «Передача кэш» и «Атака на Kerberos Session Ticket» (TGS).
Особенности Mimikatz
- Дамп учетных данных из базы данных LSASS (база данных Windows Local Security)
- MSV1.0: хэши и ключи (dpapi)
- Пароль Kerberos, ekeys, билеты и PIN-код
- TsPkg (пароль)
- WDigest (пароль с четким текстом)
- LiveSSP (пароль с четким текстом)
- SSP (пароль с четким текстом)
- Создание золотых билетов Kerberos (атака билетов на токен в Kerberos TGT)
- Сгенерировать Kerberos Silver Tickets (атака на билет службы Kerberos TGS)
- Дамп кэшированных учетных данных /Остановить мониторинг событий.
- Обход Microsoft AppLocker / Программные ограничения Polcies
- Патч-сервер терминалов
- Базовый обход GPO
Команды
Основными компонентами команды являются sekurlsa, kerberos, crypto, vault и lsadump.
Sekurlsa взаимодействует с процессом LSASS в памяти для сбора данных учетных данных и обеспечивает расширенные возможности по отношению к керберосу.
Набор команд Mimikatz kerberos позволяет изменять билеты Kerberos и взаимодействует с официальным API Microsoft Kerberos.
Это команда, которая создает Golden Tickets.
Передача билета также возможна с помощью этой команды, поскольку она может вводить билет (ы) Kerberos (TGT или TGS) в текущий сеанс.
Внешние инструменты Kerberos могут использоваться для инъекций сеанса, но они должны следовать формату учетных данных Kerberos (KRB_CRED).
Mimikatz kerberos также позволяет создавать серебряные билеты, которые являются билетами Kerberos (TGT или TGS) с произвольными данными, позволяющими пользователю / группе AD
Crypto позволяет экспортировать сертификаты в систему, которые не отмечены как экспортируемые, поскольку они обходят стандартный экспортный процесс.
Vault позволяет выгружать данные из хранилища Windows.
Lsadump позволяет сбрасывать данные учетных данных из базы данных диспетчера учетных записей безопасности (SAM), которая содержит NTLM (иногда хеш LM) и поддерживает онлайновый и автономный режим, а также позволяет сбрасывать учетные данные из процесса LSASS в памяти.
Lsadump также можно использовать для сброса кэшированных учетных данных.
В домене Windows учетные данные кэшируются (до 10), если контроллер домена недоступен для аутентификации.
Однако эти учетные данные хранятся на компьютере.
Поддержка ОС Windows Mimikatz
Mimikatz работает на:
- Windows XP
- Windows Vista
- Windows 7
- Windows 8
- Windows Server 2003
- Windows Server 2008 / 2008 R2
- Windows Server 2012 / 2012 R2
- Windows 10 (бэта саппорт)
Вы можете скачать последнюю версию mimikatz здесь:
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий Отменить ответ
Timofey 24.12.2018 в 16:21
Здравствуйте, я столкнулся с проблемой в программе mimikatz. Она не показывает пароль. То есть просто чистая строка после “password:”. Правда после неё идёт графа “kerberos”, которой раньше не было, но и после неё ничего не пишет.
cryptoparty автор 24.12.2018 в 16:23
Добрый день! А скриншот имеется?
Орик 02.01.2020 в 11:06
Орик 02.01.2020 в 11:06
гайд есть на ютубе?
cryptoparty автор 02.01.2020 в 11:16
на ютубе есть поиск
Роман 28.02.2021 в 12:15
Привет!, попробуй повторить процедуру, так как шанс выбивания паролей 40-50%
cryptoparty автор 28.02.2021 в 12:57
Привет, что за статистика?
Кто-то 31.10.2021 в 00:05
как скачать?
cryptoparty автор 31.10.2021 в 00:10
ссылку не видно?
Влад 04.10.2022 в 13:10
почему когда последнюю команду вводишь заходишь в txt там пишет пароль и Ватсап и много цифр что делать ?
cryptoparty автор 06.10.2022 в 09:12
Интересный виндовз видимо
Поддержать нас
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (105)
- Книги (27)
- Мануал (2 227)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (798)
- Обход запретов (34)
- Опросы (3)
- Скрипты (109)
- Статьи (334)
- Философия (97)
- Юмор (18)
Наш Telegram
Социальные сети
Поделиться
Anything in here will be replaced on browsers that support the canvas element
- Выполняем атаку включения локального файла 21.12.2022
Включение локальных файлов (LFI) – это тип кибер-атаки, при которой злоумышленник получает доступ к конфиденциальной информации, хранящейся на сервере, используя уязвимости сервера и включая локальные файлы. Злоумышленник ищет небезопасные методы и недостатки в системе, которые могут быть использованы для получения доступа к конфиденциальным файлам, например, содержащим системные настройки, конфигурационные файлы и другие важные данные. Этот […]
Разработать сайта сегодня может каждый, и если ранее компании выбирали варианты дешевле, то сегодня очень желанием является создание сайта бесплатно. Реально ли это, следует разобраться в деталях. Сразу хочется сказать, что теоретически это возможно, но не для всех типов сайтов. По крайней мере, если хотите развивать свой ресурс, а не просто сделать и забросить. Бесплатный […]
Кэш браузера — это сохраненные копии контента с сайтов, которые пользователь просматривал в браузере. Эти копии сохраняются в памяти компьютера. Функция кэширования браузера преследует две цели: экономия трафика. Контент сохраняется на компьютере пользователя, поэтому ему не приходится каждый раз заново загружать его из интернета; ускорение загрузки страниц, которые пользователь посещал ранее. Это также достигается за […]
Это краткое руководство объясняет, что такое ramfetch, как установить ramfetch на Linux и как отобразить информацию о памяти с помощью ramfetch в операционных системах Linux. Что такое ramfetch? Для Linux существует множество программ с данным функционалом (например, Neofetch, Screenfetch, Macchina и т.д.). Эти программы используются для отображения общей информации о системе Linux, такой как версия […]
Использование памяти в Linux обычно измеряется объемом оперативной памяти, используемой определенным процессом. Это можно отследить с помощью команды free, которая отображает общий объем памяти, используемую память и свободную память, доступную в системе. Использование процессора в Linux обычно измеряется количеством ядер процессора, используемых определенным процессом. Это можно отследить с помощью команды top, которая отображает количество ядер […]
Источник: itsecforu.ru
Защита Windows от извлечения пароля из памяти с помощью Mimikatz
Конец июня 2017 года запомнился IT сообществу по массовому заражению множества крупнейших компаний и госучреждений России, Украины и других стран новым вирусом-шифровальщиком Petya (NotPetya). В большинстве случаев, после проникновения внутрь корпоративной сети, Petya молниеносно распространялся по всем компьютерам и серверам домена, парализуя до 70-100% всей Windows-инфраструктуры. И хотя, одним из методов распространения Пети между компьютерами сети было использование эксплоита EternalBlue (как и в случае с WannaCry ), это был не основной канал распространения вымогателя. В отличии от WCry, который распространялся исключительно благодаря уязвимости в SMBv1 , NotPetya были изначально заточен под корпоративные сети. После заражения системы, шифровальщик с помощью общедоступной утилиты Mimikatz, получал учетные данные (пароли, хэши) пользователей компьютера и использовал их для дальнейшего распространения по сети с помощью WMI и PsExec, вплоть до полного контроля над доменом. Соответственно, для защиты всех систем не достаточно было установить обновление MS17-010 .
В этой статье мы рассмотрим основные методики защиты Windows систем в домене Active Directory от атак посредством Mimikatz–like инструментов.
Утилита Mimikatz с помощью модуля sekurlsa позволяет извлечь пароли и хэши авторизованных пользователей, хранящиеся в памяти системного процесса LSASS.EXE ( Local Security Subsystem Service ). У нас уже была статья с примером использования mimikatz для получения в паролей пользователей в открытом виде (из WDigest, LiveSSP и SSP).
Предотвращение возможности получения debug
В статье по ссылке выше видно, как использование привилегии debug, позволяет Mimikatz получить доступ к системному процессу LSASS и извлечь из него пароли.
По умолчанию, права на использование режима debug предоставляются локальной группе администраторов (BUILTINAdministrators). Хотя в 99% случаях эта привилегия абсолютно не используется администраторами (нужна она как правило системным программистам), соответственно, в целях безопасности возможность использования привелегии SeDebugPrivilege лучше отключить. Делается это через групповую политику (локальную или доменную). Перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment и включите политику Debug Program . В нее нужно добавить доменную группу пользователей, которым могут понадобится права debug (как правило, разработчики), либо оставить эту группу пустой, чтобы данного права не было не у кого.
Источник: dzen.ru