Главная

Sunday, 19 February 2023

Выполняем дамп LSASS процесса.

Всем привет.

Уверен что вы  в курсе что в действительности делает всем известный Mimikatz - он извлекает хранящиеся в отвечающем за обработку удостоверения подлинности процессе LSASS.exe секреты. Уверен, весьма опасно выполнять анализ этого процесса в реальном масштабе времени, когда Mimikatz запущен в целевой машине, но никто не запрещает нам выгружать содержимое LSASS.exe в файл, а затем передавать его в автономном режиме запущенному в нашей тестовой машине экземпляру Mimikatz.

Однако перед тем как делать дамп следует включить, к примеру, на RDP-сервере поставщика WDigest для того чтобы он сохранял все вводы паролей на перспективу в обратимом формате:

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

Далее необходимо подожать некоторое время, пока пользователи навводили каких-то паролей, которые можно будет сбросить, а затем собрать полученный дамп LSASS.exe.

А теперь внимание, у меня вам подарок - забудьте о классических инструментах дампа процесса, таких как procdump.exe и Out-Minidump PowerShellMafia, они будут обязательно обнаружены системой мониторинга. Однако имеется простой и лёгкий способ выполнения дампа процессов в Windows10 при помощи старого доброго Диспетчера задач. Просто откройте его, отыщите запись LSASS.exe, кликните правой кнопкой и нажмите по Create dump file: 


Для справки альтернативный способ:

1) запуск интерпретатора под System: psexec64.exe -i -s cmd

2) снимаем дамп процесса с ID520: procdump64.exe -ma 520

И при этом не прозвучало ни единого писка от MDE, а Диспетчер задач сообщает, что соответствующий файл дампа был записан в C:\users\username\AppData\Local\Temp\lsass.dmp. Ну или почти ни единого, но тем не менее файл дампа все равно будет создан.

Кстати, чтобы заставить пользователей повторно вводить свои учётные данные, мы всегда можем прерывать их сеансы RDP. Это может показаться брутальным, но в действительности пользователи часто теряют свои сеансы RDP по причине проблем с подключением, задержек, или времени блокировки по умолчанию, поэтому существует большая вероятность того, что такое прекращение останется незамеченным. Для принудительного завершения сеанса мы перечисляем сеансы при помощи запроса сеансов, а затем для каждого из них выполняем команду tsdiscon:

C:\> query session

SESSIONNAME       USERNAME         ID  STATE   TYPE

 rdp-tcp#87      citrix_srv       1   Active

rdp-tcp#8         joey.pizza       2   Active

Мы определяем соответствующий сеанс его идентификатором: .

C:\> tsdiscon 2

Только что был прекращён сеанс joey.pizza. Какой ужас.)

Для выделения секретов из данного файла дампа с названием по умолчанию lsass.dmp, мы загрузим его в нашей среде лаборатории, которая аналогична тем машинам, из которых мы получили это образ (например, в машину с 64-битной Windows10 или в Server 2019) сеанс Mimikatz. Очевидно, в своей собственной машине мы запросто отключим антивирус без опасений потенциального выхода из строя. Когда мы загрузим полученный для его сбора в Mimikatz дамп, тот выделит имеющиеся пароли в точности как если бы мы запускали его в самом сервере:

mimikatz# sekurlsa::minidump lsass.dmp

Switch to MINIDUMP : 'lsass.dmp'

mimikatz# sekurlsa::logonpasswords

--skip--

   * Username : anya.ivanova

   * Domain   : FORZA.COM

   * Password : Monet-#

--skip--

Готово. Пароль получен.

По материалам книги Спарка Флоу "Как заниматься взломом словно легенда. Прорываемся в Windows", Copyright (С) 2022 Sparc Flow, No Starch Press, Inc.

No comments:

Post a Comment

А что вы думаете по этому поводу?