原创 DarkLuke SecLink安全空间
免责申明
本文提到的检测规则仅供学习和讨论使用。我们提供的示例规则和指导并不构成任何形式的正式建议或解决方案。由于每个企业的安全环境和需求都存在差异,我们强烈建议企业根据自身实际情况和环境对这些规则进行针对性修改和充分测试,以确保它们符合您的组织的具体需求和安全要求。
对于因使用或实施这些规则而可能引发的任何问题或损失,我们不承担任何责任。
在本系列文章中,我们将探讨基于Mitre ATT&CK框架的TTP战术,如何在不同环境(云、企业、ICS)和场景下制定行之有效的检测规则,并且围绕实际攻击场景、检测、响应与调优展开。
本文是企业蓝队建设、规则分享系列的第三篇,主要介绍「T1140 文件、信息反混淆/解码」检测的规则编写,帮助安全团队提高针对企业终端的防护能力场景。
查看之前的系列文章传送门:SIEM规则分享:T1555.006 云密钥管理存储
介绍
Mitre ATT&CK框架将攻击过程分为多个阶段,从初始访问
、信息收集
、权限提升
再到数据泄漏
,每个阶段都包括多个战术和技术。
具体到企业终端,攻击者可能会使用混淆的文件或信息来隐藏入侵的痕迹
以防止分析。
类别
战术名称
: 反混淆/解码文件或信息
适用平台
: Linux, Windows, macOS
场景
反混淆/解码文件或信息 (T1400)
:攻击者可能通过不同方式来解码或反混淆该信息,具体取决于他们打算如何使用这些信息。
这样做的方法包括恶意软件的内置功能
或使用系统上存在的原生应用程序
。
检测和响应
案例一
检测识别Powershell日志中混淆命令执行的行为。通过匹配特定的命令(如Invoke-Expression、Invoke-Command、Invoke-WebRequest)并检测其熵值或字符序列的异常,识别潜在的恶意活动。
title: 检测PowerShell中的混淆命令执行
id: 7f3e2d1e-89d4-4cdd-85f1-abb68c321fbc
description: 该规则检测PowerShell脚本的执行,其中包含高度混淆的命令(如`Invoke-Expression`、`Invoke-Command`或`Invoke-WebRequest`),并通过分析其熵值识别可能的恶意脚本。
references:
- https://docs.microsoft.com/en-us/powershell/
- https://attack.mitre.org/techniques/T1059/001/
logsource:
category: process_creation
product: windows
service: powershell
detection:
selection:
EventID: 4103
Message|contains:
- 'Invoke-Expression'
- 'Invoke-Command'
- 'Invoke-WebRequest'
regex_obfuscation_command:
Message|re: '(?i)"command";\svalue="(.+?)"' # 匹配命令
regex_obfuscation_script:
Message|re: '(?i)script\s+name\s+=(.+\.ps1)' # 匹配脚本名称
filter_noise_length:
obfuscated_cmd|re: '.{25,}' # 检查命令长度超过25字符
filter_noise_bxor:
obfuscated_cmd|contains: 'bxor' # 查找混淆常见关键字
filter_noise_spaces:
obfuscated_cmd|re: '\s{30}' # 连续30个空格
filter_noise_words:
obfuscated_cmd|re: '\w{30}' # 连续30个字母或数字
filter_noise_numbers:
obfuscated_cmd|re: '((\s?\d{1,8}(\s+|,)?){15})' # 数字序列混淆
condition:
selection
and (regex_obfuscation_command and regex_obfuscation_script)
and filter_noise_length
and filter_noise_bxor
and filter_noise_spaces
and filter_noise_words
and filter_noise_numbers
fields:
- process
- process_*
- signature_id
- user
- obfuscated_cmd
- script_name
level: high
tags:
- attack.execution
- attack.t1059.001
- attack.defense_evasion
- attack.obfuscation
日志源
:Windows事件日志、Sysmon
告警等级
:高
误报(False Postive)
:
正常的自动化脚本可能包含复杂的命令,需要与开发团队确认。
某些合法的系统管理脚本也可能引发误报,应通过白名单排除。
案例二
检测Windows系统中执行certutil.exe时带有解码参数的行为。攻击者常利用Certutil下载并解码恶意软件。
title: 检测Windows系统中使用Certutil解码操作
id: 9bdf5a0e-c1b9-47a9-b631-3bfa5f32e2e1
description: 检测`certutil.exe`使用解码参数的行为,此行为可能表明攻击者正在下载并解码恶意软件。Certutil是一种常见的“活用现有系统二进制文件” (LOLBin),经常被攻击者滥用。
references:
- https://attack.mitre.org/techniques/T1140/
- https://lolbas-project.github.io/lolbas/Binaries/Certutil/
logsource:
category: process_creation
product: windows
detection:
selection_certutil:
Image|endswith: '\certutil.exe'
selection_decode:
CommandLine|contains:
- '-decode'
- '-decodehex'
regex_decode:
CommandLine|re: '.*[^a-z]\-decode[^a-z].*'
condition: selection_certutil and (selection_decode) and regex_decode
fields:
- UtcTime
- Image
- CommandLine
- User
- ProcessId
- ParentImage
level: high
tags:
- attack.defense_evasion
- attack.execution
- attack.t1140
日志源
:Windows事件日志、Sysmon
告警等级
:高
误报(False Postive)
:
系统管理员可能会出于管理证书的合法目的使用certutil.exe。
自动化脚本或合法软件在执行过程中可能无意中触发这些解码命令。
响应步骤
SOC团队对混淆部分进行分析研判,如有必要,立即隔离受感染的终端,以防止进一步传播;如确认误报后,将相关的合法脚本或命令添加到白名单中,减少不必要的告警。
使用SIEM和EDR工具进一步调查取证进程及相关用户行为,确定攻击路径。
规则转换
推荐使用sigma-convert (https://github.com/marirs/sigma-convert),或者在线工具sigconverter (https://sigconverter.io/),将Sigma Rule转化为相应SIEM的搜索语句。
使用Sigma及DAC搭建传送门:1小时搞定检测即代码(DAC) - 附详细步骤
EventID=4103 Message IN ("*Invoke-Expression*", "*Invoke-Command*", "*Invoke-WebRequest*") obfuscated_cmd="*bxor*"
| regex Message="(?i)\"command\";\\svalue=\"(.+?)\""
| regex Message="(?i)script\\s+name\\s+=(.+\\.ps1)"
| regex obfuscated_cmd=".{25,}"
| regex obfuscated_cmd="\\s{30}"
| regex obfuscated_cmd="\\w{30}"
| regex obfuscated_cmd="((\\s?\\d{1,8}(\\s+|,)?){15})" | table process,process_*,signature_id,user,obfuscated_cmd,script_name
参考文档
Mitre ATT&CK Matrix:(https://attack.mitre.org/matrices/enterprise/)
Detection: Windows CertUtil Decode File:(https://research.splunk.com/endpoint/b06983f4-8f72-11ec-ab50-acde48001122/)
#参考
标签:regex,混淆,Invoke,蓝队,cmd,obfuscated,filter,解码 From: https://www.cnblogs.com/o-O-oO/p/18526408