Защита от взлома паролей в Windows

Я знаю, что существуют инструменты для получения паролей в виде простого текста из памяти в Windows (чтение памяти и расшифровка пароля из процесса LSASS).

Такое поведение все еще существует в Windows Server 2019?

Есть ли способ избежать получения пользователем локального администратора пароля от компьютера с Windows, используя некоторые из этих инструментов, например, Mimikatz?

Благодарю.

3 ответа

Решение

Нет, чтобы избежать этого, так как для кражи билета Kerberos или хеша NTLM имейте в виду, что пользователь должен быть локальным администратором, а приложение также должно запускаться от имени администратора.

Пожалуйста, смотрите эту записку от mimikatz;

Запустите Mimikatz от имени администратора: Mimikatz должен быть "Запуск от имени администратора", чтобы полностью функционировать, даже если вы используете учетную запись администратора.

Как таковой он попадает в 10 неизменных законов безопасности; См. Тот, который выделен жирным шрифтом;

Закон № 1: Если плохой парень может убедить вас запустить его программу на вашем компьютере, это больше не только ваш компьютер.

Закон № 2: Если плохой парень может изменить операционную систему на вашем компьютере, это больше не ваш компьютер.

Закон № 3: Если плохой парень имеет неограниченный физический доступ к вашему компьютеру, это уже не ваш компьютер.

Закон № 4: Если вы разрешаете плохому парню запускать активный контент на вашем сайте, это уже не ваш сайт.

Закон № 5: Слабые пароли превосходят надежную безопасность.

Закон № 6: компьютер защищен настолько, насколько заслуживает доверия администратор.

Закон № 7: Зашифрованные данные защищены так же, как их ключ дешифрования.

Закон № 8: устаревший сканер для защиты от вредоносных программ только незначительно лучше, чем вообще никакой сканер.

Закон № 9: Абсолютная анонимность практически не достижима, онлайн или офлайн.

Закон № 10: Технология не панацея.

Когда вы попадаете в 10 неизменных законов безопасности, Microsoft никогда не исправит это, поскольку администратор может сделать что-нибудь на компьютере, даже установив кейлоггер, который знает, как вы должны понимать, это больше, как вы защищаете свою среду от такого вектора атаки это важно.

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

Во-вторых, я бы удалил все другие загрузочные устройства, кроме жесткого диска, чтобы обезопасить тех, кто может загружаться на флэш-устройстве, чтобы не допустить того, кто может стереть пароль локальной учетной записи администратора.

В-третьих, я бы защищал надежным паролем BIOS.

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

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

При настройках по умолчанию невозможно выгрузить учетные данные WDigest в виде открытого текста из памяти LSA, но при наличии привилегий локального администратора все эти новые функции безопасности по-прежнему можно отключить, поскольку Microsoft любит поддерживать обратную совместимость. Итак, после добавления пары ключей реестра Mimikatz - или Kiwi для Windows 10 - снова начинает функционировать для всех паролей, введенных после изменений.

  • В Windows 8.1 были добавлены функции безопасности, которые перестали хранить учетные данные WDigest в виде открытого текста, и они были перенесены в более ранние версии Windows в KB2871997, исправляя каждую версию начиная с Windows 7. Когда функция включена, Mimikatz начинает показывать (null) для пароля, но его можно отключить с помощью:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest]
    "UseLogonCredential"=dword:00000001
    
  • В Windows 10 Защитник учетных данных Windows Defender защищает пароли. После отключения функции безопасности, как описано выше, отображаются пароли, но они не отображаются открытым текстом:

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

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard]
    "EnableVirtualizationBasedSecurity"=dword:00000000
    
    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA]
    "LsaCfgFlags"=dword:00000000
    

    Когда пользователь снова использует свой пароль, он появляется в виде открытого текста:

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

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

Сначала включите Credential Guard. Это удалит секреты из LSA, поэтому злоумышленники не смогут прочитать пароли из памяти процесса.

Во-вторых, включите режим защищенного процесса LSA (RunAsPPL=1). Это предотвратит внедрение кода злоумышленниками в LSA или чтение памяти.

В-третьих, включите HVCI, чтобы не дать злоумышленникам отключить вышеуказанные средства защиты внутри ядра.

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

Другие вопросы по тегам