class_name = "File Activity" | class_uid = 1001
当进程执行文件系统操作——创建、写入、删除或重命名文件时,会生成文件活动事件。
| activity_id | activity_name | type_uid | 描述 |
|---|---|---|---|
| 6 | 创建 | 100101 | 在文件系统上创建了新文件 |
| 8 | 更新 | 100103 | 向现有文件写入数据 |
| 9 | 删除 | 100104 | 删除了文件 |
| 10 | 重命名 | 100105 | 文件被重命名 |
| 20 | 目录创建 | — | 创建了新文件目录 |
| 字段 | 类型 | 描述 |
|---|---|---|
| file.name | 字符串 | 包含扩展名的文件名(例如,malware.exe) |
| file.path | 字符串 | 完整文件系统路径 |
| file.ext | 字符串 | 不带前导点的文件扩展名 |
| file.type_id | 长整型 | 文件类型 (1=常规文件, 2=文件夹, 7=符号链接, 8=可执行文件) |
重命名或复制操作后存在——描述操作后文件 之后 的文件。
| 字段 | 类型 | 描述 |
|---|---|---|
| file_result.name | 字符串 | 操作后新的文件名 |
| file_result.path | 字符串 | 操作后新的完整路径 |
| file_result.ext | 字符串 | 结果文件的扩展名 |
| file_result.type_id | 长整型 | 结果文件的文件类型 |
| 字段 | 类型 | 描述 |
|---|---|---|
| actor.process.name | 字符串 | 执行文件操作的进程名称 |
| actor.process.pid | 长整型 | 执行进程的 PID |
| actor.process.uid | 字符串 | 执行进程实例的唯一 ID |
| actor.process.cmd_line | 字符串 | 执行进程的完整命令行 |
| actor.process.created_time | 日期时间 | 执行进程创建的时间戳 |
| actor.process.file.name | 字符串 | 执行进程的可执行文件名 |
| actor.process.file.path | 字符串 | 执行进程的可执行文件路径 |
| actor.process.file.sha256 | 字符串 | 执行进程可执行文件的 SHA-256 |
| actor.process.file.ext | 字符串 | 执行进程可执行文件的扩展名 |
| actor.process.file.type_id | 长整型 | 执行进程可执行文件的文件类型 ID |
| actor.process.file.hashes.algorithm | 字符串 | 哈希算法 |
| actor.process.file.hashes.value | 字符串 | 哈希值 |
| actor.process.file.company_name | 字符串 | 执行进程可执行文件的公司名称 |
| actor.process.file.version | 字符串 | 执行进程可执行文件版本 |
| actor.process.file.size | 长整型 | 执行进程可执行文件大小(字节) |
| actor.process.file.accessed_time | 日期时间 | 执行进程可执行文件最后访问时间 |
| actor.process.file.modified_time | 日期时间 | 执行进程可执行文件最后修改时间 |
| actor.process.file.created_time | 日期时间 | 执行进程可执行文件创建时间 |
| actor.process.user.name | 字符串 | 运行执行进程的用户名 |
| actor.process.user.type_id | 长整型 | 账户类型(1=用户,2=管理员,3=系统) |
| observables.name | 描述 |
|---|---|
| 文件创建事件 | 创建了文件 |
| 文件写入事件 | 文件被写入 |
| 文件删除事件 | 删除了文件 |
| 文件重命名事件 | 文件被重命名 |
| 目录创建事件 | 创建了目录 |
使用此字段作为快速过滤简写:
observables.name = "File Write Event"
任何进程写入 Temp 的可执行文件:
class_name = "File Activity" and activity_id = 8 and file.ext = "exe" and file.path contains "Temp"
PowerShell 写入的文件:
class_name = "File Activity" and activity_id = 8 and actor.process.name = "powershell.exe"
双扩展名文件(例如,invoice.pdf.exe):
class_name = "File Activity" and file.name contains ".pdf.exe"
脚本引擎在用户可写路径中投放的文件:
class_name = "File Activity" and activity_id = 6 and actor.process.name in "powershell.exe","wscript.exe","cscript.exe","mshta.exe" and file.path contains "AppData"
class_name = "Process Activity" | class_uid = 1007
当进程启动、终止,或受到注入或模块加载操作时,会生成进程活动事件。这是唯一一个顶级 process.* 对象(目标进程)与 actor.process.*(启动进程)不同的类。
关键区别: actor.process = 执行动作的进程(例如,winword.exe 启动 cmd.exe)。process = 被操作的进程(例如,刚启动的 cmd.exe)。这只 在进程活动 事件中有效——在其他所有类中,process.* 不存在。
| activity_id | activity_name | type_uid | 描述 |
|---|---|---|---|
| 1 | 启动 | 100701 | 进程被启动/创建 |
| 2 | 终止 | 100702 | 进程被终止 |
| 字段 | 类型 | 描述 |
|---|---|---|
| process.name | 字符串 | 运行时进程名称(例如,cmd.exe) |
| process.pid | 长整型 | 操作系统分配的 PID |
| process.uid | 字符串 | 跨平台唯一进程实例 ID |
| process.cmd_line | 字符串 | 包括参数的完整命令行 |
| process.created_time | 日期时间 | 进程创建时间戳 |
| process.user.name | 字符串 | 运行目标进程的用户名 |
| process.user.type_id | 长整型 | 账户类型 |
| process.lineage_uid | String[] | 目标进程的完整血统链 |
| 字段 | 类型 | 描述 |
|---|---|---|
| process.file.name | 字符串 | 可执行文件名 |
| process.file.path | 字符串 | 完整可执行文件路径 |
| process.file.sha256 | 字符串 | 可执行文件的 SHA-256 |
| process.file.ext | 字符串 | 文件扩展名 |
| process.file.type_id | 长整型 | 文件类型 ID |
| process.file.hashes.algorithm | 字符串 | 哈希算法 |
| process.file.hashes.value | 字符串 | 哈希值 |
| process.file.company_name | 字符串 | 可执行文件的公司名称 |
| process.file.version | 字符串 | 可执行文件版本 |
| process.file.size | 长整型 | 可执行文件大小(字节) |
| process.file.accessed_time | 日期时间 | 可执行文件的最后访问时间 |
| process.file.modified_time | 日期时间 | 可执行文件的最后修改时间 |
| process.file.created_time | 日期时间 | 可执行文件的创建时间 |
| 字段 | 类型 | 描述 |
|---|---|---|
| process.parent_process.name | 字符串 | 父进程名称 |
| process.parent_process.pid | 长整型 | 父进程 PID |
| process.parent_process.uid | 字符串 | 父进程唯一 ID |
| process.parent_process.cmd_line | 字符串 | 父进程命令行 |
| process.parent_process.file.name | 字符串 | 父进程可执行文件名 |
| process.parent_process.file.path | 字符串 | 父进程可执行文件路径 |
| process.parent_process.file.sha256 | 字符串 | 父进程可执行文件的 SHA-256 |
| process.parent_process.file.hashes.algorithm | 字符串 | 哈希算法 |
| process.parent_process.file.hashes.value | 字符串 | 哈希值 |
| process.parent_process.file.company_name | 字符串 | 父进程可执行文件的公司名称 |
| process.parent_process.file.version | 字符串 | 父进程可执行文件版本 |
| process.parent_process.file.size | 长整型 | 父进程可执行文件大小(字节) |
| process.parent_process.file.accessed_time | 日期时间 | 父进程可执行文件的最后访问时间 |
| process.parent_process.file.modified_time | 日期时间 | 父进程可执行文件的最后修改时间 |
| process.parent_process.file.created_time | 日期时间 | 父进程可执行文件的创建时间 |
| process.parent_process.user.name | 字符串 | 运行父进程的用户名 |
| process.parent_process.user.type_id | 长整型 | 父进程用户账号类型 |
与 文件活动 > 行为进程中描述的结构相同。适用于所有事件类别。
PowerShell 以 SYSTEM 身份启动:
class_name = "Process Activity" and activity_id = 1 and process.name = "powershell.exe" and process.user.type_id = 3
Word 生成的 cmd.exe(宏执行):
class_name = "Process Activity" and activity_id = 1 and process.name = "cmd.exe" and actor.process.name = "winword.exe"
lsass.exe 作为父进程(通过进程注入访问凭证):
class_name = "Process Activity" and activity_id = 1 and process.parent_process.name = "lsass.exe"
从临时目录启动的进程:
class_name = "Process Activity" and activity_id = 1 and process.file.path contains "Temp"
脚本引擎生成网络工具(双跳):
class_name = "Process Activity" and activity_id = 1 and process.name in "curl.exe","wget.exe","certutil.exe","bitsadmin.exe" and actor.process.name in "powershell.exe","wscript.exe","cscript.exe","mshta.exe"
class_name = "Authentication" | class_uid = 3002
身份验证事件捕获终端上的登录活动 — 包括交互式和网络登录。此类事件对于检测暴力破解攻击、凭证滥用、横向移动以及通过账户上下文进行权限提升至关重要。
| activity_id | activity_name | type_uid | 描述 |
|---|---|---|---|
| 501 | 登录 | 300201 | 用户尝试登录 |
| 字段 | 类型 | 已知值 | 描述 |
|---|---|---|---|
| status | 字符串 | 成功,失败 | 人类可读的结果 |
| status_id | 长整型 | 0=未知,1=成功,2=失败,99=其他 | 结果 ID |
| status_detail | 字符串 | 登录成功 | 供应商特定状态详情 |
| 字段 | 类型 | 描述 |
|---|---|---|
| actor.user.name | 字符串 | 尝试或执行登录的用户名 |
| actor.user.domain | 字符串 | 用户的域(例如,WORKGROUP) |
| 字段 | 类型 | 描述 |
|---|---|---|
| user.name | 字符串 | 认证用户的名称 |
| user.type | 字符串 | 账号类型标签(例如,用户,系统) |
| user.type_id | 长整型 | 账号类型 ID(1=用户,2=管理员,3=系统) |
| user.domain | 字符串 | 认证用户的域(例如,NT AUTHORITY) |
| 字段 | 类型 | 描述 |
|---|---|---|
| logon_type | 字符串 | 登录类型标签(例如,服务,交互式) |
| logon_type_id | 长整型 | 登录类型 ID(参见以下参考) |
| logon_type_id | 登录类型 |
|---|---|
| 0 | 未知 |
| 1 | 系统 |
| 2 | 交互式 |
| 3 | 网络 |
| 4 | 批处理 |
| 5 | 服务 |
| 7 | 解锁 |
| 8 | 网络明文 |
| 9 | 新凭证 |
| 10 | 远程交互 |
| 11 | 缓存交互 |
| 12 | 缓存远程交互 |
| 13 | 缓存解锁 |
| 99 | 其他 |
| 字段 | 类型 | 描述 |
|---|---|---|
| auth_protocol | 字符串 | 认证协议标签(例如,协商,Kerberos) |
| auth_protocol_id | 长整型 | 认证协议 ID(参见以下参考) |
| auth_protocol_id | 协议 |
|---|---|
| 0 | 未知 |
| 1 | NTLM |
| 2 | Kerberos |
| 3 | 摘要 |
| 12 | LDAP |
| 字段 | 类型 | 描述 |
|---|---|---|
| session.uid | 字符串 | 唯一会话标识符(例如,0x3E7) |
| is_remote | 布尔值 | 身份验证是否为远程 |
| src_endpoint.ip | 字符串 | 登录请求的源 IP |
特定用户的失败登录:
class_name = "Authentication" and status_id = 2 and actor.user.name = "administrator"
所有失败登录(暴力破解狩猎):
class_name = "Authentication" and status_id = 2
来自意外源 IP 的成功登录:
class_name = "Authentication" and status_id = 1 and src_endpoint.ip != "10.0.0.0"
系统账号登录:
class_name = "Authentication" and status_id = 1 and user.type_id = 3
远程登录会话:
class_name = "Authentication" and is_remote = true
服务类型登录:
class_name = "Authentication" 且 logon_type_id = 5
使用 Kerberos 认证的登录:
class_name = "Authentication" 且 auth_protocol_id = 2