潜在的 PowerShell 混淆脚本编辑

识别包含混淆 PowerShell 代码的模式和已知方法的脚本。攻击者可以使用混淆技术来绕过 PowerShell 安全保护措施,例如反恶意软件扫描接口 (AMSI)。

规则类型: 查询

规则索引:

  • winlogbeat-*
  • logs-windows.powershell*

严重性: 中等

风险评分: 47

: 5m

搜索索引自: now-9m (日期数学格式,另请参见 其他回溯时间)

每次执行的最大警报数: 100

参考:

标签:

  • 领域: 端点
  • 操作系统: Windows
  • 用例: 威胁检测
  • 战术: 防御规避
  • 数据源: PowerShell 日志

版本: 1

规则作者:

  • Elastic

规则许可证: Elastic License v2

设置编辑

设置

必须启用*PowerShell 脚本块日志记录*日志记录策略。使用高级审核配置实施日志记录策略的步骤

Computer Configuration >
Administrative Templates >
Windows PowerShell >
Turn on PowerShell Script Block Logging (Enable)

通过注册表实施日志记录策略的步骤

reg add "hklm\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" /v EnableScriptBlockLogging /t REG_DWORD /d 1

规则查询编辑

event.category:process and host.os.type:windows and
  powershell.file.script_block_text : (
    "[string]::join" or
    "-Join" or
    "[convert]::toint16" or
    "[char][int]$_" or
    ("ConvertTo-SecureString" and "PtrToStringAuto") or
    ".GetNetworkCredential().password" or
    "-BXor" or
    ("replace" and "char") or
    "[array]::reverse"
  ) and
  powershell.file.script_block_text : (
    ("$pSHoMe[" and "+$pSHoMe[") or
    ("$ShellId[" and "+$ShellId[") or
    ("$env:ComSpec[4" and "25]-Join") or
    (("Set-Variable" or "SV" or "Set-Item") and "OFS") or
    ("*MDR*" and "Name[3,11,2]") or
    ("$VerbosePreference" and "[1,3]+'X'-Join''") or
    ("rahc" or "ekovin" or "gnirts" or "ecnereferpesobrev" or "ecalper" or "cepsmoc" or "dillehs")
  )

框架: MITRE ATT&CKTM