Вы находитесь на странице: 1из 7

Компоненты безопасности Windows

1
Отладка компонентов Windows с помощью WinDBG.
Настройка среды: настройка WinDBG
Задача: настроить ВМ и хостовую систему для возможности отладки ВМ и приложений в
ней с помощью отладчика WinDBG.
Описание процесса настройки: https://www.triplefault.io/2017/07/setting-up-kernel-
debugging-using.html

1. Установка Vmware Workstation и в ней ВМ Windows 10 x64


2. Установка WinDBG. На хосте устанавливаем Windows Software Development Kit (2,4 GB)
– скачивается из Интернет. Установщик: winsdksetup.exe. WinDBG входит в состав
“Debugging Tools for Windows” (280 MB)
https://learn.microsoft.com/ru-ru/windows-hardware/drivers/debugger/debugger-download-
tools
3. Настраиваем подгрузку символов. Добавляем ярлык на рабочий стол и добавляем в
его свойства в Target:
-y "srv*c:\symbols*https://msdl.microsoft.com/download/symbols“
Чтобы символы из сайта MS сохранялись в c:\symbols
Альтернативное решение: Добавление строки в переменную среды _NT_SYMBOL_PATH
4. Кастомизируем WinDBG.
4.1 Читаем про Workspace: https://habr.com/ru/post/187522/
4.2 Скачиваем Workspace: https://github.com/Deniskore/windbg-workspace
4.3 Загружаем workspace. Скопировать в папку с Windows Tools. К ярлыку добавить: -WF
“<путь_до_WEW-файла>/workspace.WEW”
Загрузка отладочных символов (альтернатива п.3 ранее)
1. Выделить для ВМ желательно 8 Гб ОП, либо максимально доступный

1
2
2. Добавить путь до сервера с символами в переменную среды:
_NT_SYMBOL_PATH=SRV*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV*C:\sy
mbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com

3
Отладка компонентов Windows с помощью WinDBG.
Настройка среды: настройка ВМ
Настройка ВМ для отладки:
1. Выключить ВМ.
2. Добавление COM-порта в ВМ. В настройках ВМ Добавить Serial Port, Output to named
pipe, Имя pipe: \\.\pipe\com_1. Проверить какой номер порта созданного (COM2, Printer – 1?).
1
2

3. Включить режим отладки в ВМ.


В консоли от Админа ввести:
bcdedit /debug on
bcdedit /dbgsettings serial debugport:2 baudrate:115200
Отладка компонентов Windows с помощью WinDBG.
Подключение WinDBG к ВМ
Подключение отладчика к ВМ: 1
1. Настройки подключения поменять.
Указать имя порта

2. Перезагрузить символы
.reload /f
Для сторонних драйверов будут ошибки:
«ERROR: Symbol file could not be found»
2
3. Вывод загруженных модулей
lm

4. Делаем бряк и изучаем окна


Дампинг хэша из LSASS. Ставим брейкпойнт (1/2)
Задача: Перехват функции MsvpPasswordValidate экспортируемой из
NtlmShared.dll, что позволяет получить хэш пароля без доступа к SAM.
Ссылка: https://aptw.tf/2020/11/16/extracting-hashes-hooking.html

1. Получаем адрес контекста процесс lsass.exe в памяти


!process 0 0 lsass.exe
2. Переключаем контекст отладчика в нужный процесс

.process /i /p /r ffff8c05c70bc080
3. Продолжаем выполнение для переключения контекста

g
4. Перегружаем символы для User mode модулей процесса
.reload /user
5. Ставим точку останова на нужной функции и проверяем
bp NtlmShared!MsvpPasswordValidate
bl
Дампинг хэша из LSASS. Перехватываем хэш (2/2)
1. Запускаем cmd от заданного пользователя
net user - вывод списка пользователей
runas /user:user cmd
2. Изучаем прототип функции MsvpPasswordValidate

Так как stdcall x64, то аргументы хранятся: RCX, RDX, R8, R9 , ..

3. Находим в памяти по @r9 хэш (16 б):

4. Проверяем полученный NTML-хэш с известным нам паролем от пользователя ВМ.


Например, https://codebeautify.org/ntlm-hash-generator

Вам также может понравиться