PowerShell 可疑发现相关 Windows API 函数
编辑PowerShell 可疑发现相关 Windows API 函数编辑
此规则检测 PowerShell 脚本中与发现相关的 Windows API 函数的使用。攻击者可以使用这些函数执行各种与态势感知相关的活动,如枚举用户、共享、会话、域信任、组等。
规则类型:查询
规则索引:
- winlogbeat-*
- logs-windows.powershell*
严重性:中等
风险评分: 47
每隔:5 分钟运行一次
从以下位置搜索索引:now-9m(日期数学格式,另请参见 附加回溯时间
)
每次执行的最大警报数: 100
参考:
标签:
- 域:端点
- 操作系统:Windows
- 用例:威胁检测
- 策略:发现
- 策略:收集
- 策略:执行
- 资源:调查指南
- 数据源:PowerShell 日志
版本: 213
规则作者:
- Elastic
规则许可证:Elastic 许可证 v2
调查指南编辑
分类和分析
调查 PowerShell 可疑发现相关 Windows API 函数
PowerShell 是系统管理员用于自动化、报告例程和其他任务的主要工具之一。这使得它可以在各种环境中使用,并为攻击者执行代码创造了一种有吸引力的方式。
攻击者可以使用 PowerShell 与 Win32 API 交互,以绕过基于命令行的检测,使用诸如 PSReflect 或 Get-ProcAddress Cmdlet 之类的库。
可能的调查步骤
- 检查触发检测的脚本内容;查找可疑的 DLL 导入、收集或渗出功能、可疑函数、编码或压缩数据以及其他潜在恶意特征。
- 调查脚本执行链(父进程树)以查找未知进程。检查其可执行文件以了解其普遍性,它们是否位于预期位置,以及是否使用有效的数字签名进行签名。
- 检查涉及的 PowerShell 进程的文件或网络事件以查找可疑行为。
- 调查过去 48 小时内与用户/主机关联的其他警报。
- 评估用户是否需要使用 PowerShell 来完成任务。
- 检查其他 PowerShell 和命令行日志,表明已运行导入的功能。
误报分析
- 如果脚本不包含其他功能,并且没有与用户或主机相关的其他警报,则发现活动本身在孤立情况下本质上并非恶意;可以忽略此类警报。但是,分析师应记住,这不是获取信息的一种常见方式,这使其可疑。
相关规则
- PowerShell PSReflect 脚本 - 56f2e9b5-4803-4e44-a0a4-a52dc79d57fe
响应和补救
- 根据分类结果启动事件响应流程。
- 隔离涉及的主机以防止进一步的入侵后行为。
- 使用 GPO、AppLocker、Intune 或类似软件限制 IT 和工程业务部门以外的 PowerShell 使用。
- 确定攻击者滥用的初始媒介,并采取措施防止通过同一媒介重新感染。
- 运行完整的反恶意软件扫描。这可能会揭示系统中留下的其他工件、持久性机制和恶意软件组件。
- 使用事件响应数据更新日志记录和审计策略,以改善平均检测时间 (MTTD) 和平均响应时间 (MTTR)。
设置编辑
设置
必须启用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 : ( NetShareEnum or NetWkstaUserEnum or NetSessionEnum or NetLocalGroupEnum or NetLocalGroupGetMembers or DsGetSiteName or DsEnumerateDomainTrusts or WTSEnumerateSessionsEx or WTSQuerySessionInformation or LsaGetLogonSessionData or QueryServiceObjectSecurity or GetComputerNameEx or NetWkstaGetInfo or GetUserNameEx or NetUserEnum or NetUserGetInfo or NetGroupEnum or NetGroupGetInfo or NetGroupGetUsers or NetWkstaTransportEnum or NetServerGetInfo or LsaEnumerateTrustedDomains or NetScheduleJobEnum or NetUserModalsGet )
框架: MITRE ATT&CKTM
-
策略
- 名称:发现
- ID:TA0007
- 参考网址:https://attack.mitre.org/tactics/TA0007/
-
技术
- 名称:权限组发现
- ID:T1069
- 参考网址:https://attack.mitre.org/techniques/T1069/
-
子技术
- 名称:本地组
- ID:T1069.001
- 参考网址:https://attack.mitre.org/techniques/T1069/001/
-
技术
- 名称:帐户发现
- ID:T1087
- 参考网址:https://attack.mitre.org/techniques/T1087/
-
子技术
- 名称:本地帐户
- ID:T1087.001
- 参考网址:https://attack.mitre.org/techniques/T1087/001/
-
技术
- 名称:域信任发现
- ID:T1482
- 参考网址:https://attack.mitre.org/techniques/T1482/
-
技术
- 名称:网络共享发现
- ID:T1135
- 参考网址:https://attack.mitre.org/techniques/T1135/
-
策略
- 名称:执行
- ID:TA0002
- 参考网址:https://attack.mitre.org/tactics/TA0002/
-
技术
- 名称:命令和脚本解释器
- ID:T1059
- 参考网址:https://attack.mitre.org/techniques/T1059/
-
子技术
- 名称:PowerShell
- ID:T1059.001
- 参考网址:https://attack.mitre.org/techniques/T1059/001/
-
技术
- 名称:本机 API
- ID:T1106
- 参考网址:https://attack.mitre.org/techniques/T1106/
-
策略
- 名称:收集
- ID:TA0009
- 参考网址:https://attack.mitre.org/tactics/TA0009/
-
技术
- 名称:来自网络共享驱动器的数据
- ID:T1039
- 参考网址:https://attack.mitre.org/techniques/T1039/