Как стать автором
Обновить

Комментарии 7

Это связано с тем, что любой, у кого есть доступ к файлу, может использовать его для аутентификации, не зная фактического пароля. Кстати, по похожему принципу построена атака pass the hash, когда злоумышленник вместо пароля использует его хэш, и этого бывает достаточно для аутентификации в системе.

$pwd = read-host "password:" -AsSecureString

$Encrypted = ConvertFrom-SecureString -SecureString $pwd Для шифрования используется API защиты данных Windows (DPAPI), расшифровать можно только из профиля пользователя(сеанса). Если просто получить доступ к строке, то без доступа к учетке пользователя не получится расшифровать.

С тем же успехом можно утверждать, что пароль можно дернуть из кред менеджера через

$Cred = Get-StoredCredential -Target PowerShell

$pass = [Net.NetworkCredential]::new('', $cred.Password).Password

+1
К тому же эту шифрованную строку можно расшифровать только на той же машинке, где её создали. Запустите на двух разных машинах под одной и той же доменной учетной записью и сравните выдачу $SecureString:

$PlainPassword = "P@ssw0rd!"
$SecurePassword = ConvertTo-SecureString $PlainPassword -AsPlainText -Force
$SecurePassword
$SecureString = ConvertFrom-SecureString -SecureString $SecurePassword
$SecureString
$secString2 = ConvertTo-SecureString -String $SecureString
$PlainPasswordRecovered =  [Net.NetworkCredential]::new('', $SecString2).Password
$PlainPasswordRecovered

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

 $cred = [System.Net.CredentialCache]::DefaultNetworkCredentials

У нас выключили в АД повершел совсем для безопасности.

Для скриптов есть линукс..

У нас выключили в АД повершел совсем для безопасности.

Странное решение. У вас плоская сеть, нет PKI, безопасники ещё учатся?

Для скриптов есть линукс..

PowerShell скрипты, оперирующие объектами, а не строками с адским выводом и парсингом, на порядок удобнее для административных и регламентных задач Windows инфраструктуры, чем бардачный bash-инг / питонинг.

Ну конечно, виндус же в разы безопаснее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий