DPAPI — популярный вектор для атак на ОС семейства Windows
Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…
DPAPI — популярный вектор для атак на ОС семейства Windows 💻
Ключи Wi-Fi, сертификаты, учетные данные, cookies браузеров, DropBox, Skype — и это только часть мишеней, на которые нацелены злоумышленники.
Сегодня разберем, что произойдет, если у пользователя сохранены учетные данные на рабочей станции, введенной в домен Active Directory, а злоумышленник загрузил на нее всем знакомый Mimikatz.
👀 Для начала рассмотрим, как связан DPAPI с учетными данными пользователей и другими секретами.
Интерфейс DPAPI используется компанией Microsoft в Windows с 2000-го года. Он позволяет хранить чувствительные данные пользователя в шифрованном виде.
Что использует этот интерфейс для шифрования данных?
• SID пользователя;
• hash пароля;
• Masterkey — ключевую сущность, за которой будут охотиться злоумышленники.
Masterkey в свою очередь генерируется из так называемых prekey и 64 рандомных байт. SID, hash пароля пользователя и Masterkey путем криптографических манипуляций образуют blob. Поэтому для расшифрования злоумышленнику нужно знать конкретный blob, который нужно расшифровать, Masterkey в открытом виде, hash пароля пользователя и его SID для расшифровки.
🗂 Упомянутые объекты и параметры содержатся в различных папках и ветках реестра. Нам интересны следующие папки:
• Папка с сredential blob
\Users\<user>\appdata\local\microsoft\credentials\<credential blob>Code language: plaintext (plaintext)
• Папка с файлами пользовательских mastekeys
\Users\%USER%\AppData\Roaming\Microsoft\Protect\%SID%Code language: plaintext (plaintext)
• Папка с файлами приватных RSA-ключей
%APPDATA%\Roaming\Microsoft\Crypto\RSA\<SID>Code language: plaintext (plaintext)
У одного пользователя может быть несколько masterkeys на узле. Злоумышленник сначала должен будет узнать, какой masterkey используется сейчас для blob с учетными данными.
Находясь на узле и загрузив Mimikatz, злоумышленник может найти эту информацию, прочитав свойства внутри blob с помощью команды mimikatz:
dpapi::cred /in:C:\users\<username>\appdata\local\microsoft\credentials\<blob>Code language: YAML (yaml)
💡 Дисклеймер: если команды будут выполняться через Cobalt Strike или другой C2, то синтаксис команд будет другой.
Для корректной идентификации Masterkey необходимо обратить внимание на параметр guidMasterkey — это идентификатор Masterkey, который использовался для шифрования этого blob. Благодаря тому, что в нашем случае рабочая станция введена в домен и имеет с ним связь, можно запросить резервный RSA-ключ с контроллера домена.
Здесь важно отметить, что злоумышленник может запросить его только для своего авторизованного пользователя. Для того чтобы запросить этот ключ для всех пользователей и расшифровать все Masterkeys, понадобятся права доменного администратора.
Запрос RSA-ключа на контроллер домена будет выполнен со службы MS-BKRP (backupkey remote protocol) RPC:
dpapi::masterkey /in:C:\users\<username>\appdata\roaming\microsoft\protect\<SID>\<masterkey> /rpcCode language: YAML (yaml)
В ответ злоумышленнику придет masterkey в открытом виде (параметр key:) и его sha1 hash.
После этого он может попытаться расшифровать учетные данные пользователя и получить пароль в открытом виде.
Сделает он это с помощью команды:
dpapi::cred /in:C:\users\<username>\appdata\local\microsoft\credentials\<blob> /masterkey:<masterkey_as_plain_text>Code language: YAML (yaml)
И получит на выходе в параметре CredentialBlob: пароль скомпрометированного пользователя 💻
🔦 Для обнаружения активности можно использовать комбинацию событий на атакованной рабочей станции (1, 2) и контроллере домена (3):
1. Event ID 4663, применение права доступа к объекту. Здесь под объектами понимается содержимое упомянутых выше папок с credential blob, пользовательскими masterkeys и приватными RSA-ключами. Обращения к объектам этих папок будут выполнены в контексте скомпрометированного пользователя.
2. Установка TCP-соединения с DC, Sysmon 3 по порту 445. Проверить его доступность можно, создав в контексте скомпрометированного пользователя именованный канал Sysmon 17 с параметром PipeName: \\protected_storage.
3. Доступ к сетевому ресурсу с Event ID 5145. Несмотря на многочисленность событий, это событие можно связать с предыдущими, так как обращение выполняется в контексте скомпрометированного пользователя к общей папке \\IPC$\Protected_Storage, которая уже упомянута во втором пункте. Обращение к Protected_Storage — один из индикаторов возможных манипуляций с DPAPI.
#DPAPI #win #hunt #ti #detect
@ptescalator
Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…



