Пароли первой очереди: учётные записи Windows, NTLM и DPAPI

16 декабря, 2022, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

За что браться в первую очередь: пароли к архивам, документам или учётным записям Windows? В этой статье мы расскажем о преимуществах стратегии, в рамках которой приоритет отдаётся именно паролю к учётной записи пользователя для входа в Windows. Спойлер: восстановив один лишь этот пароль, можно получить доступ к десяткам (а иногда — сотням) паролей, которые хранятся в браузере пользователя.

Что такое NTLM?

Механизм NTLM активно используется в Windows для хранения хэшей паролей к локальным учётным записям и учётным записям Microsoft Account. Хешированные записи хранятся в локальных базах данных SAM и в БД NTDS на доменном контроллере. Интересный момент: атака на хэш NTLM производится даже быстрее, чем атака на более старые хэши LM (что это такое?).

Посредством NTLM защищены как пароли к локальным учётным записям Windows, так и к новому типу учётных записей Microsoft Account, что, в частности, позволяет восстанавливать пароли к онлайновым учётным записям Microsoft посредством быстрой офлайновой атаки (см. Microsoft Account: удобство или дыра в безопасности?). Хешированные записи к Microsoft Account хранятся вместе с другими записями NTLM в локальных базах данных SAM и в БЗ NTDS на доменном контроллере.

Общая соль: для защиты учётных записей NTLM Microsoft использует криптографическую соль, однако значение соли уникально для всего компьютера в целом, а не для каждой учётной записи по отдельности. Это позволяет запускать атаки на все записи NTLM одновременно и параллельно. Данный подход изменился лишь с выходом подсистемы безопасности Windows Hello.

Иными словами, атака на хэш NTLM позволяет восстановить оригинальный текстовый пароль пользователя от учётной записи Windows, а если для входа используется учётная запись Microsoft account — то и от неё. Целью этой атаки является возможность входа в учётную запись пользователя и получение доступа к данным, защищённым механизмом DPAPI (об этом — ниже).

Хэши NTLM — одни из самых слабых, их защита не менялась десятилетиями, а скорость их перебора запредельно высока. Использование только центрального процессора позволяет достичь скорости перебора порядка 600,000 паролей в секунду, а видеокарта NVIDIA RTX 2070 демонстрирует скорость в 23 миллиарда (!) комбинаций в секунду. С такой скоростью перебора восстановить сложный 8-значный пароль из расширенного набора символов (заглавные и прописные буквы, цифры и допустимые специальные символы) можно за 87 часов. Чаще встречаются пароли, составленные только из цифр и букв в обоих регистрах. Такие пароли, состоящие из 8 символов, можно восстановить менее, чем за 3 часа. Подключив более мощный ускоритель или установив в компьютер несколько видеокарт, можно получить пропорциональный прирост скорости перебора.

Что такое DPAPI? И как это относится к NTLM?

Windows uses Data Protection Application Programming Interface (DPAPI) — прозрачный для пользователя механизм хранения, защиты и доступа к ключам шифрования. Его использование позволяет защитить такие данные, как ключи шифрования файлов EFS (шифрованная файловая система в NTFS), ключи шифрования, защищающие пароли в браузерах Microsoft Edge и Google Chrome, пароли к сетевым папкам и ресурсам FTP.

DPAPI используется для защиты данных в рамках каждой отдельной учётной записи. К примеру, один из пользователей компьютера может включить шифрования некоторых файлов, воспользовавшись функцией проводника «Encrypt contents to secure data». Такие файлы будут доступны самому пользователю, но другие пользователи на том же компьютере не смогут получить к ним доступ. Не будет доступа к зашифрованным файлам и в процессе анализа извлечённого из компьютера диска или его образа.

Другой пример: DPAPI используется для защиты ключей, которыми зашифрованы пароли, сохранённые в браузерах Microsoft Edge и Google Chrome. Этот тип защиты также прозрачен для пользователя: для доступа к хранилищу паролей не нужно вводить какой-либо мастер-пароль, достаточно просто быть авторизованным в своей учётной записи. В то же время другие пользователи компьютера или эксперт, анализирующий диск или его образ, доступа к паролям в браузере не получат до тех пор, пока не авторизуются в нужной учётной записи, использовав правильный пароль.

А что, в Windows можно войти с неправильным паролем? Да, можно: наш продукт Elcomsoft System Recovery позволяет загрузиться с USB-накопителя и сбросить (или сменить) пароль от учётной записи. После этого войти в учётную запись удастся, а вот получить доступ к защищённым DPAPI данным — уже нет: пароль — неправильный, ключи расшифрованы не будут. Правильный же пароль можно только восстановить атакой на хэш NTLM.

Стратегия приоритета NTLM

При использовании данной стратегии приоритеты и акценты смещены с ценности самой информации в файле или документе к той информации, которую можно использовать для восстановления пароля. Ценность документа как цифровой улики с точки зрения сбора данных о паролях неважна.

В рамках данной стратегии наибольшую ценность представляют хранилища паролей в веб-браузерах, для доступа к которым требуется обойти защиту Windows DPAPI. Защита DPAPI, в свою очередь, обходится путём взлома пароля от учётной записи пользователя системы из NTLM. Таким образом, атака на пароли из NTLM получает наивысший приоритет – даже если в системе нет зашифрованных дисков и зашифрованные файлы (документы, архивы и прочие) доступны в файловой системе.

В рамках стратегии приоритета NTLM процесс сбора и анализа данных имеет итеративный характер.

  1. Анализ незашифрованного диска (есть ли пароли, которые можно извлечь, минуя DPAPI)?
  2. Обновление словаря: полученные данные используются для словаря для атаки на пароль NTLM (или LM, если он обнаружен в системе).
  3. Атака на пароль NTLM (или LM).
  4. Получение доступа к данным, зашифрованным DPAPI (пароли браузера; история браузера; данные веб-форм; пароли от сетевых папок).
  5. Сбор базы данных для анализа.
  6. Анализируются полученные данные, включая извлечённые пароли. Составляются шаблоны, маски, подключаются мутации.
  7. Обновление словаря: пароли, извлечённые из браузеров пользователя, используются в качестве целевого словаря. Составляются атаки.
  8. Файлы и документы, найденные на диске, располагаются в очереди атак в порядке возрастания сложности атаки. В первую очередь атакуются документы с самой слабой защитой. (Пароли NTLM относятся к паролям со слабой защитой).

Стратегия приоритета NTLM идёт вразрез с другими стратегиями, в которых приоритет отдаётся атаке на файлы и документы, представляющие наибольший интерес в качестве цифровых улик. К сожалению, документы, которые представляют такую ценность, как правило, хорошо защищены, и шанс получить доступ к данным за минимальное время есть в случае, если хорошо защищённый документ отложить, занявшись в первую очередь сбором данных для последующей атаки

Дополнительная информация

О том, как получить доступ ко всем данным, защищённым DPAPI, доступно рассказывается в презентации:

Более подробно об этом механизме защиты можно почитать здесь:

В нашем арсенале есть продукт, при помощи которого можно извлечь защищённые DPAPI пароли к учётным записям пользователя из всех основных браузеров:

Существует и бесплатный инструмент, посредством которого из хранилища DPAPI можно извлечь двоичные ключи шифрования:

Заключение

Описанная в статье стратегия приоритета NTLM — одна из множества существующих стратегий, использующихся экспертами-криминалистами. На первый взгляд эта стратегия может показаться противоречащей здравому смыслу. Это не так в силу двух факторов: пароль от учётной записи Windows может открыть доступ к множеству других паролей пользователя, а защита NTLM — одна из самых слабых.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
НАШИ НОВОСТИ