我通过以管理员身份在 PowerShell 中运行命令来禁用 Windows Defender 的实时监控:
Set-MpPreference -DisableRealtimeMonitoring $true
但仍然无法执行脚本获取 TSLsaSecret。当我尝试运行它时,我得到:
At line:1 char:1
+ function Get-TSLsaSecret {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ScriptContainedMaliciousContent
编辑1:
在 Windows 设置中手动关闭 Windows Defender 实时保护后,我能够运行该脚本。但不清楚为什么该命令不起作用。
答案1
Windows Defender 不喜欢,Get-TSLsaSecret
因为这个脚本可以访问 Windows 最秘密的部分。
LSA 机密存储为
LSA 私有数据
在注册表中的 子项下
HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets
。例如,用于访问系统服务的所有信息(包括密码)都以纯文本形式保存在 子项下_SC_<ServiceName>
。用户帐户信息也保存在此处。
数据可能被黑客入侵。有关取证处理,请参阅
使用 PowerShell 从注册表解密 LSA 机密。
毫不奇怪,对该密钥的访问受到严格控制,甚至管理员也无法访问。Windows Defender 将防范任何此类尝试,并且在扫描磁盘时甚至会删除破解 LSA 的脚本。
结论:要使用此脚本,您基本上需要停用 Windows Defender。如果您重新激活它,您可能会发现您的脚本已被隔离,需要允许和恢复。