增强的端点遥测
当进程在Insight Agent监视的端点上启动时,代理将收集这些数据并以详细日志的形式将其发送给InsightIDR。必威体育app登录这些日志包括有价值的信息,如资产名称、主机名、进程启动时间等。
可与InsightIDR的最终包
Enhanced Endpoint Telemetry是Ultimate包的一个特性,以前是作为附加模块提供的。当您购买Ultimate包时,您将获得对Insight Agent捕获的流程启动数据归档的完全访问权。必威体育app登录有关价格和包装信息,请与您的Rapid7客户代表联系。
增强端点遥测的好处
虽然InsightIDR提供了对可疑和恶意事件的开箱检测,但由Insight Agent捕获的信息包含丰富的元数据,这些元数据对于创建自定义检测、加速警报调查和促进完整的事件响应非常有用。必威体育app登录
您可以通过多种方式使用增强端点遥测技术来提高组织的安全性:
- 创建针对您的组织的战术的自定义警报,例如由您的自定义web应用程序执行的powershell命令。
- 调查可疑活动,了解真实威胁的可能性。例如,您可以查询流程启动数据,并显示捕获警报之前和之后执行的所有命令。
- 了解事件的真实范围,并作出更精确的反应。您可以查询所有端点数据,以确定可疑事件是否与特定用户或资产隔离,或者是否多个用户和资产受到影响。
- 识别用户何时在某个终端上玩游戏或运行其他未经批准的软件。
需求
要访问EET数据,您需要:
- Ultimate包的许可证,或访问以前可用的EET附加模块。有关定价和包装选项,请与您的Rapid7客户代表联系。
- 在端点上安装的最新版本的Insight Agent。必威体育app登录
数据保留
EET数据热存30天,冷存90天。在InsightIDR中存储和保留日志查看此解决方案概要.
在日志搜索中查看端点活动
从InsightIDR左侧菜单中单击日志搜索.选择端点的活动日志设置。根据需要调整日期选择器上的日期范围。
查询流程启动数据
在本节中,我们将介绍解锁嵌入在Process Start数据中的值的方法。
对于示例查询,请查看以下部分:
创建自定义查询
自定义查询允许您捕获与您的组织唯一相关的活动并发出警报。要根据端点活动数据进行查询,请转到InsightIDR左侧菜单并单击日志搜索.选择端点的活动日志集,并使用查询栏创建查询。首先,你可以看看这些示例查询.
查询数据的提示:
- 选择不区分大小写和部分映射复选框
- 选择端点的活动logset过滤器
- 将下面查询中粗体部分的值替换为日志中的真实数据
- 根据需要更新在日期选择器中选择的日期范围。
在日志搜索中启用不区分大小写和部分映射
我们强烈建议您选择不区分大小写和部分映射复选框,以确保获得最佳可能的结果。
保存查询
创建查询后,单击保存单击查询栏右侧的。
查看保存的查询
要查看保存的查询,请选择查询下拉菜单位于查询栏的左侧。
示例查询
查询包含占位符变量(由大胆的文本),应该用日志中的实际值替换。
查询端点活动数据的提示:
- 选择不区分大小写和部分映射复选框
- 选择端点的活动logset过滤器
- 使用先进的模式
- 将下面查询中粗体部分的值替换为日志中的真实数据
- 根据需要更新在日期选择器中选择的日期范围
查询进程启动数据
这些查询旨在帮助您在流程启动数据中找到有用的信息,这些数据在日志搜索中流入端点活动日志集。
如果您没有看到您需要的软件的查询,请替换大胆的价值与您正在寻找的软件相匹配。
显示所有独特的资产与选择的软件运行
在哪里(process.name = /your_process. exe /我或parent_process.name = /teamviewer.exe/ i) groupby(主机名)计算(独特:主机名)限制(1000)
找到软件版本
父
在哪里(parent_process.name = /your_process. exe / i) groupby (parent_process.exe_file.version)计算(独特:主机名)
孩子
在哪里(process.name = /your_process. exe / i) groupby (' process.exe_file.version)计算(独特:主机名)
查找以psexec或psexecsvc作为父进程或子进程运行的主机
- 我在哪里(process.name = / psexec.exe /或parent_process.name = / psexec.exe / i) groupby(主机名)计算(独特:主机名)限制(1000)
- 我在哪里(process.name = / psexecsvc.exe /或parent_process.name = / psexecsvc.exe / i) groupby(主机名)计算(独特:主机名)
集团
在某些情况下,您可能希望根据特定的标准查找数据。您可以根据域、操作系统、文件描述等对日志进行分组。
- groupby (dns_domain)
- groupby (os_type)
- groupby (process.exe_file.description)
- groupby (process.exe_file.product_name)
通过主机名和命令行查找ping进程
我在哪里(process.name = / ping.exe) groupby(主机名、process.cmd_line)
通过主机名和命令行查找Netstat进程
我在哪里(process.name = / netstat.exe) groupby(主机名、process.cmd_line)
通过命令行和/或主机名查找包含特定单词的进程
- (process.name = /。your_word。/ i) groupby (process.cmd_line)
- (process.cmd_line = /。your_word。/ i) groupby(主机名、process.cmd_line)
通过主机名和命令行查找RDP
我在哪里(process.name = / mstsc.exe) groupby(主机名、process.cmd_line)
找到Microsoft Management Console及其命令行
我在哪里(process.name = / mmc.exe) groupby (process.cmd_line)
通过终端和用户名找到启动ADUC的MMC
where(process.name=/mmc.exe/i AND process.cmd_line=/.*dsa.msc/i)
通过主机名和父进程命令行找到Mimikatz
我在哪里(/ mimikatz /) groupby(主机名、parent_process.cmd_line)
按运行在唯一主机上的进程分组
groupby (process.name)计算(独特:主机名)限制(1000)
找到MSIExec安装
在哪里(process.name =“msiexec.exe”和process.cmd_line = /。/我。/ i) groupby (process.cmd_line)
找到MSIExec安静安装
在哪里(process.name =“msiexec.exe”和process.cmd_line = /。/安静。/ i) groupby (process.cmd_line)
按Linux进程权限和进程名分组
groupby (process.exe_file。权限,process.name)
按流程声誉分组
groupby (process.hash_reputation.reputation)
根据名称和声誉查找所有流程
- (process.hash_reputation.reputation =“已知”)groupby (process.name)
- (process.hash_reputation.reputation =“未知”)groupby (process.name)
- (process.hash_reputation.reputation =“恶意”)groupby (process.name)
根据可靠性查找过程
在哪里(process.hash_reputation.reputation = 'process_reputation”)groupby (process.hash_reputation.reliability)
按整个过程的可靠性分组
groupby (process.hash_reputation.reliability)
根据声誉威胁级别查找流程
在哪里(process.hash_reputation.reputation = 'process_reputation”)groupby (process.hash_reputation.threat_level)
根据名称、主机名和用户名查找进程
在哪里(process.hash_reputation.reputation = 'process_reputation”)groupby (process.name、主机名process.username)
通过进程名和威胁级别查找PUPs
在哪里(process.hash_reputation.classification.type = PUA) groupby (process.name process.hash_reputation.threat_level)
通过名称、主机名和用户名查找PUPs
在哪里(process.hash_reputation.classification.type = PUA) groupby (process.name、主机名process.username)
通过进程名查找广告软件
(process.hash_repuation.classification.type =“广告软件”)groupby (process.name)
按进程分类类型分组
groupby (process.hash_reputation.classification.type)
找到密码的文档
excel (process.name = / (winword | | |记事本记事本+ + | textpad) . exe /我和process.cmd_line = /(。密码。)。(doc | txt | xls)。* / i) groupby (process.cmd_line)
按所有进程威胁级别分组
groupby (process.hash_reputation.threat_level)
按名称查找低威胁级别进程
(process.hash_reputation.threat_level =“低”)groupby (process.name)
按威胁级别查找进程
在哪里(process.hash_reputation.reputation = 'process_reputation”)groupby (process.hash_reputation.threat_level)
寻找具有知名声誉的流程
(process.hash_reputation的地方。在['Very high', ' high']中,可以使用groupby(process.name)。
查找显示Taskkill.exe进程的命令行
我在哪里(process.name = / taskkill.exe) groupby (process.cmd_line)
使用PsLoggedon.exe工具查找主机名和用户
此查询显示本地机器上已连接的用户和使用本地端点资源的远程连接
在哪里(process.name = PsLoggedon.exe) groupby(主机名、process.username)
查找运行本机screencapture.exe软件的主机名和用户
在哪里(process.name = ScreenCapture.exe) groupby(主机名、process.username)
查找运行SSH和/或Telnet程序的进程、主机名和用户
(process.exe_file.description = /。SSH、telnet。/我)groupby (process.name、主机名process.username)
查找执行whoami命令行的主机名和用户
在哪里(process.name = whoami.exe) groupby(主机名、process.username)
查询进程启动数据(Powershell专用)
找到powershell流程
父进程
我在哪里(process.name = / powershell.exe) groupby (parent_process.name)
子进程
我在哪里(parent_process.name = / powershell.exe) groupby (process.name)
查找不是空的或正在运行ps1脚本的powershell进程命令行
父进程
我在哪里(parent_process.name = / powershell.exe /和parent_process。cmd_line NOT IN ["null", /。ps1。/我])groupby (parent_process.cmd_line)
子进程
我在哪里(process.name = / powershell.exe /和过程。cmd_line NOT IN ["null", /。ps1。/我])groupby (process.cmd_line)
查找作为父进程或子进程运行powershell_ISE的资源
我在哪里(process.name = / powershell_ise.exe /或parent_process.name = / powershell_ise.exe / i) groupby(主机名)计算(独特:主机名)
查询进程启动数据(特定于PSEXEC)
找到所有psexec命令行
我在哪里(process.name = / psexec.exe) groupby (process.cmd_line)
在系统帐户中找到运行远程进程的psexec
我在哪里(process.name = / psexec.exe /和process.cmd_line = /。年代。/ i) groupby (process.cmd_line)
找到Psexec正在系统帐户下运行进程的远程资产
我在哪里(process.name = / psexec.exe /和process.cmd_line = /。年代。/i AND /psexec.exe \(?P < remote_asset > [^] *) /) groupby (remote_asset)
查询历史用户和资产数据
当端点上检测到可疑事件时,您可以创建一个查询来查看在事件发生之前主机上发生的所有活动。下面的部分提供了两个查询,您可以使用它们来显示与流程启动事件关联的用户和资产。
查找与流程关联的唯一资产
在哪里(主机名= '主机名”)groupby(过程。cmd_line, process.exe_path) calculate(count)
查找与流程关联的唯一资产和用户
在哪里(主机名= '主机名“和process.username =”用户名”)groupby(过程。cmd_line, process.exe_path) calculate(count)
钻取触发警报的进程
当识别出可疑进程时,您可以通过在查询中包含process ID和资产的主机名来查看其他信息,如用户、散列和环境变量。
在哪里(process.pid = 'process_id和主机名=主机名”,松)
按进程和主机分组
下面的查询按进程/命令行对数据进行分组,以创建文本模式,便于发现不常运行的命令。异常命令行通常表明发生了可疑活动。
在运行示例查询之前,请确保选择一个日期范围,并按如下所示以粗体更新值:
- 取代process_name使用要分组的进程的名称
- 取代主机名使用资产的主机名
- 取代限制返回所需的结果数,例如20
在哪里(process.name = 'process_name和主机名=主机名') groupby(data.cmdLine) calculate(count) limit(限制)
查找未签名的Windows进程
下面的查询可以帮助您识别潜在的恶意未签名的Windows进程。
where("process.exe_file.signing_status.status"!="SIGNED_VALID") groupby(process.name, hostname) calculate(count)
调查可疑的登录活动
如果目标资产必威体育app登录上安装了Insight Agent,您可以使用以下查询识别可疑的登录活动。替换值大胆的用你日志里的真实数据。
在哪里(主机名= '主机名“和process.username =”用户名')
发现恶意散列
您可以使用下面的查询来识别计算机上恶意文件的所有实例,而不管该文件当前是否正在被访问。
在哪里(process.exe_file.hashes.sha1 = '哈希”)groupby(主机名)计算(计算)
从自定义查询创建警报
您可以基于自定义查询创建警报。为此,在查询栏中输入您的查询,然后单击搜索图标。然后,单击添加提醒并选择警报类型。有关创建警报的更多信息,请参见创建和管理自定义警报.
将流程启动事件数据添加到调查中
所有流程启动数据都可以在Investigations中使用。
将流程启动事件添加到调查中:
- 打开你想要更新的调查。
- 选择探索上下文数据>搜索日志.这将带您到日志搜索。
- 选择端点活动日志集。
- 定义您的查询。参考上面的例子,或检查日志搜索文档参阅编写查询的指导。
- 选择复选框在要添加到调查的日志行旁边,单击发送到调查.
- 在日志行中添加适用的上下文。
- 点击保存.日志线将出现在调查时间线。
增强端点遥测元数据
本节详细介绍Insight Agent发送给Log Search的端点活动数据。必威体育app登录您可以创建任意数量的查询来对该数据进行分组并发出警报。注意,Log Search中出现的字段在操作系统中有所不同。
流程启动事件
下表提供了Insight Agent收集的流程启动事件元数据的相关信息。必威体育app登录某些字段因操作系统而异。如果“操作系统”列中列出了“所有”,那么无论操作系统是什么,该字段都将被发送到Log Search。
场 | 描述 | 操作系统 |
---|---|---|
主机名 | 运行进程的端点的主机名 | 所有 |
dns_domain | 运行流程的端点的域 | 所有 |
os_type | 终端操作系统 | 所有 |
r7_hostid | Rapid7主机ID | 所有 |
过程 | 与捕获过程相关的所有数据 | 所有 |
parent_process | 与生成已启动进程的进程相关的所有数据 | 所有 |
env_vars | 该对象显示进程及其父进程启动时的环境变量。只有当父值与流程值不同时,才会列出它。进程值可用于查找在启动子进程之前更改环境变量的进程。如果进程的env_vars为空,并且父进程包含环境变量,我们将用父进程的环境变量填充它。 | 窗户 |
duplicated_events | 这表示在流程中发生的相同事件的计数。只有当我们看到类似的流程事件时才会填充。 | Linux |
流程细节
Insi必威体育app登录ght Agent收集并发送关于触发事件的流程和父流程的以下信息。某些字段根据进程或可执行文件所运行的操作系统而有所不同。如果“操作系统”列中列出了“所有”,则无论操作系统是什么,该字段都将发送到Log Search。
场 | 描述 | 操作系统 |
---|---|---|
start_time | 这个过程开始的时候 | 所有 |
的名字 | 名字的过程 | 所有 |
pid | 系统进程ID | 所有 |
ppid | 父系统进程ID | Mac / Linux,父母 |
r7_id | 代理生成的进程启动的唯一ID | 所有 |
exe_path | 可执行文件的路径 | 所有 |
img_path | 可执行文件的路径。如果可执行文件位于挂载的远程文件共享中,则此路径可能与exe_path不同。只在与exe_path不同时发送。 | 窗户 |
cmd_line | 用于启动进程的命令行调用,包括参数 | 所有 |
用户名 | 启动该进程的本地用户 | 所有 |
account_domain | 启动进程用户的AD域 | 窗户 |
uid | 用户ID | Mac / Linux |
集团 | 组名称 | Mac / Linux |
gid | 组ID | Mac / Linux |
euid_name | 有效的用户名 | Mac / Linux |
euid | 有效的用户ID | Mac / Linux |
egid_name | 有效的组名 | Mac / Linux |
egid | 有效的组ID | Mac / Linux |
ruid_name | 真正的用户名 | Mac |
ruid | 真正的用户ID | Mac |
rgid_name | 真正的组名 | Mac |
rgid | 真正的组ID | Mac |
fsuid | 文件系统用户ID | Linux |
fsgid | 文件系统组ID | Linux |
suid | 保存用户ID | Linux |
sgid | 保存组ID | Linux |
会话 | 启动进程的登录会话ID | 所有 |
addr | 用户正在进行连接的远程地址 | Mac |
港口 | 所使用的进程端口 | Mac |
exe_file | 关于可执行文件的信息 | 所有 |
可执行文件
下表概述了Insight Agent从可执行文件中收集的元数据。必威体育app登录
场 | 描述 | 操作系统 |
---|---|---|
exe_file.owner | 可执行文件的所有者 | 所有 |
exe_file.uid | 可执行文件所有者的ID | Mac / Linux |
exe_file.group | 可执行文件的组 | Mac / Linux |
exe_file.gid | 可执行文件的组ID | Mac / Linux |
exe_file.permissions | 可执行文件的权限字符串 | Mac / Linux |
exe_file.orig_filename | 来自文件元数据的原始文件名 | 窗户 |
exe_file.description | 来自文件元数据的描述 | 窗户 |
exe_file.product_name | 由文件元数据报告的可执行文件的产品名称 | 窗户 |
exe_file.author | 生成由文件元数据报告的可执行文件的公司 | 窗户 |
exe_file.version | 从文件元数据构建文件的版本 | 窗户 |
exe_file.created | 可执行文件创建日期 | 所有 |
exe_file.last_modified | 可执行文件最后一次修改日期 | 所有 |
exe_file.last_accessed | 可执行文件最后一次访问日期 | Mac / Linux |
exe_file.size | 可执行文件的大小 | 所有 |
exe_file.internal_name | 元数据中可执行文件的内部名称 | 窗户 |
散列 | 进程的不同散列的集合 | 所有 |
signing_status | 签名状态 | 窗户 |
signing_chain | 签名链 | 窗户 |
countersigning_chain | 会签链 | 窗户 |
散列
Insi必威体育app登录ght Agent收集并发送以下进程哈希信息:
场 | 描述 | 操作系统 |
---|---|---|
hashes.md5 | MD5哈希 | 所有 |
hashes.sha256 | SHA256散列 | 所有 |
hashes.sha1 | SHA1哈希 | 所有 |