remg427/misp42splunk

GitHub: remg427/misp42splunk

一个功能完善的Splunk技术附加组件(TA),作为MISP REST API的封装层,实现了Splunk与MISP威胁情报平台之间的双向数据交互与自动化协作。

Stars: 113 | Forks: 32

## 简介 此 TA 允许您的 [Splunk](https://www.splunk.com) 搜索头(集群)与一个或多个 [MISP](https://www.misp-project.org/) 实例进行交互。它是一个多功能 TA,作为 MISP API 的封装,既可以将 MISP 信息收集到 Splunk(自定义命令),也可以将信息从 Splunk 推送到 MISP(警报操作)。 该 TA 旨在利用 Splunk GUI 实现轻松安装、设置和维护。 ## 快速入门 **重要提示**:首次升级到 4.1.0 或更高版本后,您需要重新配置 TA(切换到新框架) 此应用程序设计用于 Linux 平台上的 **Splunk 搜索头**(未在 Windows 上测试,但可能可以运行) 1. 从 [splunkbase](https://splunkbase.splunk.com/app/4335/) **下载 TA** 2. 在您的 Splunk 搜索头上安装该应用程序:“Manage Apps” -> “Install app from file” 并重启 Splunk 服务器 3. 启动该应用程序(Manage Apps > misp42 > launch app)并进入 Configuration 菜单 4. 创建至少一个实例,例如 "default_misp"。 - 提供一个名称,例如 default_misp 以遵循本文档中的示例 - 提供 MISP 实例的 URL(版本 > 2.4.117) - 提供 authkey, - 检查(或不检查)MISP 服务器的证书, - 是否为此实例使用代理, - 如果需要,提供客户端证书(并选中使用它的框) ![inputs](https://github.com/remg427/misp42splunk/blob/main/images/misp42_add_misp_instance.png) 5. 如果您需要**多个实例**,请创建额外的条目。 6. 重要提示:使用此应用程序的角色/用户必须拥有 "list_storage_passwords" 权限(因为 API KEY 和代理密码是安全加密存储的)。 ## 用法 1. MISP 到 SPLUNK(自定义命令): **`| mispgetioc misp_instance=default_misp _params_ | ...`** 将 MISP 事件属性作为查找获取到 Splunk 搜索管道中。 **`| mispgetevent misp_instance=default_misp _params_ | ...`** 将 MISP 事件作为查找获取到 Splunk 搜索管道中。 **`| mispcollect misp_instance=default_misp _params_ | ...`** 将 MISP 属性或事件作为具有完整映射的事件获取到 Splunk 中。 **`search ... |mispsearch misp_instance=default_misp field=myvalue | ...`** 在 MISP 中搜索匹配的属性。 **`search ... |mispsight misp_instance=default_misp field=myvalue | ...`** 获取特定值的目击信息(请注意,如果有误报(FP),则仅返回第一个命中结果) 2. MISP 用于 SPLUNK:提供 2 个 Splunk 警报操作 * 一个操作用于创建新事件,或者如果您提供 eventid(或 UUID),则**编辑**现有事件。这允许跨多个警报触发为 misp 事件做贡献。 * 一个操作用于在 MISP 实例中增加属性目击次数。 ## 使用案例 ### 构建仪表板 您可以从 MISP 实例获取最新属性并将它们保存在索引下(例如 index=misp)。 然后可以使用 [此模板](docs/dashboard_examples/misp_charts.xml) 构建仪表板。结果应该类似于 [此视频](https://www.youtube.com/watch?v=H2Z3gwJW7Fc&feature=youtu.be) 感谢 @ran2 的分享! ### 在 Splunk 日志中搜寻 来自 MISP 的最新 IOC > Splunk 中的保存搜索 ### 基于自动化沙箱创建(或编辑)事件 如果您将分析输出推送到 Splunk,则可以自动化创建事件 沙箱输出日志 > 保存搜索以进行限定、清理(去重、移除 Alexa 头部等)并准备表格(misp_*, fo_*, eo_* 和 no_*)> 设置 splunk 警报以在 MISP 中创建事件 * 仅导入带有 misp_ 前缀(或 fo_ 用于文件对象,eo_ 用于电子邮件对象,no_ 用于 domain-ip 对象)的字段 * **>=3.2.2 版本中的新功能** 可以通过编辑 lookup/misp_datatypes.csv 将附加字段添加到 MISP 事件中,参见 [此示例](README/misp_datatypes.csv.sample)。这将提高与 Enterprise Security Adaptative response 的兼容性 * 建议:对于对象,请验证要创建的字段名称 [Object definitions](https://github.com/MISP/misp-objects/tree/master/objects) * 如果您提供 eventid,该事件将更新属性和对象,而不是创建新事件。**警告**:显然,如果您多次提交相同的输入,**API 确实会创建重复的对象**。 ### 基于 Splunk 警报在 MISP 中进行目击 在 Splunk 中搜索属性值/uuid > 警报以增加 MISP 中这些值/uuid 的目击计数器(标准、误报、过期) >=3.2.2 版本中的新功能:您可以在警报配置中记录目击来源(静态字符串或内联字段) ### 保存搜索和 Enterprise Security App 提供了几个保存搜索,以便轻松创建 KV store 查找,供以后使用。默认行为是将新的事件属性追加到 KV store,但您可以切换为替换它。 基于这些搜索,您可以轻松创建本地 CSV 文件并将情报提供给 Enterprise Security App。 您也可以使用此示例(感谢 @xg-simon 分享): ``` | mispgetioc misp_instance=default_misp pipesplit=true add_description=true category="External analysis,Financial fraud,Internal reference,Network activity,Other,Payload delivery,Payload installation,Payload type,Persistence mechanism,Person,Social network,Support Tool,Targeting data" last=90d to_ids=true geteventtag=true warning_list=true not_tags="osint:source-type=\"block-or-filter-list\"" | eval ip=coalesce(misp_ip_dst, misp_ip_src, misp_ip) | eval domain=misp_domain | eval src_user=coalesce(misp_email_src, misp_email_src_display_name) | eval subject=misp_email_subject | eval file_name=misp_filename | eval file_hash=coalesce(misp_sha1, misp_sha256, misp_sha512, misp_md5, misp_ssdeep) | eval url=coalesce(misp_url,misp_hostname) | eval http_user_agent=misp_user_agent | eval registry_value_name=misp_regkey | eval registry_value_text=if(isnotnull(misp_regkey),misp_value,null) | eval description = misp_description | table domain,description,file_hash,file_name,http_user_agent,ip,registry_value_name,registry_value_text,src_user,subject,url,weight ``` ## 用法 - 自定义命令 * [mispgetioc](https://github.com/remg427/misp42splunk/blob/main/docs/mispgetioc.md) 利用 /attributes/restSearch 端点的生成命令 * [mispgetevent](https://github.com/remg427/misp42splunk/blob/main/docs/mispgetevent.md) 利用 /events/restSearch 端点的生成命令 * [mispcollect](docs/mispcollect.md) 利用 /attributes/restSearch 或 /events/restSearch 端点的事件生成命令 * [misprest](https://github.com/remg427/misp42splunk/blob/main/docs/misprest.md) 作为 MISP REST API 封装的生成命令。 * [mispsearch](https://github.com/remg427/misp42splunk/blob/main/docs/mispsearch.md) 流式命令 * [mispgetattribute](https://github.com/remg427/misp42splunk/blob/main/docs/mispgetattribute.md) 用于获取单个属性的流式命令 * [mispsight](docs/mispsight.md) 流式命令 - 用于 [更新 MISP](https://github.com/remg427/misp42splunk/blob/main/docs/mispalerts.md) 的 Splunk 警报操作 * 用于创建 MISP 事件的警报,可选择同时发布它们。 * 用于 MISP 中属性目击的警报。 - 每个自定义命令和警报操作都附带一个仪表板以演示如何使用它们。 * mispgetioc 例如用于生成命令(SPL 的第一行) ![mispgetioc](https://github.com/remg427/misp42splunk/blob/main/images/misp42_custom_command_mispgetioc_dashboard.png) * mispsearch 例如用于丰富事件的流式命令 ![mispsearch](https://github.com/remg427/misp42splunk/blob/main/images/misp42_custom_command_mispsearch_dashboard.png) * misprest 例如用于更通用的 MISP API 封装 ![misprest](https://github.com/remg427/misp42splunk/blob/main/images/misp42_custom_command_misprest_dashboard.png) * Create event 例如用于警报操作 ![misp_alert_create_evennt](https://github.com/remg427/misp42splunk/blob/main/images/misp42_alert_action_create_event_dashboard.png) ## 致谢 此应用程序的创建始于 https://github.com/xme/splunk/tree/master/getmispioc 所做的工作以及关于 MISP 交互的相关博客 https://blog.rootshell.be/2017/10/31/splunk-custom-search-command-searching-misp-iocs/。 ## 许可证 此应用程序 misp42splunk 采用 GNU Lesser General Public License v3.0 许可。
标签:API封装, ESC4, HTTP/HTTPS抓包, IOC获取, masscan, OSINT, SOAR, Splunk TA, Splunk应用, 告警联动, 威胁情报平台, 威胁指标, 态势感知, 恶意软件信息共享平台, 技术附加组件, 数据集成, 网络安全, 逆向工具, 隐私保护