使用“原始日志扫描”功能搜索原始日志
当您进行搜索时,Google 安全运维团队会先检查已提取、解析和规范化的安全数据。如果您在规范化数据中找不到您要搜索的信息,则可以使用 RAW 日志扫描来检查未解析的原始日志。您还可以使用正则表达式更仔细地检查原始日志。
您可以使用“原始日志扫描”功能来调查日志中有日志但尚未编入索引的工件,具体包括:
- 用户名
- 文件名
- 注册表项
- 命令行参数
- 原始 HTTP 请求相关数据
- 基于正则表达式的域名
- 资源命名空间和地址
原始日志扫描
如需使用原始日志扫描,请在着陆页或菜单栏中的搜索字段中输入搜索字符串(例如,MD5 哈希)。至少输入 4 个字符(包括通配符)。如果 Google 安全运营团队找不到搜索字符串,则会打开原始日志扫描选项。指定开始时间和结束时间(默认为 1 周),然后点击搜索。
从着陆页扫描原始日志
系统会显示与搜索字符串关联的事件。点击箭头按钮即可打开关联的原始日志。
您也可以点击“日志来源”下拉菜单,然后选择要发送到 Google Security Operations 以搜索的一个或多个数据源。默认设置为全部。
正则表达式
您可以使用正则表达式在 Google Security Operations 中搜索和匹配安全数据中的字符串集。与使用完整的域名(例如)相反,正则表达式可让您使用信息片段来缩小搜索范围。
如需使用正则表达式语法执行搜索,请在搜索字段中输入正则表达式,勾选以正则表达式形式运行查询复选框,然后点击搜索。正则表达式的长度必须介于 4 到 66 个字符之间。
原始日志扫描作为正则表达式运行
Google 安全运营团队的正则表达式基础架构基于 Google RE2(一个开源正则表达式引擎)。Google 安全运营团队使用相同的正则表达式语法。如需了解详情,请参阅 RE2 文档。
下表突出显示了可用于搜索的一些常见正则表达式语法。
任意字符 | . |
x 个任意字符 | {x} |
字符类 | [xyz] |
否定字符类 | [^xyz] |
字母数字 (0-9A-Za-z) | [[:alnum:]] |
字母 (A-Za-z) | [[:alpha:]] |
数字 (0-9) | [[:digit:]] |
小写 (a-z) | [[:lower:]] |
大写 (A-Z) | [[:upper:]] |
字词字符 (0-9A-Za-z_) | [[:word:]] |
十六进制数 (0-9A-Fa-f) | [[:xdigit:]] |
以下示例说明了如何使用此语法来搜索数据:
goo.le\.com
- 匹配google.com
、goooogle.com
等goo\w{3}\.com
- 匹配google.com
、goodle.com
、goojle.com
等[[:digit:]]\.[[:alpha:]]
- 匹配34323.system
、23458.office
、897.net
等
用于搜索 Windows 日志的正则表达式示例
本部分提供了可与 Google Security Operations 原始日志扫描搭配使用的正则表达式查询字符串,以便查找通常受监控的 Windows 事件。这些示例假设 Windows 日志消息采用 JSON 格式。
如需详细了解受监控的 Windows 事件 ID,请参阅 Microsoft 文档中的要监控的事件主题。提供的示例遵循这些使用场景中所述的类似模式。
用例:返回 EventID 1150 的事件 | |
正则表达式字符串: | \"EventID\"\:\s*1150 |
匹配的值: | "EventID":1150 |
用例:返回事件 ID 为 1150 或 1151 的事件 | |
正则表达式字符串 | (?:\"EventID\"\:\s*)(?:1150|1151) |
匹配的值 | "EventID":1150 和 "EventID":1151 |
用例:返回事件 ID 为 1150 或 1151 且 ThreatID 9092 的事件 | |
正则表达式字符串 | (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092) |
匹配的值 | "EventID":1150 <...任意数量的字符...> "ThreadID":9092
and "EventID":1151 <...任意数量的字符...glt; "ThreadID":9092 |
查找账号管理事件
这些正则表达式查询字符串通过 EventID 特性标识常见的账号管理事件。
事件类型 | 正则表达式 |
创建了用户账号 | EventID\"\:\s*4720 |
已启用用户账号 | EventID\"\:\s*4722 |
已停用用户账号 | EventID\"\:\s*4725 |
已删除用户账号 | EventID\"\:\s*4726 |
用户权限修改 | EventID\"\:\s*4703 |
向已启用安全性的全局群组添加了成员 | EventID\"\:\s*4728 |
从已启用安全性的全局群组中移除了成员 | EventID\"\:\s*4729 |
已删除已启用安全性的全局群组 | EventID\"\:\s*4730 |
查找登录成功事件
这些正则表达式查询字符串使用 EventID 和 LogonType 特性标识成功登录事件的类型。
事件类型 | 正则表达式 |
登录成功 | EventID\"\:\s*4624 |
登录成功 - 互动 (LogonType=2) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\" |
登录成功 - 批量登录 (LogonType=4) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\" |
登录成功 - 服务登录 (LogonType=5) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\" |
登录成功 - 远程互动登录 (LogonType=10) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\" |
登录成功 - 互动、批量、服务或远程互动 | (?:EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\" |
查找登录失败事件
这些正则表达式查询字符串通过 EventID 和 LogonType 特性标识成功登录事件的类型。
事件类型 | 正则表达式 |
登录失败 | EventID\"\:\s*4625 |
登录失败 - 互动 (LogonType=2) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\" |
登录失败 - 批量登录 (LogonType=4) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\" |
登录失败 - 服务登录 (LogonType=5) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\" |
登录失败 - 远程互动登录 (LogonType=10) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\" |
登录失败 - 交互、批量、服务或远程交互式 | (?:EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\" |
查找进程、服务和任务事件
这些正则表达式查询字符串通过 EventID 特性标识某些进程和服务事件。
事件类型 | 正则表达式 |
进程启动 | EventID\"\:\s*4688 |
进程退出 | EventID\"\:\s*4689 |
已安装服务 | EventID\"\:\s*4697 |
已创建新服务 | EventID\"\:\s*7045 |
已创建安排任务 | EventID\"\:\s*4698 |
查找与对象访问权限相关的事件
这些正则表达式查询字符串通过 EventID 特性标识不同类型的进程和服务相关事件。
事件类型 | 正则表达式 |
已清除审核日志 | EventID\"\:\s*1102 |
尝试访问对象 | EventID\"\:\s*4663 |
已访问共享 | EventID\"\:\s*5140 |