Mimikatz: история одного зловреда

Пять лет назад Беньямин Делпи вошел в свою комнату в гостинице «Президент» в Москве и обнаружил человека, одетого в темный костюм, который что-то делал в его ноутбуке.

Всего несколько минут назад, тогдашний 25-летний французский программист совершил быструю поездку на стойку регистрации, чтобы пожаловаться на интернет-соединение в комнате. Он приехал за два дня до того, как он должен был выступить на конференции по безопасности, и обнаружил, что Wi-Fi в гостинице нет, а гнездо Ethernet не работает. Внизу один из сотрудников отеля настаивал, чтобы он подождал, пока к нему не отправят техника, чтобы исправить неполадки. Дельпи отказалась, и вместо этого вернулся к себе в номер.

Открыв дверь номера, он увидел незнакомца, стоящего у стола комнаты с маленьким черным чемоданом, его пальцы поспешно что-то набирали на клавиатуре ноутбука Делпи, хотя на экране по-прежнему отображался заблокированный экран входа в Windows.

Человек пробормотал извинения на английском языке о своей карточке, работающей в неправильной комнате, проскочил мимо Делпи и вышел за дверь, прежде чем Делпи мог даже отреагировать. «Это было очень странно для меня, — говорит Делпи сегодня. «Как в шпионском фильме».

Делпи долго не мог понять, почему его ноутбук был целью человека в костюме. В нем содержалась тема его выступления на московской конференции — ранняя версия программы, которую он написал под названием «Mimikatz». Этот тонкий мощный инструмент взлома был разработан для того, чтобы отфильтровать пароль пользователя Windows из памяти компьютера, чтобы потом его можно было использовать для получения повторного доступа к этому компьютеру или к любым другим, доступным для учетной записи жертвы в той же сети. Русские, как и хакеры по всему миру, хотели получить исходный код Делпи.

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

Совсем недавно он попал в центр внимания как компонент двух червей вымогателей, которые раздирали Украину и распространились по всей Европе, России и США: как NotPetya, так и прошлые месяцы BadRabbit вытеснили Mimikatz с пропущенными инструментами взлома NSA для создания автоматических атак чьи инфекции быстро насыщаются сетями с катастрофическими последствиями. Только NotPetya привела к параличу тысяч компьютеров в таких компаниях, как Maersk, Merck и FedEx, и, как полагают, причинила ущерб более чем на миллиард долларов.

ИТ-менеджер французского правительственного учреждения, которого он отказывается назвать, Делпи говорит, что он первоначально построил Mimikatz в качестве побочного проекта, чтобы узнать больше о безопасности Windows и языке программирования C, а также доказать Microsoft, что Windows содержит серьезную проблему безопасности в его обработке паролей.

Его доказательная концепция достигла своего предполагаемого эффекта: в более поздних версиях 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, что это не теоретическая проблема, это настоящая проблема», — говорит он. «Без реальных данных, без опасных данных, они никогда бы не сделали ничего, чтобы изменить его».